Codec-Matrix

Wenn zwei VoIP-Client miteinander kommunizieren wollen, laden Sie sich per "INVITE" ein und übermitteln dabei im Session Description Protocol neben den Kandidaten für die Verbindung auch die Codecs, die jeder Client anbietet. So können beide die Codecs für Audio und Video verwenden, die sie beide verstehen. Es ist dabei egal, ob es sich um eine "Punkt zu Punkt"-Kommunikation handelt oder um eine Konferenz. Bei einer Konferenz ist der Konferenzteilnehmer das eine Ende und die MCU der andere Teilnehmer. Klassische "Broadcast"-Meetings, bei dem ein Client an viele Ziele optimaler Weise per Multicast sendet, gibt es bei Konferenz in der Regel nicht.

Die Tabellen sind noch nicht vollständig

Audio (m=audio)

Auf der Seite Audiocodec habe ich die Funktionsweise und Anforderungen an die Digitalisierung von Audiodaten beschrieben und eine kurze Übersicht der verschiedenen Codecs aufgeführt. Suchen Sie dazu in Trace einfach nach "m=audio".

Nummer Codecname/Abtastung Bitrate

0

PCMU/8000

 

8

PCMA/8000

 

9

G722/8000

 

13

CN/8000

 

18

G729/8000

 

97

RED/8000

 

101

telephone-event/8000

 

103

SILK/8000

useinbandfec=1; usedtx=0

104

SILK/16000

useinbandfec=1; usedtx=0

111

SIREN/16000

bitrate=16000

112

G7221/16000

bitrate=24000

113

MP4A-LATM/32000

profile-level-id=2;object=2;bitrate=96000

114

x-msrta/16000

bitrate=29000

115

x-msrta/8000

bitrate=11800

116

