Call Forwarding Configuration Between Skype for Business and Audiocodes Mediant 800


As you all know, in a PSTN call forwarding scenario, Skype for Business\Lync server always forward the original caller ID to PSTN. In an ISDN, this will be fine as PSTN provider will mask the calling number with the pilot number of the ISDN.

But, in a PSTN SIP Trunk scenario, this will be problematic as SIP Trunk provider will refuse to send any numbers that are unknown to the trunk. Basically, the calling number presentation must have a number that belongs to the SIP trunk.

This issue an be overcome by employing IP-to-IP Outbound number manipulation to manipulate the calling number and replace it with any number that belongs to the SIP Trunk. The downside of this method is that, when ever a call forward configured on Skype for Business\Lync client, the call will get forwarded to the configured destination with the number presentation of pre-configured number and not the original DID of the user. Some organizations accept this as it is but in my experience, most prefer to have the user DID be sent as the calling ID.

With Audiocodes, a SIP header manipulation rule can be configured to cater this requirement. Before doing that, there is a small configuration change need to be done on Skype for Business\Lync server voice routing. In the Skype for Business\Lync control panel, “Trunk Configuration”, enable “Enable forward call history” and save. Let it to replicate the changes. Capture

 

 

 

 

 

 

 

 

 

Once enabled, run a logging on SBC and see if the “Diversion” header appears. The Diversion header will contain the DID of the user that forwarding the call.
Contact: <sip:862712345;ext=12345@172.22.10.10:5060;ms-opaque=a30ebed1bacc5eac>
Supported: 100rel
ALLOW: ACK
Allow: CANCEL,BYE,INVITE,PRACK,UPDATE
Diversion: <sip:862712345;ext=12345@test.wa.gov.au;user=phone>;reason=unconditional;counter=1
User-Agent: Mediant 800B/v.7.00A.035.012
Privacy: none
P-Asserted-Identity: <sip:862712345@test.wa.gov.au;user=phone>
Content-Type: application/sdp
Content-Length: 382
v=0
o=- 1673518669 1456751675 IN IP4 172.22.10.10
s=session
c=IN IP4 172.22.10.10
b=CT:1000
t=0 0
m=audio 7760 RTP/AVP 8 0 97 18 13 101
c=IN IP4 172.22.10.10
a=label:Audio
a=sendrecv

Now the user DID number is appearing in Diversion SIP header, a message manipulation rule can be configured and assigned to SIP trunks IP Group against “Outbound Message Manipulation Set”

Go in to SBC Configuration and in “Msg policy & Manipulations”, create a Message Manipulation rule as below;

Capture

Once the header manipulation has been configured, the “FROM” header will get modified from the content that present in “Diversion” header.

13:37:42.094 : 172.22.10.10 : NOTICE : [S=304817] [SID=8a25e1:12:26893] INVITE sip:0430912345@test.wa.gov.au;user=phone SIP/2.0
Via: SIP/2.0/UDP 172.22.10.10:5060;branch=z9hG4bKac819203857
Max-Forwards: 10
From: <sip:862712345;ext=12345@test.wa.gov.au;user=phone>;tag=1c427358178;epid=DBF2EBCAFA
To: <sip:0430912345@test.wa.gov.au;user=phone>
Call-ID: 6326964502212016133741@172.22.10.10
CSeq: 2 INVITE
Contact: <sip:862793101;ext=3101@172.22.10.10:5060;ms-opaque=a30ebed1bacc5eac>
Supported: 100rel
ALLOW: ACK
Allow: CANCEL,BYE,INVITE,PRACK,UPDATE
Diversion: <sip:862712345;ext=12345@test.wa.gov.au;user=phone>;reason=unconditional;counter=1
Authorization: Digest username=”N9744″,realm=”test.wa.gov.au”,nc=00000001,nonce=”BroadWorksXijp9b5qgTla8pieBW”,Cnonce=”Default_Cnonce”,uri=”sip:0430912345@test.wa.gov.au”,qop=auth,algorithm=MD5,response=”0fa04b1d8cf108f8f48545baa53362cb”
User-Agent: Mediant 800B/v.7.00A.035.012
Privacy: none
P-Asserted-Identity: <sip:862712345@test.wa.gov.au;user=phone>
Content-Type: application/sdp
Content-Length: 382

At this point, the call must be ringing on the forwarded destination and it should be presenting with the forwarded user’s DID number instead of any fixed generic number.