[Frage] Transcoding vermeiden - wie wählt 3cx den Codec?

voipie

Neuer User
Mitglied seit
16 Mai 2007
Beiträge
70
Punkte für Reaktionen
2
Punkte
8
Hallo,

ich habe Qualitätsprobleme und mittlerweile habe ich die Vermutung, dass es an einer unnötigen Transcodierung liegen könnte. Daher folgende Frage:

Mit welchen Optionen stelle ich sicher, dass mein Client und der Sip-Trunk den kleinsten gemeinsamen Nenner ohne Transcodierung verwenden?

(Die Präferenzen der Clients sollen die eigentlichen Möglichkeiten widerspiegeln und nicht künstlich eingeschränkt sein, andere Trunks unterstützen andere Codecs)

Beispiel:
Mein Client habe folgende Präferenzen:
1. G.722
2. G.711
3. GSM

Einer der Trunks unterstütze nur
G.711 und GSM

(der Vollständigkeit halber: Gegenseite hinter dem Trunk unterstütze grundsätzlich alle Codecs)

"PBX überträgt Audio" sei deaktiviert.

Reicht das um sicherzustellen, dass sich das auf G.711 einigt? Kann ich das mit den Re-Invite Optionen oder sonstigem beeinflussen?

Ich habe die Befürchtung, dass trotz deaktivierter PBX-überträgt Audio Option, der Client einen Codec wählt, den der Trunk nicht unterstützt und dadurch transcodiert wird.

Ist es von Bedeutung, dass der Benutzer die Berechtigung hat, eine Aufzeichnung zu starten?


Ich frage hier bewusst, nach der sinnvollen Konfiguration. Ich hab schon einwenig mit den Paketmitschnitten rumgespielt, leider habe ich teilweise Probleme den Codec zu erkennen, meine Hoffnung ist zunächst mit einer "korrekten" Konfiguration anzufangen.

Es geht mir hier ums Prinzip. Ich weiss, ich könnte bei den Clients Codecs rausnehmen, nur Trunks mit den gewünschten Codecs wählen etc.
 
Zuletzt bearbeitet:
Hallo Voipie,

Generell sind auf dem System 4 Möglichkeiten Codec Priorität zu setzen.

1.Nebenstelle "Telefon Provisionierung"(mit welchem Codec das Telefon mir der Anlage kommuniziert)
2.SIP Trunk "Options"(wie PBX Anlage mit Provider kommuniziert)
3.Dashboard->Einstellungen->PBX-> Codec Priorität Lokal(wie Anlage mit Telefonen/Gateways im Lokalen Netzwerk)
4.Dashboard->Einstellungen->PBX->Codec Priorität Extern(wie Anlage mit extenernen Telefonen (Remote STUN)/Clients kommuniziert)

Schau bitte folgende Anleitung an https://www.3cx.com/blog/docs/media-server/
Hier wird Ihnen alles zum Transcoding beschrieben.

Gruß
Ilias
 
  • Like
Reaktionen: voipie
Danke Ilias,

Punkte 3. und 4. waren mir nicht geläufig, gut zu wissen. Ich hab das gemäss der verlinkten Anleitung nochmal alles überprüft bzw. korrigiert und viele Wireshark Mitschnitte gemacht.

Mein Zwischenfazit (werde noch einige Zeit brauchen, das zu optimieren, wollte meine Frage und die Antwort nicht offen stehen lassen):
1. Ich hatte die falsche Annahme, dass Client, 3cx und Trunk recht einfach einen gemeinsamen Nenner finden können. Ich muss dass mal systematisch beobachten, aber es scheint mir, als ob 3cx und Trunk einen Codec aushandeln, und 3cx und Client sich unabhängig auf etwas einigen. Das mag mit meiner Netzwerkstruktur zusammenhängen (3cx in einer VM auf externem Host, Clients in einem NAT, App via Tunnel..., hängt also alles mit obigem Link zusammen).
2. Ich habe jetzt trotz unterschiedlicher Trunks mit unterschiedlicher Codec Unterstützung alles auf G711 runtergestellt, auch wenn oftmals G722 extern von beiden Seiten und Trunk möglich wäre und IMHO bessere Resultate liefert. Damit lässt sich die Transkodierung einigermassen bekämpfen. Jetzt muss ich noch schauen, wie ich für den Bedarfsfall einen stärker komprimierenden Codec für gelegentliche mobile Nutzung ausserhalb schneller Anbindung integriert bekomme. Ich denke aber, dass selbst bei Transkodierung der Qualitätsverlust bei schmalbandigem Codec weniger wahrnehmbar sein dürfte.
3. Ganz grosser Wunsch an 3cx: Bitte macht es doch in den Anrufprotokollen oder so einfach erkennbar, wann Transkodiert wird, bzw. welche Codecs bei Client und Trunk zur Anwendung kommen. Oder noch besser eine optinale Debug-Datei, aus der die Codec-Aushandlung ersichtlich wird. Ich hatte jetzt bei der Fehlersuche so viele ähnliche Probleme gefunden, und die Fehlersuche via Wireshark ist echt umständlich und beisst sich auch mit möglicher Verschlüsselung.
 
Hallo Voipie,

Vielen Dank für deine Rückmeldung und die Infos.

Ich werde dein punkt 3 intern weitergeben.

Gruß
Ilias
 
  • Like
Reaktionen: easyinttel.de
Leider hat sich bei den Anrufprotokollen in den letzten 2 Jahren noch nichts getan. Gerade für die Fehlersuche wären die Anrufprotokolle ein erster Anlaufpunkt.
 
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.