In this section:




The SBC supports SIPREC when the SIPREC specifications were in early drafts (draft-ietf-siprec-xx-06). With the implementation of this feature, the SIPREC standard has evolved to RFCs (RFC 7245, RFC 7865, RFC 7866, and RFC 8068), and provides capability for supporting "dynamically programmable" selection of metadata content.

  • The profile sipRecMetaDataProfile is introduced to the services to provide the capability to configure the headers that are mapped from the target call leg to the XML and the corresponding metadata XML element name.
  • In case of a basic call, all information is copied from the initial-INVITE message on the leg where the tap is, to the metadata XML. However, "To" header and "to-tag" is copied additionally from the local information (as to-tag does not present in the INVITE).
  • In case of SIPREC trigger during REFER based transfer, irrespective of where the SIPREC tap is, all information is copied from the initial-INVITE of the new call leg towards the transfer target (C party).
  • In case of CLI triggered recording, the existing implementation of sending predefined information in metadata XML remains same (gcid, call-id, from, to). The new configuration of header-metadata mapping is not considered in this scenario.

 


Note

The maximum size of the callData section in the metadata portion of the SIPREC INVITE sent towards SRS is 2,048 bytes.

Command Syntax

The command syntax to configure the sipRecMetadataProfile is shown below:

% set profiles services sipRecMetadataProfile <sipRecMetadataProfile>
    version <0..1>
    sipHeader <sipHeader>
        sipToXmlTagName <sipToXmlTagName>
    state <disabled | enabled>


The command syntax to attach the sipRecMetadataProfile to the SRS Trunk Group is shown below:

% set addressContext <addressContext> zone <zone> sipTrunkGroup <sipTrunkGroup> services sipRecMetadataProfile <sipRecMetadataProfile>

 The sipRecMetadataProfile must be attached to the sipTrunkGroup towards the SRS.

In order to maintain the backward compatibility use the below command with metadataSource set to "fromInvite":

set profiles service sipRecMetadataProfile <name> state <enabled/disabled> metadataSource<fromInvite/fromLatest> version<0/1> sipHeader <headerName> sipToXmlTagName <corresponding xml tag Name>

To enable this feature set metadataSource to "fromLatest":

set profiles service sipRecMetadataProfile <name> state <enabled/disabled> metadataSource<fromLatest> version<1> sipHeader <headerName> sipToXmlTagName <corresponding xml tag Name>

To trigger the SIPREC metadata XML update in case of early media:

set profiles service sipRecMetadataProfile <name> state <enabled/disabled> metadataSource<fromLatest> version<1> metaDataUpdateForEarlyMedia<Enabled/Disabled> sipHeader <headerName> sipToXmlTagName <corresponding xml tag Name>

To trigger the SIPREC metadata XML update in case of refer:

set profiles service sipRecMetadataProfile <name> state <enabled/disabled> metadataSource<fromLatest>  version<1> triggerMetadataUpdateForRefer<Enabled/Disabled> sipHeader <headerName> sipToXmlTagName <corresponding xml tag Name>


Command Parameters

SIPREC Metadata Profile parameters

ParameterLength/RangeDefaultDescriptionM/O
metaDataSourceENUMINITIAL_INVITE

INITIAL_INVITE:  Indicates to send header values from Initial INVITE Message.

LATEST: Indicates to send the most recent headers value/information beginning from SIP INVITE Message till the most recent SIP Request/Response Message on that particular call leg until the SBC triggers SIPREC INVITE towards the SRS.

M
MetaDataUpdateForEarlyMediaStatedisabled

For the early media scenario, the SIPREC is initiated already. On reception of SIP 200 OK, The SBC triggers the "SIPREC re-INVITE" with the updated metadata in SIPREC Metadata XML using the headers from the SIP 200 OK message based on the configuration. The CLI configuration "MetaDataUpdateForEarlyMedia" under "sipRecMetaDataProfile" is used to control this behavior.

  • disabled: To maintain the backward compatibility.
  • enabled: Only for "metaDataSource" set to "LATEST". SBC triggers SIPREC re-INVITE towards the SRS.
M

sipHeader <variable>

Up to 31 charactersN/A

Indicates the SIP header, which are included in the SRS call.

Note: Maximum 32 SIP headers can be created in one sipRecMetadataProfile.

O
sipRecMetadataProfile <variable> Up to 23 charactersN/AIndicates the name of the profile and specifies the SIP headers that are included in the SRS call.M

sipToXmlTagName <variable>

Up to 31 charactersN/AIndicates XML tag name for the configured SIP header.O
stateN/Adisabled

Indicates the admin state of the SIPREC metadata profile.

The options are:

  • disabled (default)
  • enabled
O
triggerMetadataUpdateForReferStatedisabled
  • disabled: To maintain backward compatibility.
  • enabled: The SBC triggers "SIPREC re-INVITE" towards the SRS on the occurrence of SIP REFER Message (The header values are taken from REFER message) to update the metadata in SIPREC Metadata XML based on the configuration in sipRecMetadataProfile.
M
version0 to 10

Indicates the SIPREC metadata profile version.

The options are:

  • 0(default): When the version is set as 0, the SBC supports backward compatibility and pre-defined metadata for passing proprietary call specific information from the SRC to the SRS.
  • 1: When the version is set as 1, the SBC supports dynamic configuration of the metadata variables.
O

Command Examples

Configuring sipRecMetadataProfile and attaching it to the SRS Trunk Group:

% set profiles services sipRecMetadataProfile SRMP_ING version 1 sipHeader P-Preferred-Identity sipToXmlTagName xPPreferredIdentity
% set profiles services sipRecMetadataProfile SRMP_ING state enable

In order to maintain the backward compatibility use the below command with metadataSource set to "fromInvite":

set profiles service sipRecMetadataProfile profile1 state enabled metadataSource fromInvite version 1 sipHeader from sipToXmlTagName xfrom

To enable this feature set metadataSource to "fromLatest":

set profiles service sipRecMetadataProfile profile2 state enabled metadataSource fromLatest version 1 sipHeader to sipToXmlTagName xto

To trigger the SIPREC metadata XML update in case of early media:

set profiles service sipRecMetadataProfile profile3 state enabled metadataSource fromLatest version 1 metaDataUpdateForEarlyMedia Enabled sipHeader contact sipToXmlTagName xcontact

To trigger the SIPREC metadata XML update in case of refer:

set profiles service sipRecMetadataProfile profile4 state enabled metadataSource fromLatest version 1 triggerMetadataUpdateForRefer Enabled sipHeader refer-to sipToXmlTagName xrefer-to