AAC_LC/32000 (LifeSize 220)
AAL2-G726-32/8000  (Skype für Business CLient

 

117

G722/8000/2

 

118

CN/16000

 

123

G7221/32000

bitrate=48000

122

G7221/32000

bitrate=32000

121

G7221/32000

bitrate=24000

120

G7221/16000

bitrate=24000 (Lifesize)

Folgende Clients habe ich im laufe der Zeit bezüglich des Codec-Angebots aus Trace-Dateien ermittelt. Nur weil ein Client sehr viele Codec anbietet, ist es nicht besser als andere. Zudem hängt es natürlich auch davon ab, welche Codecs in den verschiedenen Geräten konfiguriert oder lizenziert sind.

Client
Codec-Reihenfolge
0 8 9 13 18 97 101 103 104 111 112 113 114 115 116 117 118 120 121 122

OCS2007R2 Audio MCU

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UCCAPI/4.0.7577.0 OC/4.0.7577.0 (Microsoft Lync 2010)
120 9 0 8 101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UCCAPI/15.0.4649.1000 OC/15.0.4649.1000 (Microsoft Lync)
117 114 104 9 112 111 0 8 116 115 103 97 13 118 101

 

 

 

 

 

UCCAPI/15.0.4709.1000 OC/15.0.4711.1002 (Skype für Business)
120 9 0 8 101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RTCC/4.0.0.0 MediationServer zur TK
8 13 101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MSExchangeUM/15.00.0995.028
114 9 112 111 0 8 116 115 13 118 97 101

 

 

 

 

 

 

 

 

OCS 2007R2 Client

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lync 2010 Client

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lync 2013 Client

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Skype für Business Client

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LifeSize Room 220/LS_RM2_5.0.1 (3)
113 116 123 122 121 120 9 18 0 8 101

 

 

 

 

 

 

 

 

 

 

Polycom

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Snom760/8.8.2.8-OCS
 9 0 8 115 101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AudioCodes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Yaelink

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lync Phone Edition

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Audiocodes-Sip-Gateway-Mediant 1000/v.6.40A.042.004
8 0 18 13 101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.te-systems.de XCAPI V3.3.153.0
8 0 101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

So können Sie bei zwei bekannten Endpunkten einfach durch einen Vergleich der Codecs ermitteln, welche Schnittmenge das Ergebnis ist. Welcher Codec dann genutzt wird, können die Clients abhängig von Netzwerkparametern auch während des Gesprächs ändern

Video (m=video)

Vergleichbar zu Audio finden wir in einem INVITE für eine Video-Verbindung (P2P) oder Konferenz auch die Codecs.

Nummer Codec-Name/Abtastung RTPMAP/xcaps

34

H263/90000

CIF4=1;CIF=1;QCIF=1
a=x-caps:34 2631:352:288:15.0:256000:1

96

H264/90000

profile-level-id=42801f;max-mbps=245000;max-fs=8192

97

H263-1998/90000

CIF4=1;CIF=1;QCIF=1

121

x-rtvc1/90000

 

122

X-H264UC/90000

 

123

x-ulpfecuc/90000

packetization-mode=1;mst-mode=NI-TC

Auch hier wieder die Übersicht der Clients

Client
Codec-Reihenfolge
34 96 97 121 122 123

OCS2007R2 Video MCU

 

 

 

 

Lync 2010 Video MCU

 

 

 

 

Lync 2013 Video MCU

 

 

 

 

 

 

UCCAPI/15.0.4709.1000 OC/15.0.4711.1002 (Skype für Business)
122 121 123

 

 

 

OCS 2007R2 Client

 

 

 

 

 

 

UCCAPI/4.0.7577.0 OC/4.0.7577.0 (Microsoft Lync 2010)
120 9 0 8 101

 

 

 

 

 

 

UCCAPI/15.0.4649.1000 OC/15.0.4649.1000 (Microsoft Lync)

 

 

 

Mac

 

 

 

 

 

Skype für Business Client

 

 

 

 

 

 

LifeSize Room 220/LS_RM2_5.0.1 (3)
96 97 34

T38 Fax (m=image)

Sollten Sie mal in die Verlegenheit kommen, ein Fax zu übertragen und per SIP einen T.38 Invite zu sehen, dann könnte der SDP folgendes enthalten:

User-Agent: www.te-systems.de XCAPI V3.3.153.0

m=image 60742 udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:14400
a=T38FillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxUdpEC:t38UDPRedundancy

Wer mit wem und wann

Über SIP werden Verbindungwünsche ausgetauscht, die in einem SDP-Nutzlastl neben den IP-Adresse auch die verschiedenen Codes enthalten, die die Teilnehmer sprechen können. Je nach Umgebung kommt dann der passende Codec zum Einsatz, wobei sich die Wahl auch im Betrieb ändern kann. Ein Codec-Wechsel ist nichts ungewöhnliches. Ich habe mal versucht hier eine Übersicht zu erstellen, welcher Client mit welchem Server welchen Codec einsetzt.

Hinweis: Das sind die "normalen" Codec. Ein Wechsel aufgrund von schlechten Bandbreiten es ist ein einigen Fällen möglich. Auch kann eine Konferenzrichtlinie (AudioBitRateKb) oder Call Admission Control den Codec beschränken.

Wer mit Wem Lync
Client
OCS
Cient
Mediation Media
Bypass
Konferenz ExUM RGS RGS Ansage
Unterstützte Codes

Silk
RTAudio

RTAudio

CU3:G711
CU4:RTAudio

G711

G722
Siren

G.711 μ-law
G.711 A-law
G.723.1

G.711 μ-law
G.711 A-law
G722

G.711 μ-law
G.711 A-law
G722

Lync Client

Silk
RTAudio

RTAudio

CU3:G711
CU4:RTAudio

G711

G722
Siren

RTAudio16

G711

G722

OCS Client

 

RTAudio

G711

n/a

Siren

?

G711

?

Mediation Server

 

 

RTAudio (?)(1)

G711

(2)

?

G711

?

Lync Room System

 

 

 

 

G722
Siren

 

 

 

Die noch nicht ausgefüllten Felder habe ich noch nicht ermittelt.

  • (1) Mediation zu Mediation
    Dies ist durchaus möglich, wenn Sie z.B. analoge Telefone an Lync anschließen und diese "durch Lync hindurch" nach extern anrufen. Sie kommen dann über ein Gateway herein und gehen über ein andere Gateway hinaus.
  • (2) Dieser Fall beschreibt die "Dialin-Konferenz"

Lync Clients beachten zusätzliche aber eventuell eingerichtete Bandbreitenbeschränkungen (CAC). dann kann es schon sein, dass der Client vielleicht sogar nur SIREN einsetzt, weil die Bandbreite nicht mehr als 40kbit zulässt.

Weitere Links