In this section:
The SBC uses a third-party transcoding called Media Resource Function (MRF) to transcode audio and relay video/T140. The SBC inter-operates only with Media Resource Function (MRF) a third-party application/tool.
Only SBC SWe on OpenStack (D-SBC) supports this enhancement.
The SBC supports the following:
The SBC supports this functionality only for MRF transcoded calls on D-SBC platform.
If the Packet Service Profile is configured as "Transcode-only", the SBC transcodes the audio and relays video/ T140.
The limitations are:
For more information on CLI changes and CDR changes, refer to:
The following existing controls that cause the SBC to include DSP applies when invoking MRF.
Create path check profile, ARS profile, and CAC profile during the initial configuration.
Sonus recommends to not configure Path Check Profile and SIP ARS Profile on the same peer to avoid unexpected results. As a general rule, the Path Check Profile is configured on the access leg where there is less traffic, and the ARS Profile is configured on the peer leg where there is continuous traffic.
The Path Check Profile specifies the conditions that constitute a connectivity failure, and in the event of such a failure, the conditions that constitute a connectivity recovery.
For more information on creating IP Peer, refer to System Provisioning - Ip Peer for GUI or Zone - IP Peer - CLI.
The Address Reachability Service (ARS) determines whether a server is reachable, able to blacklist a server IP address when unreachable, and remove the server from blacklist state. ARS profiles can be created to configure blacklisting and recovery algorithm variants. For more information, refer to Service Profiles - Sip Ars Profile (EMA) or SIP ARS Profile - CLI.
Create an ARS profile and attach to the MRF TG as configured in the cluster profile. The ARS feature controls the congestion to handle the 503 response.
The Call Admission Control (CAC) feaure creates and configures a profile that provides each registered SIP or static endpoint to have individual limits on the number of active calls and the call rates. For more information, refer to CAC Provisioning - SIP CAC Profile.
For TG CAC, create CAC profile and attach to the MRF TG as configured in the cluster profile.
In a cluster profile, you can configure the routing type for FQDN or a list of IP addresses. If FQDN is chosen, the FQDN resolves into a list of IP addresses.
If the MRF profile is configured with a list of MRF server IP addresses and a call is routed to MRF server(s) as follows:
Example: The MRF profile is configured with a list of MRF server IP addresses such as IP1, IP2, IP3 and IP4, then for the 1st call, S-SBC tries to connect for MRF server IP1. Meanwhile, S-SBC received 2nd, 3rd, 4th calls and connected to the MRF servers IP2, IP3 and IP4 respectively. For the 1st call, the S-SBC has received a Failure/No response from the MRF server IP1. Hence, the S-SBC tries with IP2 and connects successfully.
Signaling and Media flow for a transcoded call using S-SBC, M-SBC and MRF:
The following CLI command is required to configure the MRF cluster profile in M-SBC.
To configure Private IP Interface Group that communicates towards MRF, execute the loadBalancingService
set command:
% set system loadBalancingService privateIpInterfaceGroupName <Private IP Interface Group Name>
To view the configured Private IP Interface Group Name, execute the loadBalancingService
show command:
groupName njmsbclbs.njmrfdsbc.com; privateIpInterfaceGroupName SLIG2;
The following CLI can be used to get the media statistics corresponding to private NIF resources for an MRF call.
> show status global callRemoteMediaStatus callRemoteMediaStatus 67108888 0 { streamId 0; resId 116; resType xresUser; legId 0; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); localRtpPort 1082; remoteRtpPort 8999; remoteRtcpPort 9000; rtpPacketSent 78; rtpPacketRecv 656; rtcpPacketSent 0; rtcpPacketRecv 0; rtpPacketDiscard 0; } callRemoteMediaStatus 67108888 1 { streamId 0; resId 117; resType xresUser; legId 0; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); localRtpPort 1140; remoteRtpPort 1076; remoteRtcpPort 1077; rtpPacketSent 656; rtpPacketRecv 78; rtcpPacketSent 0; rtcpPacketRecv 0; rtpPacketDiscard 0; } callRemoteMediaStatus 67108888 2 { streamId 0; resId 118; resType xresUser; legId 1; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); localRtpPort 1082; remoteRtpPort 8955; remoteRtcpPort 8956; rtpPacketSent 417; rtpPacketRecv 2; rtcpPacketSent 0; rtcpPacketRecv 0; rtpPacketDiscard 0; } callRemoteMediaStatus 67108888 3 { streamId 0; resId 119; resType xresUser; legId 1; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); localRtpPort 1142; remoteRtpPort 1076; remoteRtcpPort 1077; rtpPacketSent 2; rtpPacketRecv 417; rtcpPacketSent 0; rtcpPacketRecv 0; rtpPacketDiscard 0; }
Use the following CLI 'show' command to view the call statistics for an MRF call.
> show status global callDetailStatus
The callDetailStatus command contains the following new fields (with example output):
ingressPrivStream1LocalIpSockAddr "fd00:10:6b50:4d51::3/ 1140 (rtcp: 1141)"; ingressPrivStream1RemoteIpSockAddr "fd00:10:6b50:4d30::7f/ 1076 (rtcp: 1077)"; egressPrivStream1LocalIpSockAddr "fd00:10:6b50:4d51::3/ 1142 (rtcp: 1143)"; egressPrivStream1RemoteIpSockAddr "fd00:10:6b50:4d40::7e/ 1076 (rtcp: 1077)"; transcodeResType mrf; mrfSignalingInfo "fd00:10:6b50:4d30::7f/ 5060";
show status global callDetailStatus callDetailStatus 67108888 { mediaStreams audio; state Stable; callingNumber ""; calledNumber 7894561232; addressTransPerformed none; origCalledNum ""; scenarioType SIP_TO_SIP; callDuration 6; mediaType transcode; associatedGcid1 67108888; associatedGcid2 67108888; associatedGcidLegId1 1; associatedGcidLegId2 0; ingressSessionBandwidthkbps 32; egressSessionBandwidthkbps 16; ingressMediaStream1LocalIpSockAddr "fd00:10:6b50:4d50::3/ 1082 (rtcp: 1083)"; ingressMediaStream1RemoteIpSockAddr "fd00:10:6b50:4500::78/ 8999 (rtcp: 9000)"; egressMediaStream1LocalIpSockAddr "10.54.227.131/ 1082 (rtcp: 1083)"; egressMediaStream1RemoteIpSockAddr "10.54.80.8/ 8955 (rtcp: 8956)"; ingressMediaStream1Security rtp-disabled,rtcp-disabled; egressMediaStream1Security rtp-disabled,rtcp-disabled; ingressMediaStream1Bandwidth 32; egressMediaStream1Bandwidth 16; ingressMediaStream1IceState NONE; egressMediaStream1IceState NONE; ingressDtlsStream1 DISABLED; egressDtlsStream1 DISABLED; ingressPrivStream1LocalIpSockAddr "fd00:10:6b50:4d51::3/ 1140 (rtcp: 1141)"; ingressPrivStream1RemoteIpSockAddr "fd00:10:6b50:4d30::7f/ 1076 (rtcp: 1077)"; egressPrivStream1LocalIpSockAddr "fd00:10:6b50:4d51::3/ 1142 (rtcp: 1143)"; egressPrivStream1RemoteIpSockAddr "fd00:10:6b50:4d40::7e/ 1076 (rtcp: 1077)"; iceCallTypes ing-lcl-NONE,ing-rmt-NONE,eg-lcl-NONE,eg-rmt-NONE; transcodeResType mrf; mrfSignalingInfo "fd00:10:6b50:4d30::7f/ 5060"; }
Use the following CLI 'show' command to view the call resource statistics for an MRF call.
show status global callResourceDetailStatus
> show table global callResourceDetailStatus RES RES LEG GCID INDEX ID RES TYPE CALL ID ID NODE GCID AND IP ADDR -------------------------------------------------------------------------------------------- 67108894 0 116 xresUser 67108894 0 67108888(fd00:10:6b50:4d50::e) 67108894 1 40 bresLe2LeRtcprelay 67108894 0 67108888(fd00:10:6b50:4d50::e) 67108894 2 117 xresUser 67108894 0 67108888(fd00:10:6b50:4d50::e) 67108894 3 119 xresUser 67108894 1 67108888(fd00:10:6b50:4d50::e) 67108894 4 41 bresLe2LeRtcprelay 67108894 1 67108888(fd00:10:6b50:4d50::e) 67108894 5 118 xresUser 67108894 1 67108888(fd00:10:6b50:4d50::e)
Use the following CLI 'show' command to view the call media leg information for an MRF call.
> show status global callMediaStatus callMediaStatus 67108888 { mediaStreamsInCall audio; ingressMacHeader 0-17-A4-BF-81-0; egressMacHeader 0-17-A4-BF-81-0; ingressBearerType voice; egressBearerType voice; ingressCfgAudioType AMR/BWE; egressCfgAudioType G723A; ingressActAudioType amrBwEfficient; egressActAudioType g723a53; ingressRemPacketsLost 0; ingressRFactorInbound 93; ingressRFactorOutbound 93; egressRemPacketsLost 0; egressRFactorInbound 74; egressRFactorOutbound 74; mediaStream1Label audio; mediaStream1Codec AMR/BWE; ingressMediaStream1PacketsSent 57; ingressMediaStream1PacketsReceived 488; ingressMediaStream1OctetsSent 399; ingressMediaStream1OctetsReceived 13664; ingressMediaStream1RtcpPacketsSent 0; ingressMediaStream1RtcpPacketsReceived 0; ingressMediaStream1PacketsLost 0; ingressMediaStream1PacketsDiscarded 0; ingressMediaStream1PacketLatency 0; ingressMediaStream1InterarrivalJitter 19; ingressMediaStream1StunDtlsPacketsReceived 0; ingressMediaStream1StunDtlsPacketsDiscarded 0; ingressMediaStream1SrtpAuthFailure 0; ingressMediaStream1SrtpReplayFailure 0; egressMediaStream1PacketsSent 305; egressMediaStream1PacketsReceived 2; egressMediaStream1OctetsSent 1220; egressMediaStream1OctetsReceived 48; egressMediaStream1RtcpPacketsSent 0; egressMediaStream1RtcpPacketsReceived 0; egressMediaStream1PacketsLost 0; egressMediaStream1PacketsDiscarded 0; egressMediaStream1PacketLatency 0; egressMediaStream1InterarrivalJitter 0; egressMediaStream1StunDtlsPacketsReceived 0; egressMediaStream1StunDtlsPacketsDiscarded 0; egressMediaStream1SrtpAuthFailure 0; egressMediaStream1SrtpReplayFailure 0; }