Showing results for 
Search instead for 
Did you mean: 

create pass-through in call manager to allow user-to-user field pass to ip phone

Good afternoon, I hope someone can help me with what I will explain below.
I have an integration from my Call manager via SIPtrunk through cube gateway with a Telefonica Avaya exchange. Through this integration, in the INVITE that receives the gateway I get a field called User-to-User with a code, this code should reach the telephone agent contact center (until the same phone, then with an application that is in development we can rescue it).

  Does anyone have a lua script, sip transparency or any idea to make a pass-through of the user-to-user field in the call manager and that allows to pass this field when the equipment signals to the telephone of the agent ?. thank you very much for your help.

Mark Stover
Cisco Employee

Hi Andres,

It is possible to pass it through, but how you approach it will depend on the SIP messages and where you are in the call dialog.

Where is this data in the SIP message? Is it a SIP header, a parameter on a SIP header, or is it in the message body?


Hello Mark.

I appreciate your answer to the topic, I´ll try to explain a little what need to do, to see if maybe you could help me with some idea about how to do it.

I currently have an integration of Call Manager v 9.1.2, using a Gateway Cube cisco 2951 with an Avaya telephone exchange. These devices are interconnected through a SIP trunk. From the Avaya call center, on the call, an 8-digit numeric code is sended, this is located in the user-to-user field, (this is in the INVITE that arrives from avaya to the cube). These numbers should be seen by my contact center agent, the issue is these numbers (comercial code) arrive until the CAll manager (due to a Pass-trough made in the cube gateway), but from there to the agent (CAD) or the phone device, this code does not arrive.

We are trying with LUA script to perform this step, but it did not work for us and it is the first time we tried to do this.

Attached is the SIP INVITE that arrives at the CUCM with the data that we need to visualize (comercial code).

I wanted to ask if you speak Spanish or only English, but is not problem write in english.

Greetings and thank you very much.Invite-Cod-Comercio.JPG

There seems to be some facility for extracting UUI info from SIP calls and making the data accessible in ICM scripts, though it seems that CVP may need to be in the architecture..?

Design Guide for Cisco Unified Customer Voice Portal, Release 10.5(1) - Features and Functions [Cisco Unified Customer …

Dear Friend
       Good afternoon, unfortunately we have no CVP implemented in our architecture and get it and implement it would take a long time for us, do you know if there is any other method or way in which to solve this? or is mandatory the use of CVP for the solution


Hi Andres,

Looking at the UCCE scripting docs, it seems like getting the SIP header is only available with CVP: Scripting and Media Routing Guide for Cisco Unified ICM/Contact Center Enterprise and Hosted for Release 10.5(1) - Use o…



Hi Andres,

Sorry for the delayed response, but my schedule has made me unavailable.

CUCM itself would provide transparency for the "User-to-User" header because it is not a 'known' SIP header (it's considered a vendor's private header). If you were sending this call out another SIP trunk, you should see this header being sent right along with the INVITE.

If it is a Cisco phone, there would be no native way to display the contents of that header. You would either need your Lua script to copy it into a displayable header (such as 'remote party id') that the phone would show. It will depend on the phone, it's configuration, and the connected call behavior (because display information can be updated after the agent answers).

I see that you you mention CAD. Are these calls being forwarded to UCCE or UCCX to reach the agent?




You can the following script in your SIP trunk, to get the UUI header passed through from CUCM.

M = {}

M.allowHeaders = {"User-to-User"}

function process_inbound_any_request(msg)

local uui_hdr = msg:getHeader("User-to-User")

  if uui_hdr
trace.format("process_inbound_any_request -- %s.LUA", "UUI found")

pt = msg:getPassThrough()
pt:addHeader("User-to-User", uui_hdr)

M.inbound_ANY           = process_inbound_any_request

return M

Recognize Your Peers
Content for Community-Ad