Vineet,
I don't know how to link old posts but there is one out there from December 2017 where I discuss different options for adding data to the SIP header as well as a response from another member. Below I copied and pasted the information from the old post which may help you:
-------------
I'm going to start with the standard disclaimer that you are going to be modifying a base system handler with no customization point so do this at your own risk. I take no responsibility for how you use the information below and you are responsible for any bad things that happen.
Alright now that we got that out of the way. I've been playing around with the SIP headers for transfers as well as conference calls. The Eic_UserToUserData attribute can be used to include values in a SIP header, however it adds everything to a single line and appends ININAttr: to the front of the value. This may not work for the 3rd party system you are interfacing with. If you have a SBC you could use header manipulation to remove the ININAttr value and reformat the string the way you need it.
I did also find that in handler System_InitiateCallRequest there is a tool step named Complete external call (extended) which has an input named Custom Headers. This value is not set to anything currently but if you put all of your values into the string separated by semi-colons the values will appear on their own lines. Note that the case is always forced to lower case. In your conference handler you should be able to assemble the custom values you want, set an attribute and then go modify System_InitiateCallRequest to catch the attribute and set it to the Custom Headers input of the tool step Complete External Call (Extended). Keep in mind that this handler is used for *ALL* calls out of the system so take caution when you modify this handler. I did open a ticket with Genesys support asking why there is no way to set the custom headers value with a customization and they said they raised this to dev as an enhancement request but obviously there is no telling when, if ever, they will add this to a customization point. -Mark
------------
Other contributors response:
-------------
Thanks for the reply Mark. We did see the toolstep you mention in System_InitiateCallRequest, but previous dealings with this handler broke the association with the original "Interaction 1" that we pull attributes from to make Interaction 2 (and the subsequent conference call) authenticate through the 3rd party IVR automatically. And as I'm sure you know, the toolstep isn't to be used outside of those system handlers, so that prompted me to look elsewhere. I did get the ININATTR working after posting yesterday. I was missing a few things to make it work the first time I tried it. We can now populate our attributes as we wish in this header and customize them out in the real SIP world. Hopefully, our 3rd party could pull from this header without too much customization on their end... But.... We also found that the existing Extended Place Call toolstep (which we were using in the existing handler flow to make Interaction 2, then conference Interaction 1 and 2 together) has an input of "Diversion Name" that we populated with a string value... and as long as we set a diversion reason (currently 11 = Away), the SIP diversion header is included with the initial invite as well, which gives us options if our 3rd party can't pull from the ININATTR header for whatever reason. This diversion is actually very minimal customization on our part, which makes it our number 1 choice if they can pull from the diversion header. At this point we have not had any sort of kick off meeting or anything yet, so this at least gives us options to discuss when that time comes. Our Cisco 4331 gateways would have no problem manipulating them if needed, but I don't even know what sort of connection we will have to them, or if any manipulation on our end will be needed via SBC, or if we'll have direct SIP connectivity through our firewalls/etc/etc/etc... Thanks again.
------------------------------
Mark Tatera
ConvergeOne
Opinions are my own and not the views of my employer. Any suggestions or programming changes I suggest come with no warranty and should be tried at your own risk.
------------------------------
Original Message:
Sent: 03-05-2019 06:31
From: Vineet Kakroo
Subject: How to add additional data to SIP header
Hello,
I have a requirement to add some additional information to an outbound SIP header before it is sent to another destination and this additional deader data will be retrieved once it is received at the other end.
I am not sure where to begin.
I had another similar requirement to receive additional SIP header in PureConnet and I managed to do it using 'SIP Line Configuration' tab in Line Configuration & under Headers subtopic using Interaction Administrator. Here I defined a custom attribute ABCD and then used a handler to retrieve the SIP header custom attribute 'EicSIPHeader_ABCD' and it fulfilled the requirement. I am now struggling with sending information back on a SIP header from PureConnect.
Regards
Vineet
#SIP/VolP
------------------------------
Vineet Kakroo
FIL Investment Management Ltd
------------------------------