MSPL (and its managed cousin, which goes by various names) is an extremely powerful tool for customizing Lync Server routing behavior. It can also, at times, be extremely frustrating to troubleshoot, partly because of the complexity of tinkering with the way Lync routes messages, and partly because the debugging tools we’re accustomed to for most .NET development are unavailable with MSPL. One of the most common frustrations I hear from people working with MSPL development is that messages that the script should be picking up and handling are just not going through the script at all. They’re visible in SIP logs, they’re obviously there, but your script somehow doesn’t see them. This post is my attempt to summarize a few of the most common reasons this can happen, and what you can do about it. Continue reading “Why is my MSPL application not seeing some messages?” »
For a development platform that abstracts away a whole lot of underlying activity, UCMA really does a pretty good job of letting you know the cause when a problem occurs. But there are a few cases where errors in UCMA applications can be utterly bewildering, and probably the most frustrating of these are the ones that result from typos in SIP URIs. Missing a character or misspelling a part of a SIP URI can lead to errors that seem to have no relationship to what is actually going wrong. I wanted to cover a couple of those errors here in the hope of preventing others from tearing their hair out for multiple days trying to troubleshoot these sneaky problems. Continue reading “SIP URI typos and the misleading errors they cause” »
One of the first issues you may run into when trying out the new version of UCMA is an exception that says a DLL called SIPEPS, Version=22.214.171.124 could not be found. This happened to me, and a few other people I’ve spoken to had this problem as well. So, to help anyone else who gets this exception, here are a few troubleshooting steps that should fix it. Continue reading “Error about SIPEPS DLL with UCMA 4.0” »
If you’ve worked with UCMA for a while, it’s likely that you’ve had at least one incident where firewall settings caused issues with a UCMA application. Since firewall configuration seems to be one of the most common sources of mysterious troubles with UCMA applications, I thought I would write up a few notes about this in the hope that it will save someone a long and frustrating troubleshooting session. Continue reading “Firewalls and UCMA applications” »
Applications built using the Managed SIP Application API can be a bit tricky to troubleshoot. If your managed SIP application fails on startup with an UnauthorizedException or a SecurityException, make sure that the user account that the application is running under is a member of both the RTCComponentUniversalServices domain group and the RTC Server Applications local group (on the Lync Front End Server). If you’re running it as a console application, you’ll need to make sure your own user account is in both groups; if it’s a Windows service, make sure the service is using a domain account that belongs to the two groups. This should eliminate the exception.
There is a little-known feature in UCMA, introduced in version 3.0 of the API, that allows applications to receive a detailed report on the call quality metrics of each audio/video call when it concludes. The data reported to the application are essentially the same that are included in Lync Server’s call detail recording (CDR) records, and by receiving the information in a UCMA application in real time as calls conclude, you can correlate quality data with other information you collect or record about calls, or even adjust your application’s behaviour on the basis of call quality metrics. Continue reading “Media troubleshooting and quality data in UCMA 3.0” »