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

Password Recovery on Cisco 1700 and 1800 Routers


Sometimes you’re going to come across a router you need to work on where someone’s changed the password and forgotten to write it down, and sometimes that person may or may not be you. Regardless of the reason, how to you get in to a router which you’re locked out of?

You’ll need a few bits of kit to get you started. First, a 1700 or 1800 router (obviously) which is unusable. Second, you’ll need a Cisco console cable (light blue with an RJ-45 on one end and a DB9 serial connector on the other). Finally you’ll need a computer with a serial port and a VT100 program of some description. Hyperterm will do in a pinch, but something like Zoc or PuTTY is my preference. Continue reading

Automating Usenet downloads with HellaVCR and SABnzbd+


Some people would say that I’m a lazy person, that I don’t want to do anything which requires any hard work. But I prefer to think of myself as efficient – Doing repeated complex tasks over and over irritates me, like scouring index sites for my favourite Linux isos. When a new version appears, it should magically appear in a folder on my server, right?

Thankfully, with a few programs and a bit of time spent on the front end, it can all be magically done for you.

I’ll be doing all of this on Ubuntu 10.04, as that’s my server operating system of choice. If you want to build this setup on a different system, your mileage may vary. Just be sure to check the individual requirements of each package to ensure that they’ll all work correctly (i.e. HellaVCR needs Apache to work). Continue reading

Upgrading your iPhone to iOS 4.1 Golden Master


The Golden Master version of iOS 4.1 has been released to Apple Developers, but if you’re not a developer and still want to install 4.1 on your iPhone or iPod Touch, here’s how.

Before you start, though, I have to point out that this is beta software,  so don’t upgrade if you’re worried about it breaking your phone. It’s also a developer build, so you technically shouldn’t be doing it unless you’re a developer, and while your UDID shouldn’t be checked, Apple may still get shirty that you’ve used a prerelease.

If in doubt, wait a week for the real 4.1 to release for reals.

Continue reading