MSRP Configuration

MSRP configuration consists of the following steps.

  1. Configure the msrp-config configuration object that governs MSRP global behavior.
  2. Configure one or more tcp-media-profile configuration objects that define MSRP operations within a realm.
  3. Assign a tcp-media-profile to a target realm.
  4. If MSRP sessions are secured with TLS, create and assign tls-profile configuration objects to the tcp-media-profile of the target realm.
  5. Create and assign steering-pools configuration objects to target realms.

msrp-config Configuration

Use the following procedure to perform MSRP global configuration.

  1. From superuser mode, use the following command sequence to access 
msrp-config configuration mode. While in msrp-config mode, you configure global MSRP behavior.
    ORACLE# configure terminal
    ORACLE(configure)# media-manager
    ORACLE(media-manager)# msrp-config
    ORACLE(msrp-config)# ?
    state                     state
    uri-translation           perform translation of MSRP URI
    session-inactivity-timer  timer value (seconds) for session inactivity
                          monitoring period
    select                    select msrp config to edit
    no                        delete msrp config
    show                      show msrp config
    done                      write msrp config information
    exit                      return to previous menu
    ORACLE(msrp-config)#
  2. Use the state parameter to enable MSRP operations.

    Retain the default value, enabled, to enable MSRP operations.

    If necessary, you can use disabled to temporarily suspend all MSRP operations.

    ORACLE(msrp-config)# state enabled
    ORACLE(msrp-config)#
  3. Use the uri-translation parameter to enable or disable NAT of URIs found in the From-Path and To-Path headers of MSRP requests and responses, and in a=path attributes found in SDP offers.

    NAT is enabled by default.

    Retain the default value (enabled) to enable NAT; use disabled to disable NAT.

    ORACLE(msrp-config)# uri-translation enabled
    ORACLE(msrp-config)#
  4. Use the session-inactivity-timer parameter in connection with the 
msrp-delayed-bye-timer parameter to implement the delayed transmission of SIP BYE requests, thus establishing a configurable transition interval allowing for the completion of active MSRP sessions.

    The session-inactivity-timer parameter specifies the maximum inactivity interval (defined as the absence of transmitted data) tolerated before the MSRP connection is terminated.

    Retain the default value (5), or specify another inactivity interval within the range 5 to 10 seconds.

    ORACLE(msrp-config)# session-inactivity-timer 7
    ORACLE(msrp-config)#
  5. Use done, exit, and verify-config to complete MSRP global configuration.
  6. If you wish to implement the delayed transmission of SIP BYE requests, use the following command sequence to access sip-config configuration model
    ORACLE# configure terminal
    ORACLE(configure)# session-router
    ORACLE(session-router)# sip-config
    ORACLE(sip-config)#
  7. Use the msrp-delayed-bye-timer parameter to enable the delayed transmission of SIP BYE requests, thus establishing a configurable transition interval allowing for the completion of active MSRP sessions.

    The msrp-delayed-bye-timer parameter specifies the maximum delay period allowed before transmitting the delayed BYE request.

    Retain the default value (15), or specify another delay period within the range 1 to 60 seconds.

    Delayed transmission of BYE requests is enabled by default. Use the special value of 0 to disable delay, and transmit BYE requests immediately upon receipt.

    ORACLE(sip-config)# msrp-delayed-bye-timer 20
    ORACLE(sip-config)#

Configure tcp-media-profile

The tcp-media-profile defines Message Session Relay Protocol (MSRP) operations within a realm. You specify settings that are common to every tcp media profile, as well as optional settings that you use to customize a particular tcp media profile.

  • If you want to set a white list for allowed MSRP types, create the list before you perform this configuration.

