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

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)

Zudem muss im Coder noch die Funktion aktiviert werden

Dialogic

Dialogic: Comfort Noise with Lync Server 2010 Mediation Server
http://www.dialogic.com/den/forums/p/8361/31423.aspx
DMG web interface --> VoIP --> Media --> Voice Activity Detection (ON by default)

NET

noch nicht beschrieben
Leider habe ich keinen Zugriff auf ein NET-Gateway

Im Zweifelsfall dann einfach wieder im Lync-Eventlog nachschauen, dass es keine Warnung mit der ID 25073 gibt.

Weitere Links