Forwarded Calls don’t contain the Called Party’s number
When you setup Lync forwarding or simultaneous ring it always passes the original callers number in the FROM field.
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.