Asterisk, ISDN und Speex

Caragon

Neuer User
Mitglied seit
10 Apr 2006
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen!
Ich betreibe einen Asterisk auf SUSE 10 mit einer AVM Fritz! Card PCI (chan_capi-cm 0.6.5)
ISDN (sowohl ein- als auch ausgehend) funktioniert wunderbar, solange man z.B. GSM, G711 oder ILBC etc. benutzt. Ich möchte aber gerne Speex benutzen, weil die Qualität mMn besser ist und die Bandbreite auch eine Rolle spielt.
Von SIP zu SIP ist das auch kein Problem, aber von SIP zu ISDN klappt das nicht.
Code:
Apr 10 12:25:23 WARNING[19970]: channel.c:2517 ast_request: No translator path exists for channel type CAPI (native 8) to 512
Apr 10 12:25:23 NOTICE[19970]: app_dial.c:1012 dial_exec_full: Unable to create channel of type 'CAPI' (cause 0 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
Ich habe schon gesehen, dass show translation für Speex auch keine Werte anzeigt.

Speex ist installiert und auch erlaubt (auch am Softphone[X-Lite])
Ist es überhaupt möglich, zwischen Speex und ISDN zu transcodieren? Bei allen Beiträgen, bei denen die Ausgabe von show translation bisher gepostet wurde, habe ich - wie bei mir - unter Speex nie Einträge gesehen...

Danke für die Hilfe!

Caragon
 
Hallo Caragon,
ich nutze kein Suse sondern Debian und da bekomme ich folgende Ausgabe.
Code:
*CLI> show translation
         Translation times between formats (in milliseconds)
          Source Format (Rows) Destination Format(Columns)

         g723   gsm  ulaw  alaw  g726 adpcm  slin lpc10  g729 speex  ilbc
   g723     -     -     -     -     -     -     -     -     -     -     -
    gsm     -     -     2     2     4     2     1    23     -    36    23
   ulaw     -     4     -     1     4     2     1    23     -    36    23
   alaw     -     4     1     -     4     2     1    23     -    36    23
   g726     -     5     3     3     -     3     2    24     -    37    24
  adpcm     -     4     2     2     4     -     1    23     -    36    23
   slin     -     3     1     1     3     1     -    22     -    35    22
  lpc10     -     6     4     4     6     4     3     -     -    38    25
   g729     -     -     -     -     -     -     -     -     -     -     -
  speex     -     6     4     4     6     4     3    25     -     -    25
   ilbc     -     6     4     4     6     4     3    25     -    38     -

Installiert ist das so

apt-get install libspeex-dev
apt-get install speex

gefolgt von
make install ;im Asterisk src Ordner

Gruß Mabo
 
Speex & Co.

Tja, das hat leider auch nix gebracht. Speex ist installiert und funktioniert ja auch von Softphone zu Softphone. Komisch, dass es nicht angezeigt wird.
show translation zeigt nach wie vor:
Code:
*CLI> show translation
         Translation times between formats (in milliseconds)
          Source Format (Rows) Destination Format(Columns)

         g723   gsm  ulaw  alaw  g726 adpcm  slin lpc10  g729 speex  ilbc
   g723     -     -     -     -     -     -     -     -     -     -     -
    gsm     -     -     2     2     2     2     1     3     -     -    19
   ulaw     -     2     -     1     2     2     1     3     -     -    19
   alaw     -     2     1     -     2     2     1     3     -     -    19
   g726     -     2     2     2     -     2     1     3     -     -    19
  adpcm     -     2     2     2     2     -     1     3     -     -    19
   slin     -     1     1     1     1     1     -     2     -     -    18
  lpc10     -     3     3     3     3     3     2     -     -     -    20
   g729     -     -     -     -     -     -     -     -     -     -     -
  speex     -     -     -     -     -     -     -     -     -     -     -
   ilbc     -     3     3     3     3     3     2     4     -     -     -
:noidea:
 
Es funktioiniert von softphone zu softphone, da asterisk den speex nur durchreicht. Du müsstest, falls speex richtig eingerichtet ist, unter /modules ein modul codec_speex.so finden (ebenfalls mit show modules). Falls nicht ist der codec nicht da!
Ausserdem benötigt speex eine eigene lib libspeex.so.1 die ebenfalls vorhanden sein muss!
 
Alles klar

Danke für die schnelle Hilfe, auch an Mabo, den ich wohl etwas missverstanden habe, obwohl er mir den entscheidenden Hinweis mit dem speex-devel schon gegeben hatte. Es funktioniert jetzt!

Code:
*CLI> show translation
         Translation times between formats (in milliseconds)
          Source Format (Rows) Destination Format(Columns)

         g723   gsm  ulaw  alaw  g726 adpcm  slin lpc10  g729 speex  ilbc
   g723     -     -     -     -     -     -     -     -     -     -     -
    gsm     -     -     2     2     2     2     1     3     -    37    21
   ulaw     -     2     -     1     2     2     1     3     -    37    21
   alaw     -     2     1     -     2     2     1     3     -    37    21
   g726     -     2     2     2     -     2     1     3     -    37    21
  adpcm     -     2     2     2     2     -     1     3     -    37    21
   slin     -     1     1     1     1     1     -     2     -    36    20
  lpc10     -     2     2     2     2     2     1     -     -    37    21
   g729     -     -     -     -     -     -     -     -     -     -     -
  speex     -     3     3     3     3     3     2     4     -     -    22
   ilbc     -     3     3     3     3     3     2     4     -    38     -

Danke nochmal

Caragon
 
zu früh gefreut

Ok, es klappt zwar mit der Verbindung, jedoch ist die Sprachqualität miserabel, was auch nicht verwunderlich ist, denn ich bekomme folgende Meldungen:
Apr 11 10:39:09 WARNING[29275]: codec_speex.c:278 speextolin_framein: Out of buffer space
Apr 11 10:39:09 WARNING[29275]: codec_speex.c:278 speextolin_framein: Out of buffer space
Apr 11 10:39:09 WARNING[29275]: codec_speex.c:278 speextolin_framein: Out of buffer space
usw...
Die codecs.conf sieht bei mir folgendermaßen aus:
[speex]
quality => 3
complexity => 3
enhancement => true
vad => true
vbr => true
abr => 0
vbr_quality => 4
dtx => false
preprocess => false
pp_vad => false
pp_agc => false
pp_agc_level => 8000
pp_denoise => false
pp_dereverb => false
pp_dereverb_decay => 0.4
pp_dereverb_level => 0.3
[plc]
genericplc => true

Das Problem scheint auch irgendwie bekannt zu sein, jedoch habe ich nirgendwo einen Lösungsansatz gefunden. Gibt es damit Erfahrungen?

Gruß
Caragon

EDIT: Übrigens versteht man denjenigen, der das Telefon benutzt am Softphone gut, denjenigen, der am Softphone sitzt am Telefon so gut wie gar nicht
 
Zuletzt bearbeitet:
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,887
Beiträge
2,303,977
Mitglieder
378,565
Neuestes Mitglied
BenGradish