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