cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
9125
Views
0
Helpful
6
Replies

SIP Trunk Outbound Original Caller ID

balukr
Level 2
Level 2

We have a customer with CUCM version 10.5.2, currently they have two sites with each one has their own SIP trunk for inbound and outbound calls. We would like to make outbound calls redundant if one SIP trunk fails we can send the call to the other SIP trunk. Both SIP trunks are from same ITSP. If a user dialing from site A to call to PSTN through site B SIP trunk, call works only if we modify the PAI/Last redirected number/force a caller ID as one of the DID number block in site B other calls are dropped which we know ITSP drops the call if the caller is not from one of the number block in that SIP trunk. Is there any way we can send the call through Site B and retain the original caller-id of user at site A?

CUBE is ASR 1006 IOS version 15.6

1 Accepted Solution

Accepted Solutions

Good Afternoon, 

          The best way to resolve this issue would be to create  a sip profile  on both cubes that looks for the calling party number associated with the opposite cubes sip trunk, if the profile matches it will add a diversion header with a number associated to that cube sip trunk.

Once the service providers equipment sees a diversion header with a valid number for that sip trunk they should accept the call and pass the called-id in the from/p-asserted or remote party id

for example 

cube A sip trunk is associated with 9785551xxx

cube B sip trunk is associated with 5085551xxx

on cube A we would create a sip profile that looks for a "From" number that contain 5085551... if this is true we will add a diversion header that contains a valid number for cube A 

example profile

voice class sip-profiles 978 

request INVITE sip-header From modify "From:(.*)<sip:5085551(.*)@(.*)" "From:\1<sip:5085551\2@\3\x0ADiversion: <sip:9785551212@x.x.x.x:5060>"

then assign this to the outbound server provider dial-peer 

dial-peer voice xxxx voip
voice-class sip profiles 978

make similar changes to cube B 

voice class sip-profiles 508 

request INVITE sip-header From modify "From:(.*)<sip:9785551(.*)@(.*)" "From:\1<sip:9785551\2@\3\x0ADiversion: <sip:5085551212@x.x.x.x:5060>"

dial-peer voice xxxx voip
voice-class sip profiles 508

View solution in original post

6 Replies 6

Adarsh Chauhan
Level 3
Level 3

Hi,

CUCM can reroute the call if the SIP trunks are kept under the same Route list and the Provider rejects the call giving one of the following reason.

Service Parameter:

  1. Stop Routing on Unallocated Number by default True
  2. Stop Routing on User Busy Flag by default True
  3. Stop Routing on Q.931 Disconnect Cause Code
  4. Stop Routing on Out of Bandwidth by default false.

if the provider is not returning 404 or 486 code we can check on CUBE with what error ITSP is rejecting the call and then make SIP profile to make changes.

Please rate and mark correct if helpful.

Regards,

Adarsh Chauhan


Please rate and mark correct if helpful
Regards,
Adarsh Chauhan

Adarsh,

ITSP is rejecting with either 400 "Site not found" or "Bad Request" . As I mentioned earlier if I send the call with one of the numbers belong to that SIP trunk in Site B call works fine only issue is the calling number. Thanks for your help.

Good Afternoon, 

          The best way to resolve this issue would be to create  a sip profile  on both cubes that looks for the calling party number associated with the opposite cubes sip trunk, if the profile matches it will add a diversion header with a number associated to that cube sip trunk.

Once the service providers equipment sees a diversion header with a valid number for that sip trunk they should accept the call and pass the called-id in the from/p-asserted or remote party id

for example 

cube A sip trunk is associated with 9785551xxx

cube B sip trunk is associated with 5085551xxx

on cube A we would create a sip profile that looks for a "From" number that contain 5085551... if this is true we will add a diversion header that contains a valid number for cube A 

example profile

voice class sip-profiles 978 

request INVITE sip-header From modify "From:(.*)<sip:5085551(.*)@(.*)" "From:\1<sip:5085551\2@\3\x0ADiversion: <sip:9785551212@x.x.x.x:5060>"

then assign this to the outbound server provider dial-peer 

dial-peer voice xxxx voip
voice-class sip profiles 978

make similar changes to cube B 

voice class sip-profiles 508 

request INVITE sip-header From modify "From:(.*)<sip:9785551(.*)@(.*)" "From:\1<sip:9785551\2@\3\x0ADiversion: <sip:5085551212@x.x.x.x:5060>"

dial-peer voice xxxx voip
voice-class sip profiles 508

I has the same problem.

You provider just block your call because received Callerid from other than the DID range received for site B trunk.

We found one solution, we bought "failover" trunk from other provider and when our main trunk is down, we reroute calls there. other provider expensive but we can set any numbers.

I hope to help you. 

Shawn, Thanks. Everyone is gone at customer site we will test and let you know when we are back after holidays.

Have a great Thanksgiving..!

balukr
Level 2
Level 2

Shawn,

Thank you.. finally I was able to test this with customer and calls does go through now ..I also tried this also works fine

request INVITE sip-header Diversion add “Diversion: "<sip:+1XXXXXXXXXX@X.X.X.X>”

if you apply this directly to the outbound dial-peer same like the one you sent it works.

I guess both are adding a Diversion Header and it works .

I have one issue now though Caller ID of the originator shows up fine if the call goes through CUBE at side A but at side B it shows the caller-id of the number we added in "Diversion Header". Both CUBE's have identical config. Is this something to do with ITSP? Is there anyway we can send a request with one caller-id and response/connected with a different caller-id?

Thanks for your clear explanation and example that saved us lot of time.