Lync 2013 and Office 365 voicemail calls failing with 481 call leg does not exist


My team were setting up a new tenant this morning on our LHPv2 system, and connecting the tenant to Office 365 for unified messaging. They called me to help with what they thought was a problem with Office 365 not accepting the call, but it turned out to be something a little different.

The error message from OCSLogger:

TL_INFO(TF_PROTOCOL) [0]0E14.0534::04/16/2014-00:47:29.882.00056b1b (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(196))[2176820743] $$begin_record
Trace-Correlation-Id: 2176820743
Instance-Id: 1D389
Direction: incoming;source="external edge";destination="internal edge"
Message-Type: response
Start-Line: SIP/2.0 481 Call Leg Does Not Exist
From: <sip:[tech's mobile];phone-context=";user=phone">;epid=2EE952F746;tag=6cb59ace1
To: <sip:[umsa number];phone-context=";user=phone">;tag=8585D2CC6F45A929C4653EC37D6C34E5
Call-ID: 6fa3ea88-1a4e-4e6b-91f5-020e6fca17b8
CSeq: 57916 CANCEL
Via: SIP/2.0/TLS [edge external ip]:55657;branch=z9hG4bK3F146DB3.F6B41C17EA0CAB08;branched=FALSE;ms-internal-info="dsv_8mXtT4SLlqwtIRgewpQLjKclLYLYWQ3cBo05Vq-5wXHLT2A9YY0QAA";received=;ms-received-port=55657;ms-received-cid=76A73700
Via: SIP/2.0/TLS [edge internal ip]:55702;branch=z9hG4bK94BC93A2.E2C841E49AD07B16;branched=FALSE;ms-received-port=55702;ms-received-cid=14800
Content-Length: 0
ms-split-domain-info: ms-traffic-type=SplitIntra

The mobile phone trying to call the UMSA number didn’t hear any ringing during call setup – it would just stay silent for about a minute before finally timing out and failing, which is about when the above error appeared in the log.

Putting the log side by side with a working call made it obvious that there was a problem. Here’s the failed call on the left, versus a successful call on another Lync deployment on the right:

1 2

So what’s the problem? Well, it’s pretty simple, actually:


Turns out the _sipfederationtls._tcp record hadn’t been created during our normal provisioning process. Once we added this DNS record, everything started working as it should.

How did we figure that out? When Lync sets up the SIP call to Office 365, there’s a requirement there that Office 365 can get back to us. To do this, it uses the _sipfederationtls._tcp SRV record so it knows where to route traffic back to us. The fact that we were able to get there and nothing seemed to be returning pointed us in that direction.

Lync 2013 April Client Update


Microsoft have just announced the latest cumulative update for Lync server 2013 update for the Lync 2013 client.

Edit: Turns out this is actually a client patch, which wasn’t telegraphed too well when the patch was first announced, hence the confusion. Regardless, it’s an impressive list of fixes which you should consider testing in your lab before deploying to your users.

There are a number of fixes and feature additions, including fixes to desktop sharing, speeding up of network recovery after a loss, and the addition of a button which displays when a user is connected to a backup pool which will display what features are going to be lost.

Check it out here.

Passwordless Logins with OpenSSH


I don’t know about you guys, but typing my password in whenever I want to get to one of my home servers is… well, it’s damn annoying. Thankfully there’s a way to export your private keys so when you log in to a computer you trust, you can have this act as your authentication mechanism – because you have a preshared key, the target server won’t bother asking you for a password.

Continue reading

HP Touchpad: WebOS 3.0.5 removes all patches


If you’re anything like me, the recent update to WebOS 3.0.5 was something exciting, as it proves our beloved platform isn’t going the way of the grave just yet. But if your experience is like mine, you updated and found that your touch ripple was back, your smoothness patches were gone, and everything was back to it’s pre-patched sluggishness.

Well, before you pull out the doctor and restore to 3.0.4, you can try adding the old patches feed and reinstalling them. The patches will run just fine until the new ones are written and released for 3.0.5, and you won’t have to put up with a vanilla touchpad until then. Continue reading

Problems downloading iOS?


I’m not sure if it’s the fact that I’m using iTunes on Windows or if it’s because I’m with a shitty ISP, but every time I try to download iPhone software I get an error saying that the network connection was reset and the update bombs out.

Instead, I had to directly download the software from Apple’s download server, then hold shift (or option if you’re a mac person) and click on restore. It’ll ask you where your software is you want to use,  and restore from there.

You can even install older versions if you want, although you might need to downgrade your iTunes as well.

iOS 4.3.3:  iPhone 4 (GSM)iPhone 4, iOS 4.2.8 (CDMA)iPhone 3GSiPad 2 WiFiiPad 2 GSMiPad 2 CDMAiPadiPod touch 3G and iPod touch 4G

iOS 4.3.2: iPhone 4 (GSM)iPhone 4, iOS 4.2.7 (CDMA)iPhone 3GSiPad 2 WiFiiPad 2 GSMiPad 2 CDMAiPadiPod touch 3G and iPod touch 4G

iOS 4.3.1: iPhone 4 (GSM)iPhone 3GSiPad 2 WiFiiPad 2 GSMiPad 2 CDMAiPadiPod touch 3G and iPod touch 4G

iOS 4.3:  iPhone 3GSiPhone 4 GSMPad 1iPad 2 WiFiiPad 2,2 (3G AT&T?)iPad 2,3 (3G Verizon?)iPod Touch 3G and iPod Touch 4G

iOS 4: iPod Touch 2G, iPod Touch 3G, iPhone 3G, iPhone 3Gs and iPhone 4.

iOS 3.1.3: iPhone, iPhone 3G, iPhone 3Gs.

iOS 2.2.1: iPhone, iPhone 3G, iPod Touch, iPod Touch 2G.

iOS 1.1.4: iPhone, iPod Touch.

Airvideo on Ubuntu the even easier way


For those of you who don’t know what Airvideo is, it’s a little piece of software which runs on a server in your home and allows you to watch videos on your iPod Touch, iPhone or iPad both in your home via WiFi and when you’re out and about on a 3G network. It transcodes video (including MKV) into something your iDevice can play, then streams it out at the ideal bit rate for the available bandwidth. The server software is free, and the client software is available on the App store for around $2, which is a phenomenal bargain considering what it does.

A while ago I wrote a howto on installing the Windows version of the Airvideo server on Ubuntu using the Wine environment, because the Linux version of the Airvideo server was a little… well, confusing.

Since then, I was contacted by RubioJr (Gracias, Rubio!), who has put together a PPA (a list of packages) to allow Ubuntu and Debian users to enjoy a super simple installation method of Airvideo, without the need to install Wine. Continue reading