Use the following procedure to build a TCP media profile that defines MSRP operations within a realm.

  1. Access the tcp-media-profile configuration element.
    ORACLE# configure terminal
    ORACLE(configure)# media-manager
    ORACLE(session-router)# tcp-media-profile
    ORACLE(tcp-media-profile)# 
  2. Type ? to begin construction of a TCP Media Profile.
    ORACLE# configure terminal
    ORACLE(configure)# media-manager
    ORACLE(media-manager)# tcp-media-profile
    ORACLE(tcp-media-profile)# ?
    name          name
    profile-list  list of TCP media profiles
    select        select profile to edit
    no            delete profile
    show          show profile
    done          write profile information
    exit          return to previous menu
    ORACLE(tcp-media-profile)#
  3. Use the name parameter to provide a unique identifier for this TCP Media Profile instance.
    ORACLE(tcp-media-profile)# name tlsMSRP
    ORACLE(tcp-media-profile)#
  4. Use the profile-list command to move to tcp-media-profile-entry configuration mode, where you complete configuration of the named tls-media-profile by setting the following parameters.
    ORACLE(tcp-media-profile)# profile-list
    ORACLE(tcp-media-profile-entry)# ?
    media-type                  media type
    transport-protocol          transport protocol
    listen-port                 listening port
    preferred-setup-role        preferred setup role
    tls-profile                 tls profile name
    require-fingerprint         always require TLS certificate fingerprint
    msrp-cema-support					      negotiate support for CEMA extension
    msrp-sessmatch								      validate MSRP To-Path header based only on the session-id field and MSRP transport type
    msrp-message-size-enforce   reject the MSRP messages exceeding the negotiated maximum size or abort file transfers when negotiated maximum size is exceeded
    msrp-message-size											maximum size negotiated for the MSRP messages; a value of 0 indicates that no maximum limit is enforeced
    msrp-message-size-file						maximum size negotiated for the MSRP file transfer; a value of 0 indicates that no maximum limit is enforced
    msrp-types-whitelist								whitelist of supported MSRP media types
    select                      select a profile entry to edit
    no                          delete selected profile entry
    show                        show profile entry information
    done                        write profile entry information
    exit                        return to previous menu
    ORACLE(tcp-media-profile-entry)#
  5. Use the media-type parameter in conjunction with the transport-protocol parameter to identify the media-types and transport protocols (found in the SDP media description, m=, field as described in RFC 4566, SDP: Session Description Protocol) subject to this TCP Media Profile.

    media-type identifies the media subject to this TCP Media Profile. Retain the default value, message, for MSRP operations.

    transport-protocol identifies the transport layer protocols subject to this TCP Media Profile. Use either TCP/MSRP to specify unsecured TCP traffic or TCP/TLS/MSRP to specify secured, encrypted TLS traffic.

    ORACLE(tcp-media-profile-entry)# transport-protocol TCP/TLS/MSRP
    ORACLE(tcp-media-profile-entry)#
  6. When the transport-protocol is TCP/TLS/MSRP, use the tls-profile parameter to identify the TLS profile that specifies the cryptographic resources available to support TLS operations.

    This parameter can be safely ignored if transport-protocol is TCP/MSRP.

    ORACLE(tcp-media-profile-entry)# tls-profile msrp1
    ORACLE(tcp-media-profile-entry)#
  7. When the transport-protocol is TCP/TLS/MSRP, use the require-fingerprint parameter to enable or disable endpoint authentication using the certificate fingerprint methodology defined in RFC 4572, Connection-Oriented Media Transport over the Transport Layer Security (TLS) Protocol in the Session Description Protocol (SDP).

    By default, mutual authentication is disabled.

    This parameter can be safely ignored if transport-protocol is TCP/MSRP.

    ORACLE(tcp-media-profile-entry)# require-fingerprint enabled
    ORACLE(tcp-media-profile-entry)#
  8. Use the listen-port parameter to identify the TCP port monitored by the B2BUA for incoming MSRP connections. The 0 default value indicates that the B2BUA will choose the listening port from the steering pool of the realm (which the tcp-media-profile belongs to). Valid values: 0-65535. Default: 0.
    ORACLE(tcp-media-profile-entry)# listen-port 43000
    ORACLE(tcp-media-profile-entry)#
  9. Use the preferred-setup-role parameter to specify the value the B2BUA uses for the a=setup attribute when negotiating the setup up role, regardless of the role (offerer or answerer) assumed by the B2BUA in the SDP offer- answer exchange.
    ORACLE(tcp-media-profile-entry)# preferred-setup-role passive
    ORACLE(tcp-media-profile-entry)#
    The value of preferred-setup-role is used for the value of the a=setup attribute when the B2BUA makes an offer SDP and when the B2BUA replies to an offer SDP that has a=setup:actpass. It is not used when the B2BUA is forced into a role by the offerer, that is, if the offerer sends a=setup:active, the B2BUA must answer with a=setup:passive (and vice versa). Valid values: passive | active. Default: passive.
    • Passive—Recommended. Indicates that the B2BUA accepts an incoming connection.
    • Active—Indicates that the B2BUA creates an outgoing connection.
  10. Use the msrp-cema-support parameter to specify whether or not the SBC negotiates support for the CEMA extension (RFC6714) for TCP or TLS connections to and from the realm associated with the current TCP media profile. Enable the CEMA extension to enable the SBC to exchange MSRP traffic through middleboxes that anchor the media, but do not touch the SDP a:path attribute. Valid values: enabled | disabled. Default: disabled.
    ORACLE(tcp-media-profile-entry)# msrp-cema-support enabled
    ORACLE(tcp-media-profile-entry)#
  11. Use the msrp-sessmatch parameter to specify whether or not the SBC validates the MSRP To-Path header based only on the session-id field and MSRP transport type of the MSRP URI (and not also on the IP address and port number in the authority part of the MSRP URI). Sessmatch enables the SBC to exchange MSRP traffic through Middleboxes that anchor the media and also adjust the SDP a=path attribute. Valid values: enabled | disabled. Default: disabled.
    ORACLE(tcp-media-profile-entry)# msrp-sessmatch enabled
    ORACLE(tcp-media-profile-entry)#
  12. Use the msrp-message-size-enforce parameter to specify one element in a whitelist of allowed MSRP media types. Media types not included on the whitelist will be removed from the SDP a=accept-types attribute of the SDP offers. A "*" indicates that all MSRP media types are allowed. When left empty, it indicates that no media types filtering is performed. Valid value: MsrpMediaTypeList.
    ORACLE(tcp-media-profile-entry)# msrp-message-size-enforce enabled
    ORACLE(tcp-media-profile-entry)#
  13. Use the msrp-message-size parameter to specify the maximum size (in bytes) that MSRP is allowed to negotiate for the messages. It represents the maximum limit for the SDP a=max-size attribute, for the "size" token of the SDP a=file-selector attribute and MSRP Byte-range header. A value of 0 indicates that no maximum limit is enforced. Valid values: 0-4,000. Default: 0.
    ORACLE(tcp-media-profile-entry)# msrp-message-size 2000
    ORACLE(tcp-media-profile-entry)#
  14. Use the msrp-message-size-file parameter to specify whether MSRP messages exceeding the negotiated size are rejected, respectively whether MRSP file transfers will be aborted when the negotiated size is exceeded. A value of 0 indicates that no maximum limit is enforced. Valid values: 0-4G. Default: 0.
    ORACLE(tcp-media-profile-entry)# msrp-message-size-file 4
    ORACLE(tcp-media-profile-entry)#
  15. Use the msrp-types-whitelist parameter to specify a list of registered MSRP media types (RFC4975) supported for the ingress realm.
    ORACLE(tcp-media-profile-entry)# msrp-types-whitelist <listname>
    ORACLE(tcp-media-profile-entry)#
  16. Use done, exit, and verify-config to complete tcp-media-profile configuration.
  • Repeat the procedure to configure each additional tcp-media-profile that you need.
  • Apply the profile to a realm.

