Showing results for 
Search instead for 
Did you mean: 
Walkthrough Wednesdays

SIP header manipulation

I am not sure if I am just looking at this the wrong way and not searching for the correct information to get the answer I need. I have been messing with this for about a year now and can not seem to find the answer. I have 4 DIDs with my SIP provider and can not seem to get the outbound DID is show properly.


3 of the DIDs are listed as the secondary number for 3 DNs and the 4th is the main number. For my provider to accept the call I need to alert the numbers back to an account number by using this rule:


voice translation-rule 1
rule 1 /.*/ /1777XXXXXXX/


What I am trying to do in a sip-profile is grab the DID and alter the header to include the DID in either of the following:


With this code:

request INVITE peer-header sip FROM copy "sip:(.*)@" u02
request INVITE sip-header Remote-Party-ID modify "<sip:(.*)@(.*)>" "<sip:\u02@PUBLIC IP>"


I just keep hitting the brick wall and I have altered my dial peers so many times I have lost track of how many changes I have made, any help would be greatly appreciated.


Thank you


I was thinking about this some more and I think I have the 4 steps that I need to do:


  1. Strip the 9 from the dialed number
  2. Copy the FROM: number
  3. Copy from to the P-ASSERTED-IDENTITY header
  4. Chang FROM to 1777XXXXXXX

I think everything would work


1. Either a voice translation-profile for the called number or the classic strip/forward digit commands would get this done.

2 & 3. What is the call control platform behind CUBE? CUCM? The easier approach is to have the source set the PAI header for you. CUCM supports this on the SIP Trunk and CUBE supports it under voice service voip, sip, asserted-id pai.

4. This likely warrants a SIP Profile since a translation rule/profile for calling number would likely impact FROM, PAI, and RPID. Cisco has a tool to test syntax with:


I think where I am getting lost is can this be done in one dial-peer? I know with the inbound DIDs I need to use 2 dial-peers to make this work, first copying the called number than do the DID routing. My ITSP does the same thing with incoming calls, all calls show my account number in the TO: I am currently running on a Cisco 1861 with CME. 


While every call has two dial-peers for the incoming and outgoing call legs, in the case of CME the incoming call leg for an outbound call for an IP Phone would be the POTS dial-peer of that ePhone DN. All of the items I described above are doable on a single VoIP dial-peer selected as the outbound call leg. I believe CME will generate PAI if you enable it using the command I specified above; however, that is a really old platform and I'll admit that my recollection of which features existed in those IOS versions is fading.

You comment about incoming calls needing two, I presume, VoIP dial-peers doesn't make sense either. The call should be routed based on the Request URI header, not the To header so you should not need a SIP Profile for that. Note that current versions of IOS do support applying a SIP Profile on an incoming dial-peer; however, the ISR G1 hardware falls well short of supporting those releases.
Content for Community-Ad