In this section:
The
MSRP session setup is similar to audio and video sessions. For details, refer to MSRP Session Setup and MSRP Call Flow Example.
MSRP/TCP and BFCP/TCP use ephemeral port range and are not displayed as regular media. BFCP/UDP uses media port range (UDP), therefore, it is visible.
MSRP support is enabled or disabled on a per-trunk group basis, and is controlled by the SIP trunk group media flag called "msrp". By default, MSRP is enabled. The CLI syntax is shown below:
% set addressContext <addressContextName> zone <zoneName> sipTrunkGroup <trunkGroupName> media msrp <enabled | disabled>
Refer to SIP Trunk Group - Media - CLI or SIP Trunk Group - Media (EMA) for configuration details.
The
% set addressContext <addressContextName> zone <zoneName> sipTrunkGroup <trunkGroupName> media sourceAddressFiltering <enabled | disabled>
See SIP Trunk Group - Media - CLI or SIP Trunk Group - Media (EMA) for configuration details.
This port range is used by the
% set system media tcpPortRange {1024..65535}
See Media System - CLI for configuration details.
Differentiated Services Code Point (DSCP) is an IP packet field that enables different levels of service to be assigned to network traffic. DSCP is the combination of IP Precedence and Type of Service fields. The
% set profiles media packetServiceProfile <profileName> qosValues msrpDscp <value to be set>
See Packet Service Profile - CLI or Media Profiles - Packet Service Profile (EMA) for configuration details.
MSRP traffic can consume significant bandwidth depending upon the application. For example, a UA that wishes to transfer a file using MSRP can potentially use up significant amount of bandwidth as compared to a UA that uses MSRP to send an instant message. To limit bandwidth usage, reserve a percentage of bandwidth across all physical interfaces using the following CLI command. The default value is "0" %.
% set system media dedicatedBWForNonRTPMedia <0...50>
For default values, the bandwidth available for RTP traffic across all interfaces will continue to be 95%, MSRP shares the 5% remaining bandwidth with signaling. This is suitable only when the expected bandwidth usage for MSRP is minimal and not expected to grow any larger.
Ideally, a percentage of the interface should be reserved for MSRP by setting a non-zero value. This will accordingly reduce the available bandwidth for RTP from 95%. However, this will guarantee that aggregate MSRP traffic usage does not exceed the reserved bandwidth, thereby not interfering with RTP or Signaling.
See Media System - CLI for configuration details.
The number of active MSRP sessions allowed on the
% set addressContext <addressContextName> zone <zoneName> sipTrunkGroup <trunkGroupName> cac tcpMediaLimit <0...5000>
See SIP Trunk Group - CAC - CLI or SIP Trunk Group - CAC (EMA) for configuration details.
MSRP can be configured for Direct Media mode similarly to audio or video. In Direct Media mode, MSRP packets are exchanged directly between the UAs without traversing the
To configure MSRP for Direct Media, do the following:
Enable the Direct Media flag in the Packet Service Profiles. If using different packet service profiles on both legs of the call, enable Direct Media on both packet service profiles. For example:
% set profiles media packetServiceProfile PUBLIC_leg flags useDirectMedia enable % set profiles media packetServiceProfile PRIVATE_leg flags useDirectMedia enable
Enable the Direct Media control flag on the SIP trunk groups used for both legs of the MSRP session. For example:
% set addressContext default zone PUBLIC sipTrunkGroup PUBLIC_TG media directMediaAllowed enabled % set addressContext default zone PRIVATE sipTrunkGroup PRIVATE_TG media directMediaAllowed enabled
See following pages for configuration details:
MSRP UAs residing behind NAT can be configured at the SIP trunk group as follows. For example:
% set addressContext default zone PUBLIC sipTrunkGroup PUBLIC_TG services natTraversal mediaNat enabled
As described in the "Connection Negotiation" section of MSRP Session Setup page, with NAT enabled, the SBC always plays a TCP server role expecting the UAs to connect to it. To ensure that no malicious client connects to the SBC, enable the following configuration to validate that the connecting peer’s MSRP IP address belongs to the same subnet as the SIP signaling IP from where the INVITE originated. For example:
% set addressContext default zone PUBLIC sipTrunkGroup PUBLIC_TG services natTraversal secureMediaNatPrefix 29
See SIP Trunk Group - Services - CLI or SIP Trunk Group - Services (EMA) for configuration details.
The
CLI Example:
> show status global callMediaStatus callMediaStatus 786432 { mediaStreamsInCall audio,TCP/MSRP/CHAT; : mediaStream3Label TCP/MSRP/CHAT; ingressMediaStream3OctetsSent 136; ingressMediaStream3OctetsReceived 136; egressMediaStream3OctetsSent 136; egressMediaStream3OctetsReceived 136; egressMediaStream3TcpRole server; ingressMediaStream3TcpRole server; > show status global callDetailStatus callDetailStatus 786432 { mediaStreams audio,TCP/MSRP/CHAT; : ingressMediaStream3LocalIpSockAddr "10.7.16.108/ 2000"; ingressMediaStream3RemoteIpSockAddr "10.7.6.40/ 42580"; egressMediaStream3LocalIpSockAddr "10.7.16.109/ 2000"; egressMediaStream3RemoteIpSockAddr "10.7.6.40/ 42579";
See Show Status Global (CLI) or Global - Call Media Status (EMA) for details.
Call Detail Record Example:
230.14 mediaType2 : TCP/MSRP/FILEXFER 230.15 streamIndex2 : 2 230.16 ingress codec used2 : n/a 230.17 ingress local IP2 : 10.54.20.29:2000 230.18 ingress remote IP2 : 10.70.56.124:59112 230.22 egress local IP2 : 10.54.21.29:2000 230.23 egress remote IP2 : 10.54.21.29:2001 231.16 mediaType2 : TCP/MSRP/FILEXFER 231.17 streamIndex2 : 2 231.18 ingress packetSent2 : 0 231.19 ingress packetReceived2 : 0 231.20 ingress octetSent2 : 804 231.21 ingress octetReceived2 : 5634 231.22 ingress packetLost2 : 0 231.23 ingress packetDiscarded2 : 0 231.24 egress packetSent2 : 0 231.25 egress packetReceived2 : 0 231.26 egress octetSent2 : 5634 231.27 egress octetReceived2 : 804 231.28 egress packetLost2 : 0 231.29 egress packetDiscarded2 : 0"