Assign a tcp-media-profile to a Realm

Use the following procedure to assign a single, specific tcp-media-profile to a target realm.

  1. From superuser mode, use the following command sequence to access 
realm-config configuration mode. While in realm-config mode, you assign a 
tcp-media-profile to a realm.
    ORACLE# configure terminal
    ORACLE(configure)# media-manager
    ORACLE(media-manager)# realm-config
    ORACLE(realm-config)#
  2. Use the select command to identify the target realm.
  3. Use the tcp-media-profile parameter to assign a specific, named 
tcp-media-profile to the target realm.
    ORACLE(realm-config)# tcp-media-profile tlsMutualAuth
    ORACLE(realm-config)#
  4. Use done, exit, and verify-config to complete tcp-media-profile assignment.

tls-profile Configuration

Use the following procedure to create a tls-profile configuration object, which specifies cryptographic resources available in support of TLS operations.

Note:

The option allow-self-signed-cert is only available for MSRP connections.
  1. Access the tls-profile configuration element.
    ORACLE# configure terminal
    ORACLE(configure)# security
    ORACLE(security)# tls-profile
    ORACLE(tls-profile)# 
  2. Use the name parameter to provide a unique identifier for this TLS Profile instance.
    ORACLE(tls-profile)# name tlsMutualAuth
    ORACLE(tls-profile)#
  3. If the require-fingerprint attribute of the tcp-media-profile is set to enabled, use the mutual-authenticate parameter to enable mutual authentication.
    ORACLE(tls-profile)# mutual-authenticate enabled
    ORACLE(tls-profile)#
  4. Retain default values for other parameters.
  5. Type done to save your configuration.
  6. Repeat Steps 1 through 5 to configure additional tls-profiles as required.

MSRP Statistics

MSRP byte and packet counters are available at the end of each MSRP call. They can be accessed in stop records using the following interfaces:
  • RADIUS VSAs and Local CDR. See "Oracle RADIUS VSAs" and "AVP Definitions" in the Accounting Guide for details.
  • Diameter Rf ACR messages. See "Acme-Packet-Specific-Extension-Rf AVP" in the Accounting Guide for details.
  • MSRP Objects for SNMP. See "SIP MIB (ap-sip.mib) in the MIB Reference Guide for details.

Transmitted and received counters are available in Acme-Extended-Attributes. See "Acme-Extended-Attributes Explanation" in the Accounting Guide for more information.