Lync 2013 Mobile Client Protokollierung
Wer auf dem Lync 2013 Client die Protokollierung" einschaltet, kann sehr gut erkennen, wie der Client mit dem Server kommuniziert. Es sind nicht mehr die MCX-Services, sondern die UCWA. Hier ein paar Beispiele:
- Start des Clients mit anmelden
GET https://lyncweb.netatwork.de/UCWA/v1/applications Request Id: 0x84a0e28 HttpHeader:Accept HttpHeader:X-MS-WebTicket xxxxx
- Anforderung eines WebTicket
POST https://lyncweb.netatwork.de/webticket/webticketservice.svc/mex Request Id: 0x19cbe98 HttpHeader:Accept text/xml, application/soap+xml, application/octet-stream HttpHeader:Content-Type application/soap+xml; charset=utf-8 <soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soap12:Header> <wsa:Action soap12:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</wsa:Action> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> </wsa:ReplyTo> <wsa:To soap12:mustUnderstand="1">https://lyncweb.netatwork.de/webticket/webticketservice.svc</wsa:To> </soap12:Header> <soap12:Body/></soap12:Envelope> </SentRequest>
- UCWA Anmeldung
POST https://lyncweb.netatwork.de/UCWA/v1/applications Request Id: 0x7504418 HttpHeader:Accept application/vnd.microsoft.com.UCWA+xml HttpHeader:Content-Type application/vnd.microsoft.com.UCWA+xml HttpHeader:X-MS-Namespace internal HttpHeader:X-MS-WebTicket xxxxx <input xmlns="http://schemas.microsoft.com/rtc/2012/03/UCWA"> <property name="culture">de-DE</property> <property name="endpointId">Ucmp:7be16ef1-cxxxxx9d9c067;IPhoneLync:xx:xx:xx:xx:xx:xx</property> <property name="type">Phone</property> <property name="UserAgent">iPhoneLync/5.0.8736.0000 (iPhone iPhone OS 6.1.2)</property> </input>
- Weitere UCWA Request
POST https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/me/makeMeAvailable GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/policies GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/communication POST https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/me/reportMyActivity GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/me/callForwardingSettings GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/mediaPolicies GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/communication/missedItems POST https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/batch GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/people/contactsAndGroupsSubscription GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/me/presence GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/me/note
- Ausgehender Call
Hier rufe ich mit dem Lync 2013 Client eine Festnetznummer an (verkürzt). Technisch ist das ein UCWA-POST-Request mit den ICE-Kandidaten gefolgt von einem GET-Request um die Kandidaten der Gegenseite abzuholen
POST https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx/communication/audioVideoInvitations Request Id: 0x7513328 HttpHeader:Accept application/vnd.microsoft.com.UCWA+xml HttpHeader:Content-Type multipart/related;type="application/vnd.microsoft.com.UCWA+xml";boundary=99131FDF-3144-4B76-8410-C307626DD295 HttpHeader:X-MS-Namespace internal HttpHeader:X-MS-WebTicket xxxxx --99131FDF-3144-4B76-8410-C307626DD295 Content-Type: application/vnd.microsoft.com.UCWA+xml <input xmlns="http://schemas.microsoft.com/rtc/2012/03/UCWA"> <property name="importance">Normal</property> <property name="joinAudioMuted">false</property> <property name="joinVideoMuted">false</property> <property name="mediaOffer">CID:xxx-62a4-4df7-bdd4-6fd78ab4adc9</property> <property name="operationId">xxx-4cf7-419c-8410-b51e67c1473d</property> <property name="sessionContext">xxxx-4cf7-419c-8410-b51e67c1473d</property> <property name="subject"></property> <property name="threadId">xxxxxxxxxx==</property> <property name="to">05246700971</property> </input> --99131FDF-3144-4B76-8410-C307626DD295 Content-ID: 316669b7-62a4-4df7-bdd4-6fd78ab4adc9 Content-Type: multipart/alternative;boundary=38402c99-17e2-4d70-a706-c988163e217f --38402c99-17e2-4d70-a706-c988163e217f Content-ID: <a9e013fa8949e66d17d3e06928b713d5@LyncMobileHostName> Content-Type: application/sdp v=0 o=- 0 1 IN IP4 192.168.0.100 s=session c=IN IP4 192.168.0.100 b=CT:99980 t=0 0 m=audio 41822 RTP/AVP 9 111 0 8 97 13 118 101 a=x-ssrc-range:3285084106-3285084106 a=rtcp-fb:* x-message app send:dsh recv:dsh a=rtcp-rsize a=label:main-audio a=x-source:main-audio a=ice-ufrag:pb37 a=ice-pwd:LOBaIlp87ccXVCkS+FKWis1b a=candidate:1 1 UDP 2130706431 192.168.0.100 41822 typ host a=candidate:1 2 UDP 2130705918 192.168.0.100 41823 typ host a=candidate:2 1 TCP-PASS 174456319 80.66.20.21 57926 typ relay raddr 79.236.239.147 rport 4152 a=candidate:2 2 TCP-PASS 174455806 80.66.20.21 57926 typ relay raddr 79.236.239.147 rport 4152 a=candidate:3 1 UDP 184548351 80.66.20.21 53395 typ relay raddr 79.236.239.147 rport 10966 a=candidate:3 2 UDP 184547838 80.66.20.21 51273 typ relay raddr 79.236.239.147 rport 10967 a=candidate:4 1 UDP 1694235135 79.236.239.147 10966 typ srflx raddr 192.168.0.100 rport 10966 a=candidate:4 2 UDP 1694234622 79.236.239.147 10967 typ srflx raddr 192.168.0.100 rport 10967 a=candidate:5 1 TCP-ACT 174847999 80.66.20.21 57926 typ relay raddr 79.236.239.147 rport 4152 a=candidate:5 2 TCP-ACT 174847486 80.66.20.21 57926 typ relay raddr 79.236.239.147 rport 4152 a=candidate:6 1 TCP-ACT 1684796927 79.236.239.147 4152 typ srflx raddr 192.168.0.100 rport 4152 a=candidate:6 2 TCP-ACT 1684796414 79.236.239.147 4152 typ srflx raddr 192.168.0.100 rport 4152 a=cryptoscale:1 client AES_CM_128_HMAC_SHA1_80 inline:Ds647zPENpcMbVdKTgKKux+A3iNF9xBkaxn220Eh|2^31|1:1 a=crypto:2 AES_CM_128_HMAC_SHA1_80 inline:Sx7Ada9gUiql/ea37h8JvlUYNJk44QoV3aIOY5kT|2^31|1:1 a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:GeBHYHhURrF9P7A/wPTuTPTbYahnLeQa+yRYVgeG|2^31 a=maxptime:200 a=rtpmap:9 G722/8000 a=rtpmap:111 SIREN/16000 a=fmtp:111 bitrate=16000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:97 RED/8000 a=rtpmap:13 CN/8000 a=rtpmap:118 CN/16000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 --38402c99-17e2-4d70-a706-c988163e217f-- --99131FDF-3144-4B76-8410-C307626DD295-- </SentRequest>
GET https://lyncweb.netatwork.de/UCWA/v1/applications/xxx/events?ack=31&low=15&medium=15&timeout=900&priority=1363080338 Request Id: 0x848eb68 HttpHeader:Cache-Control no-cache HttpHeader:Connection Keep-Alive HttpHeader:Content-Length 10717 HttpHeader:Content-Type multipart/related; type="application/vnd.microsoft.com.UCWA+xml"; charset=utf-8; boundary=5db4a50b-d355-4704-8ac3-67e030ba7750 HttpHeader:Date Tue, 12 Mar 2013 17:37:03 GMT HttpHeader:Server Microsoft-IIS/8.0 HttpHeader:StatusCode 200 HttpHeader:X-AspNet-Version 4.0.30319 HttpHeader:X-Ms-Namespace internal HttpHeader:X-MS-Server-Fqdn NAWLYNC001.netatwork.de HttpHeader:X-Powered-By ASP.NET --5db4a50b-d355-4704-8ac3-67e030ba7750 Content-Type: application/vnd.microsoft.com.UCWA+xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <events href="/UCWA/v1/applications/xxx/events?ack=31" xmlns="http://schemas.microsoft.com/rtc/2012/03/UCWA"> <link rel="next" href="/UCWA/v1/applications/xxx/events?ack=32" /> <sender rel="communication" href="/UCWA/v1/applications/xxx/communication"> <started rel="audioVideoInvitation" href="/UCWA/v1/applications/xxx/communication/audioVideoInvitations/xxxxx"> <resource rel="audioVideoInvitation" href="/UCWA/v1/applications/xxx/communication/audioVideoInvitations/xxxxx"> <link rel="from" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/participants/frank.carius@netatwork.de" title="Carius, Frank" /> <link rel="to" href="/UCWA/v1/applications/xxx/people/c2uZGU7dXNlcj1waG9uZQ2" /> <link rel="cancel" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/audioVideo/terminate" /> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <link rel="audioVideo" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/audioVideo" /> <property name="direction">Outgoing</property> <property name="importance">Normal</property> <property name="threadId">AcBzhhndLp3Ouln8SPOSq3yKwNQBZw==</property> <property name="state">Connecting</property> <property name="operationId">d5fb8266-4cf7-419c-8410-b51e67c1473d</property> <property name="sessionContext">d5fb8266-4cf7-419c-8410-b51e67c1473d</property> </resource> </started> <added rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx"> <resource rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx"> <link rel="applicationSharing" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/applicationSharing" /> <link rel="audioVideo" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/audioVideo" /> <link rel="dataCollaboration" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/dataCollaboration" /> <link rel="messaging" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/messaging" /> <link rel="phoneAudio" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/phoneAudio" /> <property name="state">Connecting</property><property name="threadId">AcBzhhnKwNQBZw==</property> <propertyList name="activeModalities" /> <property name="importance">Normal</property> <property name="recording">False</property> </resource></added></sender> <sender rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx"> <added rel="localParticipant" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/participants/frank.carius@netatwork.de" title="Carius, Frank"> <resource rel="localParticipant" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/participants/frank.carius@netatwork.de"> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <link rel="me" href="/UCWA/v1/applications/xxx/me" /> <property name="sourceNetwork">SameEnterprise</property> <property name="anonymous">False</property> <property name="local">True</property> <property name="name">Carius, Frank</property> <property name="uri">sip:frank.carius@netatwork.de</property> </resource></added> <updated rel="audioVideo" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/audioVideo"> <resource rel="audioVideo" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/audioVideo"> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <link rel="stopAudioVideo" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/audioVideo/terminate" /> <property name="state">Connecting</property></resource></updated> <updated rel="messaging" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/messaging"> <resource rel="messaging" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/messaging"> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <link rel="addMessaging" href="/UCWA/v1/applications/xxx/communication/messagingInvitations?conversation=xx-x-x-x-xx" /> <property name="state">Disconnected</property></resource></updated> <updated rel="phoneAudio" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/phoneAudio"> <resource rel="phoneAudio" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/phoneAudio"> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <property name="state">Disconnected</property></resource></updated> <updated rel="applicationSharing" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/applicationSharing"> <resource rel="applicationSharing" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/applicationSharing"> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <link rel="addScreenSharing" href="/UCWA/v1/applications/xxx/communication/applicationSharingInvitations?conversation=xx-x-x-x-xx" /> <property name="state">Disconnected</property></resource></updated> <updated rel="dataCollaboration" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/dataCollaboration"> <resource rel="dataCollaboration" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/dataCollaboration"> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <property name="state">Disconnected</property> </resource></updated></sender> <sender rel="audioVideoInvitation" href="/UCWA/v1/applications/xxx/communication/audioVideoInvitations/xxxxx"> <started rel="audioVideoNegotiation" href="/UCWA/v1/applications/xxx/communication/audioVideoInvitations/xxxxx/negotiations/1"> <resource rel="audioVideoNegotiation" href="/UCWA/v1/applications/xxx/communication/audioVideoInvitations/xxxxx/negotiations/1"> <link rel="mediaProvisionalAnswer" href="cid:13741813-6c54-4ba8-b881-e8a7c4830f24" /> <link rel="audioVideoInvitation" href="/UCWA/v1/applications/xxx/communication/audioVideoInvitations/xxxxx" /> <link rel="audioVideoSession" href="/UCWA/v1/applications/xxx/communication/audioVideoSessions/xxxxxx" /> <property name="sessionContext">d5fb8266-4cf7-419c-8410-b51e67c1473d</property> <property name="remoteEndpoint">nawlync001.netatwork.de@netatwork.de; tag=xxxxxx</property> </resource></started></sender> <sender rel="communication" href="/UCWA/v1/applications/xxx/communication"> <added rel="audioVideoSession" href="/UCWA/v1/applications/xxx/communication/audioVideoSessions/xxxxxx"> <resource rel="audioVideoSession" href="/UCWA/v1/applications/xxx/communication/audioVideoSessions/xxxxxx"> <link rel="audioVideo" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx/audioVideo" /> <link rel="conversation" href="/UCWA/v1/applications/xxx/communication/conversations/xx-x-x-x-xx" /> <property name="state">Established</property><property name="sessionContext">d5fb8266-4cf7-419c-8410-b51e67c1473d</property> <property name="remoteEndpoint">nawlync001.netatwork.de@netatwork.de; tag=xxxxxx</property> </resource></added></sender></events> --5db4a50b-d355-4704-8ac3-67e030ba7750 Content-Type: application/sdp; charset=utf-8 Content-ID: 13741813-6c54-4ba8-b881-e8a7c4830f24 v=0 o=- 603 0 IN IP4 192.168.100.100 s=session c=IN IP4 192.168.100.100 b=CT:1000000 t=0 0 m=audio 54538 RTP/SAVP 0 8 13 118 97 101 c=IN IP4 192.168.100.100 a=rtcp:54539 a=ice-ufrag:/AxJ a=ice-pwd:+1qpEwBHaerOHhEtN4+vtP8Y a=candidate:1 1 UDP 2130706431 192.168.100.100 54538 typ host a=candidate:1 2 UDP 2130705918 192.168.100.100 54539 typ host a=candidate:2 1 tcp-pass 174456319 80.66.20.21 56449 typ relay raddr 192.168.100.100 rport 49496 a=candidate:2 2 tcp-pass 174455806 80.66.20.21 56449 typ relay raddr 192.168.100.100 rport 49496 a=candidate:3 1 UDP 184548351 80.66.20.21 57693 typ relay raddr 192.168.100.100 rport 52612 a=candidate:3 2 UDP 184547838 80.66.20.21 55831 typ relay raddr 192.168.100.100 rport 52613 a=candidate:4 1 tcp-act 174848511 80.66.20.21 56449 typ relay raddr 192.168.100.100 rport 49496 a=candidate:4 2 tcp-act 174847998 80.66.20.21 56449 typ relay raddr 192.168.100.100 rport 49496 a=candidate:5 1 tcp-act 1684797439 192.168.100.100 49496 typ srflx raddr 192.168.100.100 rport 49496 a=candidate:5 2 tcp-act 1684796926 192.168.100.100 49496 typ srflx raddr 192.168.100.100 rport 49496 a=label:main-audio a=crypto:2 AES_CM_128_HMAC_SHA1_80 inline:5cugFpd4DbeOGspI2BxITwrMd9dvrSCe0H22VdD4|2^31|1:1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:13 CN/8000 a=rtpmap:118 CN/16000 a=rtpmap:97 RED/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16,36 --5db4a50b-d355-4704-8ac3-67e030ba7750--
- Präsenzabfrage
GET /UCWA/v1/applications/xxx/people/User@firma,de/presence HTTP/1
- Suche im Firmenadressbuch
GET https://lyncweb.netatwork.de/UCWA/v1/applications/2123225102/people/search?query=nachname&limit=20
- Geplante Abmeldung
DELETE https://lyncweb.netatwork.de/UCWA/v1/applications/xxxx
Eine weitere Analyse der VoIP/VideoIP-Verbindungen reiche ich später nach.
Weitere Links
- UCWA - Unified Communication Web API
- Lync 2010 Mobile
- Lync on WinRT
-
Lync 2013 Mobile
Clients Release:
FAQ
http://blogs.technet.com/b/nexthop/archive/2013/03/13/lync-2013-mobile-clients-release-faq.aspx - Lync MX Client – Viewing
Logs
http://www.shudnow.net/2012/10/28/lync-rt-client-viewing-logs/