Bei der Codec-Aushandlung ist folgendes üblich:
Jedes Endgerät unterstützt PCMA (=G.711 A-law) und PCMU (=G.711 µ-law) und eventuell andere Codecs. Das A-seitige Endgerät (des Rufenden) wählt einen Codec aus der Liste der möglichen Codecs aus (Kriterien der Auswahl sind Endgeräte abhängig) und schickt diesen Codec als "preferred" mitsamt der Codec-Liste (eigentlich ist die gesamte Liste priorisiert) an den SIP-Provider. Dieser erhält von der B-Seite (vom Endgerät des Gerufenen, oder vom Media Gateway MG ins Festnetz) wiederum eine Liste der dort unterstützten Codecs zurück (die Liste des MG ist manchmal auch fest beim SIP-Providor hinterlegt). Durch Listenabgleich wird jetzt der Codec der A-Seite mit der höchsten Priorität ausgewählt, der auch in der B-seitigen Liste vorkommt. Da G.711 grundsätzlich vorhanden ist, kommen die Verbindungen immer mit zumindest G.711 zustande.
Beispiel:
A-Seite: Prio 1 G.726, Prio 2 G.711
B-Seite: nur G.711 unterstützt
Ergebnis: G.711 wird ausgewählt
Würde B auch G.726 unterstützen, dann würde G.726 ausgewählt werden.
DTMF Übertragung:
Bei komprimierenden Codecs (das sind alle außer G.711) kann DTMF nicht gesichert übertragen werden, was zu Problemen führen kann, wenn z.B. mit DTMF Nachwahl ein Dienst ausgewählt werden muss.
Es gibt jetzt zwei Möglichkeiten DTMF sicher zu übertragen:
1) immer G.711 verwenden
2) RFC2833, hierbei werden DTMF Töne vom Endgerät (oder dem MG)erkannt und in extra gekennzeichnete Datenpakete im RTP Stream übertragen und von der B-Seite (Endgerät bzw. Media Gateway) wieder in Töne zurückverwandelt. Die Töne werden dabei aus dem eigentlichen RTP Stream gelöscht, damit es beider Rückwandlung zu keiner Vermischung kommt.
Ob die FBF jetzt RFC2833 unterstützt ist mir nicht bekannt (momentan wohl noch nicht). Deshalb habe ich bei mir fest den G.711 Codec ausgewählt.
FAX Übertragung:
Auch hier machen die komprimierenden Codecs Probleme, so dass die Faxgeräte sich nicht mehr verstehen.
G.711 bietet hier nur bedingt Abhilfe, als erstes muss die VAD (Voice Activity Detection) als Störenfried abgeschaltet werden. Weiterhin stört dann aber noch immer die Echo Cancellation (EC), die normalerweise immer aktiv ist. Sie kann soweit stören, dass sich die Faxgeräte wieder nicht verstehen.
Abhilfe würde hier der sog. G.711 im CLEARMODE bringen (RFC4040), bei dem VAD, EC abgeschaltet ist und zudem der Jitterbuffer fixiert wird.
Jetzt erst wäre FAX Übertragung (T.30) einigermaßen möglich. Da man zwar in der FBF die VAD abschalten kann, nicht jedoch die beiden anderen (FC und Jutterbuffer), ist eine saubere FAXoIP Übertragung nicht möglich (in anderen Threads kann man über die Erfolgsrate nachlesen).
Etwas moderner, aber aufwendiger, wäre FAX Übertragung nach T.38. Hier wird das T.30 Protokoll des Faxgerätes auf dem A-seitigen Endgerät abgeschlossen (die Faxtöne empfangen und bewertet), auf T.38 umgesetzt und als Datenpackete übertragen. Die B-Seite macht es dann umgekehrt und setzt das T.30 (also die Faxtöne) wieder auf.
Beides bedingt eine nicht einfache Faxerkennung (basierend auf dem Faxpilotton). Hat man z.B. G.726 oder G.711 zuvor in der Codec Aushandlung vereinbart muss bei Faxerkennung auf RFC4040 oder T.38 umgeschaltet werden. Die genaue Umschaltprozedur ist momentan noch nicht endgültig standardisiert.
So, das war jetzt doch etwas länglich.
Gruß
BoxUser