Asterisk Codec Negotiation Patch

philwo

Neuer User
Mitglied seit
7 Mai 2005
Beiträge
99
Punkte für Reaktionen
0
Punkte
6
Hi!

Ich habe gerade etwas gefunden, was ich euch nicht vorenthalten will :-D Mich hats ewig genervt, dass Asterisk die Codecs nicht gescheit aushandelt. Folgende Situation:

Meine Snoms können u.a. G.722 und G.729. Ich habe in Asterisk den G.722 Transcoding Patch drinnen, Asterisk kann das also umwandeln.

Rufe ich jetzt ein anderes meiner Snoms an - kein Problem, als Codec wird G.722 direkt durchgereicht, wunderbar. :)

Rufe ich jetzt aber meinen Patton an, der kein G.722 kann, dafür aber G.729 bevorzugt.. tja.. was macht der Asterisk da? Er sagt dem Snom "Wir nehmen G.722" und dem Patton "Wir nehmen G.729" und transkodiert... obwohl das überhaupt nicht nötig wäre, die Sprachqualität verschlechtert und Bandbreite verschwendet.

Mit folgendem Patch ist Asterisk intelligenter und handelt dann zwischen den Snoms G.722 aus und zwischen Snom und Patton G.729 - alles ohne transcoding. :) Habe es jetzt seit ein paar Minuten laufen, funktioniert soweit ganz prima. :)

EDIT: http://www.b2bua.org/wiki/AsteriskCodecNegotiationPatch

EDIT2: Hm. Irgendwas spielt da noch nicht ganz so zusammen.. u.a. weil mein Outbound-Provider sich mit G.729 sehr merkwürdig verhält - ich habe das Gefühl, er gibt im SDP zwar an, dass es unterstüzt wird, aber wenn mans dann benutzen will und er sich nicht mehr dagegen wehren kann (im Snom nur noch G.729 als erlaubten Codec einstellen), kommt einfach keine Verbindung zu stande.

EDIT3: Okay, ohne G.722 Codec gehts bedeutend besser, funktioniert soweit ganz gut. Die Codec-Aushandlung ist nachwievor so ne Sache, aber der Patch macht es schon mal um einiges intelligenter (und vor allem konfigurierbarer). Was ich etwas nervig finde, ist, dass ich nicht mehr auf einen Blick sehen kann, welcher Codec denn nun gerade tatsächlich verwendet wird.. jedenfalls werd ich aus diesem Anzeigeformat (g729|alaw|ulaw) nicht schlau. Aber wozu gibts iftop - da sieht man recht gut ob das Telefon 20kbps oder 80 verbrät *gg*

Viele Grüße,
Philipp
 
Zuletzt bearbeitet:
Autsch... in der Aufregung gleich die URL vergessen :roll: Siehe oben, habs editiert.
 
Ich setze parallel hierzu die ast-agx-addons ein. Gibt es hier eine Lösung, da sich hier die Addons seitdem nicht mehr kompilieren lassen.....
 
Hallo,

Code:
asterisk*CLI> sip show channels
zeigt Dir an welcher Codec gerade auf den laufenden Gesprächen verwendet wird.

Grüße,
Klaus
 
Hast du dich im thread geirrt?
 
Hallo,

Code:
asterisk*CLI> sip show channels
zeigt Dir an welcher Codec gerade auf den laufenden Gesprächen verwendet wird.

Grüße,
Klaus

Ja, aber da kommt dann sowas wie "(g729|alaw|ulaw)" bei raus - da weiß ich jetzt immer noch nicht, welcher Codec auf dem Kanal gerade gesprochen wird, nur dass es einer von den beiden ist? Oder? :)
 
Hast du dich im thread geirrt?

glaub nicht, sondern nur auf:
Was ich etwas nervig finde, ist, dass ich nicht mehr auf einen Blick sehen kann, welcher Codec denn nun gerade tatsächlich verwendet wird.. jedenfalls werd ich aus diesem Anzeigeformat (g729|alaw|ulaw) nicht schlau.
geantwortet

Grüße,
Klaus
 
Ja, aber da kommt dann sowas wie "(g729|alaw|ulaw)" bei raus - da weiß ...
und was siehst Du wenn Du "show channel SIP/der_channel_den_du_sehen_wilst" ausführst? hier sollte dann bei Native, Write und Read eigentlich der Codec des Channels stehen

Grüße,
Klaus
 
Ah, interessant.. daran hatte ich nicht gedacht. Im Moment verwende ich allerdings wieder den "normalen" Asterisk der bei Debian mitgeliefert wird, also habe ich gerade keine Möglichkeit das zu überprüfen.. ich werde aber daran denken, wenn ich ihn mal wieder selbstkompiliere :)

Viele Grüße!
Philipp
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.