Monday, 3 August 2009

OCS R2 Caller Line ID\Name

In the July Server Updates a change was made to allow the Callers Name to be passed from the PBX\Gateway to the Mediation Server and in turn passed in to OCS; the change also flows the other way as well.

This change goes back on previous comments made by Microsoft in that they would not trust any information from the PBX with the exception of the Callers Phone Number.

In an mixed telephony environment were users are split between Enterprise Voice and Traditional Telephony passing the Callers Name is an important feature, as there are often phone numbers which are not listed in Active Directory. For example Shop Floor Phones, Hall Phones etc.

The change is equally if not more important the other way as well, as traditional PBXs only store Name to Extension mappings for Extensions that exist on the PBX.

This functionality has existed for years with trunking methods such as QSIG which allows for Display Names to be passed between PBXs.

So lets look at how this is handled by OCS.

Below is a screenshot of the Toast for an incoming call into OCS, in this case the Callers extension is not in Active Directory.

Inbound Call from Cisco to OCS with CLID

The name is shown in Italics to show that the Callers Name has come from the PBX in this case a Cisco Call Manager rather than from Active Directory.

One thing to note is that this does not work on Tanja Phones, all that is shown in the Callers Phone Number; this is tested on 3.5.6907.35.

This information can also be seen in the SIP Trace as shown below:

Inbound call from Cisco to OCS, Wire Trace INVITE

The Callers Information is also shown in the Invite out to another Phone if you are using Simultaneous Ring; although this is only useful if you are calling a phone that can understand this:

Inbound call from Cisco to OCS, Wire Trace sim-ring

The final part is an OCS User calling a PBX Phone, this functionality is not enabled by default and requires a changed on the Mediation Servers.

The screenshot below is a Toast on the Cisco IP Communicator, the Phone Number is not known to the PBX and as such would result in just the Callers Phone Number being displayed prior to the July Update.

Outbound Call from OCS to Cisco, Toast with CLID

This information can also be seen in the Invite shown below:

Outbound Call from OCS to Cisco, Wire Trace INVITE

The change required to enabled the Callers Name for Outbound OCS calls is detailed in the KB972721, but is covered below for completeness.

A file called MediationServerSvc.exe.config should be created in the Mediation Installation Directory which be default is at  %programfiles%\Microsoft Office Communications Server 2007\Mediation Server

This file should contain.

<?xml version="1.0" encoding="utf-8" ?>
                                <add key="forwardDisplayName" value="True" />

Once this file has been created the Mediation Server should be re-started. I am somewhat surprised this is not a WMI setting, since a number of Mediation Server settings were moved to WMI in R2 rather than creating\modifying this file.

