Mapping of Diversion Information Between Diversion and History-Info Headers

History-Info and Diversion are the two headers in SIP signaling used to convey information related to call transfer and call diversion. Although both provide call diversion information, they have different syntaxes, the main difference being that the chronology of events is reversed between the two headers. To date, Oracle Communications Session Border Controllers have provided mapping and interworking of the History-Info and Diversion headers through the use of an SPL plug-in. This feature implements this interworking functionality within the software by adding a new parameter to the sip-interface configuration element.

The History-Info header is the standard solution adopted by the Internet Engineering Task Force (IETF) for storing retargeting information. The non-standard Diversion header also is used in many existing network implementations. As both headers provide call forwarding needs but have different syntaxes, having both present in a signaling request can cause diverting information to be misinterpreted unless an interworking solution exists. The solution currently is the use of a Session Plug-in Language (SPL) plug-in; however, this feature embeds the functionality within the software by adding the new parameter diversion-info-mapping-mode to the sip-interface configuration element. This functionality enables the SBC to construct a new History-Info header for each Diversion header or a new Diversion header for each History-Info header, initialized with the value of the History-Info header, when the SBC receives a SIP INVITE which does not contain a to-tag in the To header.

Diversion and History-Info Headers Interworking Configuration

You can configure Oracle Communications Session Border Controllers to map call transfer and call diversion information between Diversion and History-Info headers.

To configure interworking between the Diversion and History-Info headers:
  1. Access the sip-interface configuration element.
    ORACLE# configure terminal
    ORACLE(configure)# session-router
    ORACLE(session-router)# sip-interface
    ORACLE(sip-interface)# 
    
  2. Select the sip-interface object to edit.
    ORACLE(sip-interface)# select
    <RealmID>:
    1: realm01 172.172.30.31:5060
    
    selection: 1
    ORACLE(sip-interface)#
  3. diversion-info-mapping-mode— Configure this parameter to specify how the Diversion and History-Info headers map to and work with each other on the interface. The default value is none.
    • div2hist — any Diversion headers in the initial INVITEs going out of this sip-interface will be converted to History-Info headers before sending
    • force — behavior is the same as div2hist when a Diversion header is present in the incoming INVITE. If there are no Diversion headers, a History-Info header for the current URI is added in the outgoing INVITE.
    • hist2div — any History-Info headers in the initial INVITEs going out of this sip-interface will be converted to Diversion headers before sending
    • none — no conversion applied (default)
  4. Type done to save your configuration.