Showing results for 
Search instead for 
Did you mean: 

SIP - P-Asserted-Identity or Remote-Party-ID modify

Jake Riecken
Level 1
Level 1

Hi All,

We have recently transitioned to SIP with AT&T.  One issue we have ran into is that our Call Center Agents have a NON-DID extension for Agent that is masked with our 800 number.  On SIP it appears AT&T is policing the numbers for Toll Free Calls.  Now when agents try to dial out to Toll Free numbers they get a fast busy disconnect because the masked 800 number is not associated with the IP Flex trunk.  It is my understanding we can insert a Diversion header, P-Asserted-Indentity, or  Remote-Party-ID modify to allow this?  I have tried to insert some of these options with no luck.  Any ideas on how to achieve this goal?  Below is a example of what we want and current voice class sip-profile


"13005" NON-DID Agent extension masked with 800731XXXX via CUCM (not asscoiated with IP Flex Trunk) needs to be able to call toll free numbers. 

How can we mask the numbers with 812250XXXX (associated with IP Flex) to allow them to dial toll free but still "trick" the Caller ID of customers to see 800731XXXX.


voice class sip-profiles 1

response ANY sip-header Allow-Header modify "UPDATE," ""

request INVITE sdp-header Audio-Attribute modify "a=ptime:20" "a=ptime:30"

response ANY sdp-header Audio-Attribute modify "a=ptime:20" "a=ptime:30"

request REINVITE sdp-header Attribute modify "a=T38FaxFillBitRemoval:0" ""

request INVITE sdp-header Audio-Attribute add "a=ptime:30"



7 Replies 7

Jake Riecken
Level 1
Level 1

Here is what I have in the config now.  I would like to get 8122507111 to show up as 8007312020 in the caller ID of 8124496000

voice class sip-profiles 3

request INVITE sip-header P-Asserted-Identity modify "<8122507111>" "<8007312020>"


translation-rule 1

Rule 0 ^912 2

Rule 1 ^913 3

Rule 2 ^914 4

Rule 3 ^915 5

Rule 4 ^916 6

Rule 5 ^917 7

Rule 6 ^918 8

Rule 7 ^919 9

Rule 8 ^90 0


no dtmf-interworkingdial-peer voice 112 voip
description Call Masking 8007312265
destination-pattern 918124496000
translate-outgoing called 1
session protocol sipv2
session target sip-server
voice-class sip asymmetric payload full
voice-class sip asserted-id pai
voice-class sip privacy-policy passthru
no voice-class sip outbound-proxy
voice-class sip early-offer forced
voice-class sip profiles 3
dtmf-relay rtp-nte
no dtmf-interworking

Did you ever resolve this?

Hi James,

Yes we resolved the issue by inserting a Diversion Header with a valid phone number within the IP Flex range.

Below is an example of the diversion header we implemented.  X's are the valid phone number and the the ip is the loopback ip for signaling.  Also we created a seperate dial-peer for TF calles and pointed to this SIP Profile.  This is so all calls will not use this Diversion Header only Toll Free,

voice class sip-profiles 3

response ANY sip-header Allow-Header modify "UPDATE," ""

request INVITE sip-header Diversion add "Diversion: "

request INVITE sdp-header Audio-Attribute modify "a=ptime:20" "a=ptime:30"

response ANY sdp-header Audio-Attribute modify "a=ptime:20" "a=ptime:30"

request REINVITE sdp-header Attribute modify "a=T38FaxFillBitRemoval:0" ""

request INVITE sdp-header Audio-Attribute add "a=ptime:30"

Jake I messed around with what you did  here. I have a similar issue. However, I need to insert a diversion header with a remote-party ID on calls we have set to call forward all so that the original caller ID shows up. Our SIP carrier also blocks calls made from numbers that are not associated to our trunks. So if an external caller calls my work line and I have it forwarded to my cell, I see the call coming from my work, and not the original caller.

Interestingly enough, we also use remote destination profiles. When a caller calls my work and my remote destination profile is set to ring my cell, my cell phone caller ID will show up with the original caller ID, not my work line. Which makes me think there is someway around this. Here is the call setup from my remote destination profile. My cell shows up with the remotecell caller ID in this example.

INVITE sip:MyCellNumber@XXX.233.254.122:5060 SIP/2.0
Via: SIP/2.0/TCP;branch=z9hG4bK114acd920812e33
From: "FORT COLLINS,CO" <sip:ExternalCell@>;tag=28473988~c1e2d0d7-6a9a-4286-8e44-98cf7a782c3f-69939613
To: <sip:MyCellNumber@XXX.233.254.122>
Date: Thu, 17 Dec 2015 02:56:04 GMT
Call-ID: b4fb3f80-67212444-e0647b-1601c80a@
Supported: timer,resource-priority,replaces
Min-SE:  1800
User-Agent: Cisco-CUCM10.5
CSeq: 101 INVITE
Expires: 180
Allow-Events: presence
Supported: X-cisco-srtp-fallback
Supported: Geolocation
Call-Info: <urn:x-cisco-remotecc:callinfo>;x-cisco-video-traffic-class=VIDEO_UNSPECIFIED
Cisco-Guid: 3036364672-0000065536-0001250347-0369215498
Session-Expires:  1800
Diversion: "Matt" <sip:MyIPPhone@>;reason=follow-me;privacy=off;screen=yes
Remote-Party-ID: "FORT COLLINS,CO" <sip:ExternalCell@>;party=calling;screen=yes;privacy=off
Contact: <sip:ExternalCell@;transport=tcp>;isFocus
Max-Forwards: 70
Content-Length: 0


Any luck resolving this?  I am currently faced with same issue.

I have Diversion header, and P-assert on trunk. 

Matt, can you share how you resolved your issue of getting the original caller id to the cell phone coming from your work phone that is set up to forward calls? Thanks.

Is diversion config missing??
I was curious where or how the number gets changed in the sip profile. You mention xxx and att loopback, but don't see them in your example. Would greatly appreciate to see the full example as I am having ATT calls rejected with 800numbers from non ATT. DIDs