MWI - Message Waiting Indicator

Exchange 2010 kann mittlerweile "Message Waiting" per SIP senden, wenn das Gateway die Daten auch weiter leiten kann. Details weiter unten

Bei Telefonanlagen mit Komforttelefonen gibt es meist eine Anzeige, wenn eine Nachricht auf der Sprachmailbox vorliegt. Nun ist ja Exchange 2007/2010 die "Voicemail" für OCS und andere Anlagen. Allerdings kann Exchange natürlich nicht wissen, welches Telefon sie nutzen und daher dort keine "Lampe" einschalten.

Umgekehrt kenne ich noch kein Telefon, welches z.B. per MAPI, WebDav oder WebServices in das "Postfach" des Benutzers schauen kann, um nach "Voice Mails" zu suchen. Das wäre auch nicht wirklich sinnvoll, wenn jedes Tischtelefone z.B. alle paar Sekunden das Postfach des Benutzers öffnen würde. Also muss eine andere Lösung her.

Exchange 2010 MWI mit SIP

Hier mal die beiden Mitschnitte einer SIP-Meldung von Exchange 2010 zum Tischtelefon. Der Exchange 2010 Server ist hier mit einem Gateway verbunden. Es muss natürlich sichergestellt sein, dass das Gateway diese Meldungen auch versteht und an die TK-Anlage (z.B. per QSIG und ISDN-Anbindung) weiter gibt.

Hier die Meldung, dass eine Sprachmail in der Mailbox hinterlassen wurde:

NOTIFY sip:613@10.1.1.2:5060;User=phone SIP/2.0
FROM: <sip:e2010.netatwork.test:5067;transport=Tcp;ms-opaque=xxxx>;epid=xxxx;tag=xxxx
TO: <sip:613@10.1.1.2:5060;User=phone>
CSEQ: 1 NOTIFY
CALL-ID: 4334affc54c222e2d52a8aca42d9e3b88
MAX-FORWARDS: 70
VIA: SIP/2.0/TCP 10.1.1.6:34646;branch=xxxx
CONTACT: <sip:613@10.1.1.2:5060;User=phone>
CONTENT-LENGTH: 97
EVENT: message-summary
SUBSCRIPTION-STATE: terminated User-AGENT: RTCC/3.1.0.0
CONTENT-TYPE: application/simple-message-summary

Messages-Waiting: yes
Message-Account: sip:613@10.1.1.2:5060;User=phone
Voice-Message: 1/0

Call Record ID #3

Meldung zum Abschalten der MWI-Lampe.

NOTIFY sip:613@10.1.1.2:5060;User=phone SIP/2.0
FROM: <sip:e2010.netatwork.test:5067;transport=Tcp;ms-opaque=xxxx>;epid=xxxx;tag=xxxx
TO: <sip:613@10.1.1.2:5060;User=phone>
CSEQ: 2 NOTIFY
CALL-ID: f44da112218dc1afb14ffcd90750578d
MAX-FORWARDS: 70
VIA: SIP/2.0/TCP 10.1.1.6:50787;branch=xxxx
CONTACT: <sip:613@10.1.1.2:5060;User=phone>
CONTENT-LENGTH: 96
EVENT: message-summary
SUBSCRIPTION-STATE: terminated User-AGENT: RTCC/3.1.0.0
CONTENT-TYPE: application/simple-message-summary

Messages-Waiting: no
Message-Account: sip:613@10.1.1.2:5060;User=phone
Voice-Message: 0/1

MWI, OCS und SNOM

Zu Zeiten von OCS2007R2 konnte ich auch mein SNOM Telefon direkt mit OCS verbinden und eine MWI-Anzeige hat. Wenn ich z.B. auf den Knopf für Voicemail drücke, dann verbindet sich das Snom auch direkt mit dem Exchange 2007 UM-Server. Aber leider kann es keine MWI-Lampe anschalten, da es natürlich nicht in das Exchange Postfach schaut und es keine MWI-Funktion bei Exchange 2007 gibt.

Aber natürlich konnte eine Software die MWI-Lampe des SNOM per SIP Setzen. Siehe auch

Mit dem passenden SIP-Paket kann man also die "Lampe" und die Anzeige im LCD schalten. Also sollte folgendes es möglich sein, einen Dienst zu entwickeln, der auf einem Server läuft und im wesentlichen folgendes macht

  1. holt sich die Liste der User aus OCS, die an einem SNOM-Telefon angemeldet sind (z.B. jede Minute)
  2. Prüft, welche Benutzer Exchange 2007 UM Enabled sind
  3. Überwacht die Mailboxen der User, für die dies zutrifft, z.B. per WebService Notification Services (z.B. Subscribe Operation http://msdn.microsoft.com/en-us/library/aa566188.aspx)
  4. Bei einer Änderung wird ermittelt, wie viele Voicemails "ungelesen" sind und aktualisiert den Status

Leider konnte ich noch nicht ermitteln, ob per API auch die IP-Adresse des Endpunkts zu erhalten ist.

Weitere Links