SIP SDP problems with Lync and Sametime Gateway

It’s not the first time I have federated the Gateway with OCS/Lync servers, all previous federations went smoothly, this one didn’t. Prior to federating I updated to 8.5.2.1 HF2 which involves applying FP19 to WAS 7 so that it brings it to the latest and greatest and should combat any problems with Lync.

When I got round to federating I found that awareness worked and the Lync users could chat with me but I couldn’t initiate a chat with them. I enabled the following trace and delved through the trace.log.

*=info: com.ibm.rtc.gateway.*=all: com.ibm.ws.sip.stack.transaction.transport.TransportCommLayerMgr=all

Looking at the trace.log I found the following errors.

18/07/13 11:19:10:675 BST] 00000029 TransportComm 3 TransportCommLayerMgr onMessage In Message:
SIP/2.0 488 Not Acceptable Here
ms-asserted-verification-level: ms-source-verified-user=verified
Content-Length: 0
Ms-client-diagnostics: 52063;reason=”Unsupported session description”
User-Agent: UCCAPI/15.0.4454.1504 OC/15.0.4454.1506 (Microsoft Lync)
CSeq: 2 INVITE
Call-ID: 8301348675246938@*******
To: <sip:joe.bloggs@acme.com>;epid=6cefe9b8de;tag=2ef08a07f6
From: <sip:ben.williams@collaborationben.com>;tag=563671771882337_local.1373296073078_269626_344492
Via: SIP/2.0/TLS ********:5061;rport;ibmsid=local.1373296073078_269626_344492;branch=z9hG4bK309775045542683;received=********;ms-received-port=33942;ms-received-cid=F00

I didn’t get very far pouring through the log so I raised a PMR and quickly Khalid Abbas got back to me asking me to apply DLAR-97EC3X which is specifically built for OCS/Lync. This hotfix is designed to change the SDP for OCS/Lync from “5061 tcp/sip *” to “5060 sip null” and add “a=accept-types:text/plain. This related to SDP for IM Session which describes the format the Session Description Protocol must be in for Lync/OCS.

Apply this hotfix changed the SIP SDP from

v=0
o=- 0 0 IN IP4 gateway.collaborationben.com
s=session
c=IN IP4 gateway.collaborationben.com
t=0 0
m=message 5061 sip/tcp *

to

v=0
o=- 0 0 IN IP4 gateway.collaborationben.com
s=session
c=IN IP4 gateway.collaborationben.com
t=0 0
m=message 5060 sip null
a=accept-types:text/plain

This though wasn’t enough to get it working with the original 488 errors because the FQHN was still in the the SIP SDP. Finally I had to change the SIP SDP to put out an IP address rather than the FQHN. This was done by logging into the Gateway’s ISC and going to Servers – Server Types – WebSphere Application servers – RTCGWServer – Server Infrastructure – Administration – Custom Properties changing the propery “com.ibm.sametime.gateway.fqdn” replacing the FQHN with the external IP address of the Gateway.

On restart it worked as expected.

The odd thing is why did it work previously with a Lync 2010 and OCS 2007 R2 already federated but not for this new partner?

 

Advertisements