Cookie Preference Centre

Your Privacy
Strictly Necessary Cookies
Performance Cookies
Functional Cookies
Targeting Cookies

Your Privacy

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences, your device or used to make the site work as you expect it to. The information does not usually identify you directly, but it can give you a more personalized web experience. You can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, you should know that blocking some types of cookies may impact your experience on the site and the services we are able to offer.

Strictly Necessary Cookies

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site may not work then.

Cookies used

Performance Cookies

These cookies allow us to count visits and traffic sources, so we can measure and improve the performance of our site. They help us know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies, we will not know when you have visited our site.

Cookies used

Google Analytics

Functional Cookies

These cookies allow the provision of enhance functionality and personalization, such as videos and live chats. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies, then some or all of these functionalities may not function properly.

Cookies used




Targeting Cookies

These cookies are set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant ads on other sites. They work by uniquely identifying your browser and device. If you do not allow these cookies, you will not experience our targeted advertising across different websites.

Cookies used


This site uses cookies and other tracking technologies to assist with navigation and your ability to provide feedback, analyse your use of our products and services, assist with our promotional and marketing efforts, and provide content from third parties


Upcoming Events


How To Enter the 2020 Members' Choice Awards - For Vendors




Getting rerouted messages to the right UCMA endpoint - Clarity Connect - Blog

Getting rerouted messages to the right UCMA endpoint

One of the great things you can do with the Lync Server SDK is reroute calls to a UCMA application. Your MSPL script or managed SIP application can intercept any call that goes through the Front End Server (or any SIP request or response, more generally) and send it to a UCMA application you've written, rather than the originally intended recipient. Your application can then handle the request, and proxy it through to the destination, or block it, or do something else entirely. There are more uses for this than I can possibly describe here: recording, call filtering, auto-attendants, compliance, call billing, you name it. Typically in a case like this the UCMA application has a default routing endpoint so that it will answer all of these calls that have a To SIP URI that doesn't belong to the application. But what if you don't want all rerouted calls to go to a single endpoint? What if you need to have a number of endpoints in your application - let's say one for recording and another for call filtering - and your Lync Server SDK application needs to somehow specify which of the endpoints the rerouted call should go to?

You can't define multiple default routing endpoints - by definition there can be only one, since it's the catch-all endpoint where requests go when they can't be matched to any other endpoint. But what you can do is use the ms-application-aor header.

This is a relatively little-known header that is sort of UCMA's last resort option for matching requests to endpoints. UCMA checks for it if it can't find an endpoint for a request based on the To header or the Conversation ID. If the header is present on a request, and it contains a SIP URI matching exactly one endpoint that the application has active, the request will go to that endpoint.

There are a couple of caveats. First, the SIP URI in the ms-application-aor header has to be what's called an "owner URI," or "address of record" (which is what the "aor" part of the header name stands for). That means it has to be a SIP URI that belongs to a user (e.g., not a SIP URI like a GRUU that belongs to the specific endpoint.

Second, the ms-application-aor header has to contain a SIP URI that matches exactly one, and no more than one, endpoint managed by the application. If the application has two endpoints registered for the same user (rare, but possible) UCMA won't be able to match the request to a specific one and will return a 485 Ambiguous failure response.

Adding the header itself is fairly simple. In MSPL, you would do something like the following:

[csharp] AddHeader("ms-application-aor", ""); [/csharp]

If you then proxy the request to your UCMA application, it will go to the endpoint with the SIP URI


Publish Date: September 11, 2015 5:00 AM

2020 Buyers Guide Visual Communications


Co-Browsing Integration
Co-Browsing is the practice of web-browsing where two or more people are navigating through a website on the internet. Software designed to allow Co-Browsing focuses on providing a smooth experience as two or more users use their devices to browse your website. In other words, your customer can permit the agent to have partial access to his/ her screen in real-time.

View more from Clarity Connect

Recent Blog Posts:
Informal Contact CentersDecember 8, 2015 5:00 AM
The Importance of Intelligent Routing and ForwardingOctober 2, 2015 5:00 AM
What Really Matters in Your Contact Center? Headcount Turnover vs. Service LevelSeptember 11, 2015 5:00 AM
Getting rerouted messages to the right UCMA endpointSeptember 11, 2015 5:00 AM
UCWA - Messing with SignalR and NodeJSSeptember 11, 2015 5:00 AM
Response Groups and call forwardingSeptember 11, 2015 5:00 AM
Presence updates and multiple application poolsSeptember 11, 2015 5:00 AM
UCWA by the numbers - #5 Re-join ConversationsSeptember 11, 2015 5:00 AM
UCWA & Deciphering multipart/batching with FiddlerSeptember 11, 2015 5:00 AM
Clarity Connect + Skype for BusinessJuly 9, 2015 5:00 AM
Submit Event

Upcoming Events

15th annual Best Practice Conference - this is the contact center world's most highly rated event - a whopping 100% of delegates say they would recommend it!

100's of best practice tips and ideas from contact center professionals Read More...

Latest Americas Newsletter
both ids empty
session userid =
session UserTempID =
session adminlevel =
session blnTempHelpChatShow =
session cookie set = True
session page-view-total =
session page-view-total =
applicaiton blnAwardsClosed =
session blnCompletedAwardInterestPopup =
session blnCheckNewsletterInterestPopup =
session blnCompletedNewsletterInterestPopup =