PureConnect

 View Only

Discussion Thread View
  • 1.  How to add additional data to SIP header

    Posted 03-05-2019 06:31
    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
    ------------------------------


  • 2.  RE: How to add additional data to SIP header

    Posted 03-06-2019 10:50
    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.
    ------------------------------



  • 3.  RE: How to add additional data to SIP header

    Posted 03-07-2019 08:42
    Thanks Mark,

    I will go through it and try it out.

    Regards
    Vineet

    ------------------------------
    Vineet Kakroo
    FIL Investment Management Ltd
    ------------------------------



  • 4.  RE: How to add additional data to SIP header

    Posted 03-11-2019 12:01
    Hi Mark,

    I tried the approach but in my case the System_InitiateCallRequest handler does not fire as I tried it in debug.

    The handler I have written is transferring the inbound call i have received with a custom SIP header (defined in IA for the line), to another external number using the "Extended Place Call" followed by "Transfer" tools. This way the call does not hit the System_InitiateCallRequest handler.

    As per the help on IA (Lines / SIP Line Configuration / Headers), the header values configured in 'Transferred Headers' would be used to receive specific SIP INVITE headers and then transfer them to SIP outbound INVITE. It does not seem to work either. Not sure what I am doing wrong.

    Any help would be really useful.

    Regards

    ------------------------------
    Vineet Kakroo
    FIL Investment Management Ltd
    ------------------------------



Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources