11-22-2016 09:25 AM - edited 03-17-2019 08:45 AM
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
Solved! Go to Solution.
11-23-2016 12:23 PM
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
11-22-2016 11:47 PM
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:
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
11-23-2016 05:13 AM
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.
11-23-2016 12:23 PM
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
11-23-2016 12:48 PM
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.
11-23-2016 02:26 PM
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..!
12-01-2016 10:45 AM
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.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide