Inserting SIP Headers into SIPREC Metadata
The SIPREC Extension Data Enhancements SPL provides additional header information in the originating SIP messages metadata sent to the Interactive Session Recorder. With this SPL, you can introduce more options for recording policy decisions when using the SIPREC feature of the Oracle® Enterprise Session Border Controller (ESBC). The enhanced metadata also allows for the realm-id to be used as an indicator of the recording account. The SPL also provides configurable values that collect additional header information to store in the metadata.
When the SPL is configured, the SIPREC Extension Data Enhancements SPL is only triggered upon INVITE/UPDATE requests, and stores the additional header information in the metadata that is sent to the Interactive Session Recorder (ISR). Metadata is a XML MIME attachment that describes recording details to the ISR.
By default, the Extension-Headers SPL option collects only the Request-URI in a received INVITE. You can store additional header information by configuring the SPL with additional attributes in the spl-options under the global spl-config. The values must be in a comma separated list enclosed in double quotation marks. For example:
Extension-Headers="P-Asserted-Identity,Diversion"
This configuration of the Extension-Headers option adds the originating Request-URI along with all P-Asserted-Identity and Diversion-Headers into the participant section of the metadata.
You can configure the LRE-Identifier SPL option to add an identifier of the logical remote entity (LRE) that triggered the recording to the <apkt:realm> element of the extension metadata. When configured with a value added, the value appears in place of the identifier. When configured without a value, the identifier of the logical remote entity is used. For example, session-agent will be the hostname, realm-config will be the realm, and sip-interface will be the realm name.
Note:
Both options are required for the SPL to function properly.Sample Metadata
The sample below shows metadata with new extension data added by the SIPREC Extension Data Enhancements SPL:
<?xml version="1.0" encoding="UTF-8"?>
<recording xmlns="urn:ietf:params:xml:ns:recording">
<datamode>complete</datamode>
<session id="BYiC7uSZQGN3VQdzWI1HWw==">
<associate-time>2012-06-26T13:44:13</associate-time>
</session>
<participant id="hq18GJs3TtJdhjPsfPNV8A==" session="BYiC7uSZQGN3VQdzWI1HWw==">
<nameID aor="sip:sipp@192.168.10.1">
<name>sipp</name>
</nameID>
<send>aD50KX+LTvxNzASg+/GQTg==</send>
<associate-time>2012-06-26T13:44:13</associate-time>
<extensiondata xmlns:apkt="http://acmepacket.com/siprec/extensiondata">
<apkt:callingParty>true</apkt:callingParty>
<apkt:request-uri>sip:service@192.168.101.13:5060 </apkt:request-uri>
<apkt:in-realm>net192</apkt:in-realm>
<apkt:header label="P-Asserted-Identity">
<value>sip:mike@example.com</value>
<value>sip:bob@example.org</value>
</apkt:header>
<apkt:header label="Diversion">
<value><sip:jojo@example1.com>;happy=days;green=envy</value>
<value><sip:bebe@example2.net>;green=monster;go=carts</value>
<value><tel:+8675309;night=mare>;gear=head;green=monitor</value>
</apkt:header>
</extensiondata>
</participant>
<participant id="Ki6WEUi4TPRUPLtEaEhA7Q==" session="BYiC7uSZQGN3VQdzWI1HWw==">
<nameID aor="sip:service@192.168.101.13">
<name>sut</name>
</nameID>
<send>f9NDVhyMTul+ePlM2SceQA==</send>
<associate-time>2012-06-26T13:44:13</associate-time>
<extensiondata xmlns:apkt="http://acmepacket.com/siprec/extensiondata">
<apkt:callingParty>false</apkt:callingParty>
</extensiondata>
</participant>
<stream id="aD50KX+LTvxNzASg+/GQTg==" session="BYiC7uSZQGN3VQdzWI1HWw==">
<label>65804</label>
<mode>separate</mode>
<associate-time>2012-06-26T13:44:13</associate-time>
</stream>
<stream id="f9NDVhyMTul+ePlM2SceQA==" session="BYiC7uSZQGN3VQdzWI1HWw==">
<label>65805</label>
<mode>separate</mode>
<associate-time>2012-06-26T13:44:13</associate-time>
</stream>
</recording>
Configure SIP Headers for SIPREC Metadata
To get more detailed information about a recorded session, you can add more SIP headers within the SIPREC metadata by way of the Extension-Headers option. The default behavior stores only the Request-URI and realm-id.
You must configure the Extension-Headers option at the global level under spl-config because the session-agent, realm-config, and sip-interface configurations do not recognize the option. The first time you configure one or more extension headers, you need only to save and activate the configuration for the system to recognize the extension headers. When you modify the existing SPL extension header list you need to save and activate the configuration, and reboot the system for the changes to take effect. Real Time Configuration (RTC) does not apply to extension header options.
Configure LRE for SIPREC Metadata
The LRE-Identifier option may be configured on each session-agent, realm-config, or sip-interface that interacts with the session recording server. This option is not recognized in the global spl-config. This option is required for SPL functionality.
To configure the LRE-Identifier option: