SIP im Detail - OCS Message senden
Hinweis. Ich habe die Domain msxfaq.de durch msxfaq.local ersetzt, um die verwendeten Mailadressen zu verbergen. Im Netmon Capture sind die Daten der TestUmgebung enthalten.
Der Client sendet eine "Einladung" für den Empfänger an den OCS-Server
INVITE sip:administrator@msxfaq.local SIP/2.0 Via: SIP/2.0/TCP 192.168.55.101:1070 From: <sip:frank.carius@msxfaq.local>;tag=f55ea93fed;epid=fe4674ab36 To: <sip:administrator@msxfaq.local> Call-ID: d4a500083f8461883ebe2d10e9d4a1d1 CSeq: 1 INVITE Contact: <sip:frank.carius@msxfaq.local;opaque=User:epid:v6FMvHl74VeKVV_t7a_DxgAA;gruu> User-Agent: CPE/2.0.467.0 COMO/2.0.467.0 (Communicator Mobile 2.0) Roster-Manager: sip:frank.carius@msxfaq.local EndPoints: <sip:frank.carius@msxfaq.local>, <sip:administrator@msxfaq.local> Proxy-Authorization: NTLM qop="auth", realm="SIP Communications Service", opaque="031F7F6E", targetname="srv01.msxfaq.local" Content-Type: application/sdp Content-Length: 156 v=0 o=- 0 0 IN IP4 192.168.55.101 s=session c=IN IP4 192.168.55.101 t=0 0 m=message 5060 sip null a=accept-types:text/plain application/ms-imdn+xml
Der Server quittiert diese Anfragen mit einem "100 Trying". Im Netmon Trace ist das Paket zweimal enthalten.
SIP/2.0 100 Trying Authentication-Info: NTLM rspauth="xxx", srand="211FDEA5", snum="9", opaque="031F7F6E", qop="auth", targetname="srv01.msxfaq.local", realm="SIP Communications Service" From: <sip:frank.carius@msxfaq.local>;tag=f55ea93fed;epid=fe4674ab36 To: <sip:administrator@msxfaq.local> Call-ID: d4a500083f8461883ebe2d10e9d4a1d1 CSeq: 1 INVITE Via: SIP/2.0/TCP 192.168.55.101:1070;received=10.1.1.254;ms-received-port=59033;ms-received-cid=200 Content-Length: 0
Kurze Zeit später kommt die Erfolgsmeldung vom Server
SIP/2.0 200 OK Authentication-Info: NTLM rspauth="xxx", srand="A0E0A01C", snum="10", opaque="031F7F6E", qop="auth", targetname="srv01.msxfaq.local", realm="SIP Communications Service" Via: SIP/2.0/TCP 192.168.55.101:1070;received=10.1.1.254;ms-received-port=59033;ms-received-cid=200 From: "Frank Carius"<sip:frank.carius@msxfaq.local>;tag=f55ea93fed;epid=fe4674ab36 To: "" <sip:administrator@msxfaq.local>;epid=8c653a63ce;tag=438b677064 Call-ID: d4a500083f8461883ebe2d10e9d4a1d1 CSeq: 1 INVITE Record-Route: <sip:srv01.msxfaq.local;transport=tcp;ms-role-rs-from;ms-role-rs-to;ms-ent-dest;lr;ms-route-sig=xxx-xx> Contact: <sip:Administrator@msxfaq.local;opaque=User:epid:TL8CHgIjFFqJfCIE_7aPugAA;gruu> User-Agent: UCCP/2.0.6362.0 OC/2.0.6362.0 (Microsoft Office Communicator) Require: com.microsoft.rtc-multiparty Content-Type: application/sdp Content-Length: 220 v=0 o=- 0 0 IN IP4 10.1.1.10 s=session c=IN IP4 10.1.1.10 t=0 0 m=message 5060 sip sip:administrator@msxfaq.local a=accept-types:text/rtf application/x-ms-ink image/gif multipart/alternative application/ms-imdn+xml
Mein Client bestätigt die Erfolgsmeldung des Servers mit einem ACK
ACK sip:srv01.msxfaq.local;transport=tcp;ms-role-rs-from;ms-role-rs-to;ms-ent-dest;lr;ms-route-sig=xx-xx SIP/2.0 Via: SIP/2.0/TCP 192.168.55.101:1070 Max-Forwards: 70 From: <sip:frank.carius@msxfaq.local>;tag=f55ea93fed;epid=fe4674ab36 To: "" <sip:administrator@msxfaq.local>;epid=8c653a63ce;tag=438b677064 Call-ID: d4a500083f8461883ebe2d10e9d4a1d1 CSeq: 1 ACK Route: <sip:Administrator@msxfaq.local;opaque=User:epid:TL8CHgIjFFqJfCIE_7aPugAA;gruu> User-Agent: CPE/2.0.467.0 COMO/2.0.467.0 (Communicator Mobile 2.0) Proxy-Authorization: NTLM qop="auth", realm="SIP Communications Service", opaque="031F7F6E", targetname="srv01.msxfaq.local"" Content-Length: 0
Nun "steht" ja die Verbindung über den OCS-Server als Proxy und mein Client kann nun die Meldung senden:
MESSAGE sip:srv01.msxfaq.local;transport=tcp;ms-role-rs-from;ms-role-rs-to;ms-ent-dest;lr; ms-route-sig=aaBVyvOm7bfeYDG5ASvO-xxx SIP/2.0 Via: SIP/2.0/TCP 192.168.55.101:1070 Max-Forwards: 70 From: <sip:frank.carius@msxfaq.local>;tag=xxx;epid=xxx To: "" <sip:administrator@msxfaq.local>;epid=xxx;tag=xxx Call-ID: d4a500083f8461883ebe2d10e9d4a1d1 CSeq: 2 MESSAGE Route: <sip:Administrator@msxfaq.local;opaque=User:epid:xxx;gruu> User-Agent: CPE/2.0.467.0 COMO/2.0.467.0 (Communicator Mobile 2.0) Supported: timer Proxy-Authorization: NTLM qop="auth", realm="SIP Communications Service", opaque="xxx", targetname="srv01.msxfaq.local" Content-Type: text/plain; charset=UTF-8 Content-Length: 5 Hallo
Sie können am Ende das "Hallo" sehen. Der Server leitet diese Nachricht an die Gegenseite weiter, bekommt von dort die Bestätigung und sendet an meinen Client wieder das OK
SIP/2.0 200 OK Authentication-Info: NTLM rspauth="xxx", srand="0D4AB467", snum="11", opaque="xxx", qop="auth", targetname="srv01.msxfaq.local", realm="SIP Communications Service" Via: SIP/2.0/TCP 192.168.55.101:1070;received=10.1.1.254;ms-received-port=59033;ms-received-cid=200 From: <sip:frank.carius@msxfaq.local>;tag=xxx;epid=xxx To: "" <sip:administrator@msxfaq.local>;epid=xxx;tag=xxx Call-ID: d4a500083f8461883ebe2d10e9d4a1d1 CSeq: 2 MESSAGE Contact: <sip:Administrator@msxfaq.local;opaque=User:epid:TL8CHgIjFFqJfCIE_7aPugAA;gruu> User-Agent: UCCP/2.0.6362.0 OC/2.0.6362.0 (Microsoft Office Communicator) Content-Length: 0
Danach wird die Verbindung einfach wieder abgebaut. Es ist natürlich erschreckend, dass für de Übertragung eines "HALLO" mit 5 Zeichen insgesamt 12 Pakete mit ca. 6 Kilobyte SIP-Daten übertragen werden.
Weitere Links
- SIP-Trace
- SIP im Detail
-
VoIP
Telefonieren über IP - Exchange 2007 UM nutzt auch VoIP -
VoIP Sniffer
VoIP Sprachdaten mit Wireshark analysieren. - MRAS Edge
- ICE und Kandidaten
- SIP Service Examples
http://www.tech-invite.com/Ti-sip-service-1.html
Sehr schöne Seite mit SIP-Beispielen - To UDP, or not to UDP, that is the question…
http://communicationsserverteam.com/archive/2008/05/23/196.aspx