Just to add if you are not seeing the Callers Name being passed between the PBX\Gateway and OCS or vice versa you should ensure that the Gateway\PBX is configured to allow the Callers Name to be passed.


  1. could u help me , I did all of it but the caller ID not work! ,

    this file MediationServerSvc.exe.config not found in the pass
    you created it , there is file MediationServerSvc.exe
    you change it from exe to config ?

    you push the new update in which server role ?mediation server only

    and which update there are alot caz there are alot update ?

  2. Hi,

    You should apply all of the updates, as per the Microsoft Recommended Guidelines.

    The fix is within the UC Managed API Core Redist update.

    If the .config file does not exist you should create and enter the information detailed within the KB article detailed in the main post.

    You should not rename the exe file as this will create further issues.

    You will also need to restart the Mediation Server Services.

    If the CLID is not showing, you should run a network trace on the Mediation Server PSTN NIC and check to see if the PSTN Gateway is sending the Display Name to OCS.


  3. Adam,

    What takes precedence in regards to RNL in to active directory based on the user's e.164 number? I have many non-OCS users AD user account or AD contact account set with the ms-RTCSipLine attibute. For example, a conference room telephone will be set up with an AD contact account and we have set this attribute via adsiedit. This also applies to users that are in converged mode (Nortel solution) who are OCS users that have RCC'd the telephone. What takes presedence from the Nortel PBX in these cases?


  4. If I understand what you are saying.

    If there is no matching entry in AD for the Telephone number, which is standard for things like Conference Rooms, if the CS1000 passes over the Caller Name then this would be shown on the toast. This should mean that you no longer need to add the RTCSIPLine by hand.

    For RCC it should not matter as this should display the correct information anyway.

    With Nortel I am not 100% sure if this holds true due to the way they use MCM and if the Callers Name makes it all the way to the Mediation Server.

    Personally I would try and see.


  5. Adam,

    I'm going to try it out today and will let you know. I do see the calling name in wireshark traces so I don't see why this wouldn't work. We use MCDN (Meridan Custom Defined Netorking) as the protocol on the virtual D-channel and ND2 on the RCAP (Remote Capabilities) so it should work. We also have a DirectSIP mode that will use the same parameters and this should work too but will have to test. Thanks for the insight and we'll let you know.


  6. Adam,

    Followed the instructions based on your input and KB. The OCS logger of the mediation server shows the P-asserted Identity of the inbound invite with the telephone's calling name but the outbound invite to the front end doesn't have then name of the phone as programmed on the PBX. Any ideas? We have loaded the KB, added the config file with your setting setting in this blog, and restarted the mediation server.


  7. Adam,

    Disregard my last. We finally got this to work on our Nortel DirectSIP implementation! We (Nortel) will be making a request for feature enhancement with our MCM to allow the "From" header on the outbound invite from the MCM to show the calling name. That should then allow the calling name to pass to the mediation server for Nortel's Converged Office implementation.

    Thanks for everything.

    Rudy Garcia

  8. I meant to comment this morning, but got tied up with meetings.

    Direct SIP should just work as you have found out, depending on Trunk config.

    The MCM part is very much a black art, the application does a lot around checking users are valid and formating things so they work with the two systems etc.

    It will be intresting to see if they do the change or not hopefully they will. We are still waiting for them to complete the 6.0, R2 work and that will probably result in MCM 4.5 so with any luck they will build it in to 4.5.


  9. can you use this so a customer initiates a chat (messenger) session with to a contact centre which is queued to a skill at an agent?

  10. Man, stugglin' with this one...
    DMG4060 - mediation server
    NEC PBX - Q.Sig trunk to DMG
    OCS 2007 R2
    All appropriate patches/hotfixes applied.

    Trace on the DMG doesnt show a name in the >FROM:

    Is the PBX not sending name over the trunk???


  11. Hi,

    Last time I spoke to Dialogic I was told that if the Caller Name is provided via the QSIG Trunk then it would pass it on in the SIP Messaging.

    Which trace are you looking at, is it on the 4060 or on the Mediation Server?

    If the trace is on the 4060 and you are not seeing the Caller Name in the in the Trace then it is likely that it is not being pass to the 4060 from the NEC on the QSIG Trunk.

    Most PBX allow for this setting to be configured on either a system wide, trunk by trunk or extension by extension basis.

    I would therefore suggest checking the switch configuration to ensure that it is being provided on the trunk.


  12. Adam,
    You rock man, thanks for the prompt response.

    That was my hunch, the capture was from the dialogic 4060.

    Wish there was a way to use the DMG line test tool to input "User Name" 1234@ in the calling party field, (that would verify OCS is 100%) however, line test just allows number.

    Anyways, thanks again for such a quick response. I have already emailed my PBX tech.

    BrentGunns at gmail

  13. thanks, works perfectly with latest ocs hotfixes and asterisk 1.6.2.x

    kristofvandenbroeck at gmail

  14. Hi Adam, quick question. I am in a pure Enterprise Voice environment (SIP Trunks directly to OCS Mediation, no telephony equipment whatsoever.) I've allied all the latest patches/updates and done the mediation configuration change, etc. I've done it all. However inbound caller ID still doesn't work on Communicator, but it DOES work on our Tanjay devices. Is there a registry key or something I need to switch on Communicator for it to work? (And yes, Communicator is running it's latest hotfix as well.)

  15. CLID should just work, as long as it is provided by the SIP provider.

    I have seen issues in the past where CLID has not shown properly due to them been in the wrong format, although usually that would cause it to fail on the Tanja as well.


  16. The CLID is showing on the Office Communicator in a case when a PBX user is calling an Office Communicator. Then the PBX makes a call transfer to another PBX user and tries to update CLID to the Mediation Server sending the new Identity in SIP UPDATE P-Asserted-Identity: + from: . But nothing is updated on the Office Communicator. Have anyone seen a successful update of CLID in a call transfer case. I'm using an Aastra MX-ONE PBX.