Comfort Noise
Rauschen im Tonsignal ist normalerweise nicht gewünscht, zumindest wenn es um hoch qualitative Audiosignale geht. Aber beim Telefon wäre eine "Rauschfreie Verbindung" sogar stören. Wir Menschen sind es nun mal gewohnt, dass es beim Telefonieren immer ein bisschen rauscht, wenn die Verbindung besteht. Natürlich "überhören" wir subjektiv das rauschen und es fällt beim Gespräch nicht weiter auf, aber wenn die Kommunikationspartner eine Pause einlegen, dann können moderne VoIP-Endpunkte diese "Stille" erkennen und übertragen dann einfach keine Daten mehr.
When using the Session Description Protocol (SDP) [11] to specify RTP
payload information, the use of comfort noise is indicated by the
inclusion of a payload type für CN on the media description line.
When using CN with the RTP/AVP profile [10] and a codec whose RTP
timestamp clock rate is 8000 Hz, such as G.711 (PCMU, static payload
type 0), the static payload type 13 für CN can be used:
m=audio 49230 RTP/AVP 0 13
Quelle: Real-time Transport Protocol (RTP) Payload für Comfort Noise (CN)
http://tools.ietf.org/html/rfc3389
Die Empfängerseite kann mangels Daten natürlich nicht wiedergeben und ist einfach "still". Aber eben so still, dass unwillkürlich die Teilnehmer fragen, ob der andere noch an der Leitung ist. Eine absolut "stille" Leitung wird oft auch als "Tote Leitung" angesehen, d.h. das Gespräch wurde absichtlich oder unabsichtlich beendet.
Daher sollte bei einem Telefonat immer ein kleines bisschen "Rauschen" auf der Leitung sein um die aktive Verbindung anzuzeigen. Nun macht es natürlich keinen Sin, "Rauschen" beim Sender zu erzeugen, zu komprimieren und über die Leitung zu übertragen. Daher gibt es die Funktion, "Stille" als solche zu erkennen und im RTP/SRTP-Datenstrom zu kennzeichnen. Wer mit NetMon daher eine solche Verbindung mitschneidet, kann dies sogar erkennen.
Der Sender erkennt also "Stille" und kennzeichnet dies mit "CN" (Comfort Noise) und es wird Bandbreite und Codierleistung gespart. Diese Funktion wird auch als "Voice Activitiy Detection, VAD" bezeichnet und ist natürlich erforderlich, damit CN überhaupt umgesetzt werden kann
- Voice activity detection
http://en.wikipedia.org/wiki/Voice_activity_detection - Comfort noise
http://en.wikipedia.org/wiki/Comfort_noise
Der Empfänger sollte dann natürlich dieses Kennzeichen verstehen und seinerseits Richtung "Mensch" wieder ein Rauschen generieren. Das gilt also auch für Gateways, die z.B. Sprache aus dem Telefonnetz nach VoIP umsetzen und zurück.
Lync und Comfort Noise
In Verbindung mit Lync ist der Einsatz von Comfort Noise natürlich Standard aber nicht verpflichtend, d.h. wenn eine Gegenstelle z.B. kein "Comfort Noise" unterstützt, dann ist das nicht weiter schlimm. Soweit ich weiß, muss ein Gateway aber Comfort Noise unterstützen, wenn es für Lync "Zertifiziert" sein will.
Allerdings vermeldet Lync als Warnung im Eventlog, wenn eine Gegenstelle kein "Comfort Noise" versteht.
Hier noch mal aus suchmaschinentaugliche Textversion:
Log Name: Lync Server Source: LS Mediation Server Date: 27.07.2011 13:20:20 Event ID: 25073 Task Category: (1030) Level: Warning Keywords: Classic User: N/A Computer: NAWLYNC001.netatwork.de Description: The Mediation Server service has received a call that does not support comfort noise. This event is throttled after 5 calls from a single Gateway peer. The Mediation Server service has received a call that does not support comfort noise from the Gateway peer, mp112.netatwork.de Cause: The Gateway peer does not support comfort noise. Resolution: Please ensure the comfort noise option on the Gateway has been enabled.
DDDer Event ist ein "Hinweis", aber behindert das Gateway erst mal nicht. Die Events werden bei den ersten 5 Anrufen eben noch jedes Mal ausgegeben und dann reduziert.
Einstellungen auf dem Gateway
Eigentlich konnten alle Gateways, mit denen ich bislang zu tun hatte, auch Comfort Noise umsetzen. Allerdings kann es sein, dass diese Funktion per Default nicht aktiviert ist. Die Einstellung kann einmal im Bereich der Codecs zu finden als auch eine globale Einstellung sein. Schließlich muss im Gateway ein "Rauschgenerator" vorhanden sein, der eben dieses Rauschen für Telefonteilnehmer generiert, wenn vom VoIP-System das Signal dazu kommt.
Umgekehrt muss das Gateway auch "Stille", bzw. "nur Rauschen" auf der Telefonseite erkennen, um das passende SDP-Paket per VoIP zu versenden. Schalten Sie einfach auf dem Gateway entsprechend die Option ein.
Gateway | Option |
---|---|
Ferrari |
Per Default
ist Comfort
Noise aktiv In
den erweiterten
VoIP-Parametern
kann diese
Einstellung
überprüft und
geändert werden |
Audiocodes |
Configuration->VoIP->Media->RTP/RTCP
Settings:
Comfort Noise
Generation
Negotiation
(ENABLED by
Default) Bei der neueren Firmware ist es hier
|
Dialogic |
Dialogic:
Comfort Noise
with Lync Server
2010 Mediation
Server |
NET |
noch nicht
beschrieben |
Im Zweifelsfall dann einfach wieder im Lync-Eventlog nachschauen, dass es keine Warnung mit der ID 25073 gibt.
Weitere Links
- SIP Trunking / DirectSIP
- SIP im Detail
- Real-time Transport Protocol
(RTP) Payload für Comfort Noise
(CN)
http://tools.ietf.org/html/rfc3389 - Comfort noise
http://en.wikipedia.org/wiki/Comfort_noise - Voice activity detection
http://en.wikipedia.org/wiki/Voice_activity_detection