Forwarded Calls don’t contain the Called Party’s number

4 August 2011

When you setup Lync forwarding or simultaneous ring it always passes the original callers number in the FROM field.

Call Flow

In the example shown above +44 123 4567 calls +44 987 6543 the Lync user has setup a call forward to another number +44 765 4321. When you receive the call on +44 765 4321 you see the original caller id +44 123 4567.

SIP Header wise this is what is sent from the Mediation server to the ITSP:

 

INVITE sip:07654321@20.20.20.20;user=phone SIP/2.0
FROM: <sip:+441234567@contoso.com;user=phone>;epid=81E23DEAF8;tag=ab6896ea7e
TO: <sip:07654321@20.20.20.20;user=phone>
CSEQ: 2 INVITE
CALL-ID: b983d9b2-c75a-48e3-a702-ec9b5ef98eb0
MAX-FORWARDS: 70
VIA: SIP/2.0/TCP 10.10.10.10:57672;branch=z9hG4bK693cdab6
CONTACT: <sip:lyncmed01.contoso.com:5060;transport=Tcp;maddr=10.10.10.10;ms-opaque=ed082191311c6e3b>
CONTENT-LENGTH: 344
SUPPORTED: 100rel
USER-AGENT: RTCC/4.0.0.0 MediationServer
CONTENT-TYPE: application/sdp
…………

As you can see the FROM is set to the external callers number and the TO is set to the forwarded to number. Although this can be useful to the person receiving the call to see where the call is coming from it does however cause issues for some ITSP’s (Internet Telephony Service Providers)

Introduced in CU2 was a fix to allow a REFFERED-BY header to be added however after applying the patch (or even CU3) the header does not appear. It is alluded to here in the KB article http://support.microsoft.com/kb/2517730

However it mentions that you need to apply 255421 as well which doesn’t exist (I assume this will be corrected). The actual KB article is 2500421  (http://support.microsoft.com/kb/2500421

Here is explains you need to update the Mediation server config file.

For those of you that have never had to update the config file it is in the Mediation server directory which by default can be found here:

C:\Program Files\Microsoft Lync Server 2010\Mediation Server\MediationServerSvc.exe.config

For the SIP trace above you would modify the file to:

<?xml version=”1.0″ encoding=”utf-8″?>
<configuration>
<appSettings>
                <add key=”20.20.20.20.ReferredBySupported” value=”true”/>
    </appSettings>
  <runtime>
    <generatePublisherEvidence enabled=”false”/>
  </runtime>
</configuration>

Once you save this file (don’t forget you need to run notepad as administrator to save it) you restart the Mediation Server service.

The headers now appear as

 

INVITE sip:07654321@20.20.20.20;user=phone SIP/2.0
FROM: <sip:+441234567@contoso.com;user=phone>;epid=DB23987285;tag=c495f66513
TO: <sip:07654321@20.20.20.20;user=phone>
CSEQ: 1 INVITE
CALL-ID: a2c887ef-a162-4b11-87a5-daf222734f18
MAX-FORWARDS: 70
VIA: SIP/2.0/TCP 10.10.10.10:57761;branch=z9hG4bK370cbae
CONTACT: <sip:lyncmed01.contoso.com:5060;transport=Tcp;maddr=10.10.10.10;ms-opaque=8c6fc24ca0304215>
CONTENT-LENGTH: 344
REFERRED-BY: <tel:+449876543>
SUPPORTED: 100rel
USER-AGENT: RTCC/4.0.0.0 MediationServer
CONTENT-TYPE: application/sdp

…………

You can see the FROM and TO headers remain the same but you now have a REFFERED-BY header with the called party’s number. The ITSP can then use this value.


%d bloggers like this: