The Sonus Distributed SBC (D-SBC) solution distributes the core SBC components signaling, media and transcoding into discrete functional elements that allows SWe instance to instantiate and scale independently in their own respective clusters. This is ideal for greenfield deployments where all the three clusters are deployed; however, in an existing network, Sonus D-SBC uses the services of an external transcoder for audio transcoding.
In Sonus microservices architecture, the virtualized Sonus Signaling SBC (S-SBC) and Sonus Media SBC (M-SBC) instances supports signaling and media relay functionalities. Media Resource Function (MRF) supports any media inter-working requirement that includes transcoding/transrating. Sonus S-SBC invokes the MRF using a 3PCC call model as per RFC-4117.
Media Resource Function – Resource Manager (MRF-RM) runs on SBC and interacts with external third-party transcoder (MRF Server) to provide transcoding services. S-SBC manages the transcoding resources on MRF server remotely using SIP interface based on RFC-4117. Any third-party transcoder that supports SIP interface based on RFC-4117 can be used as MRF server with the SBC to provide Audio transcoding services.
Key features:
Signaling IP/Port information
Local/Remote End Point information for both Ingress and Egress private leg towards MRF
All existing controls that causes SBC to include DSP applies:
Create path check profile, ARS profile, and CAC profile during the initial configuration.
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 info on creating IP Peer, refer System Provisioning - Ip Peer for GUI or zone ipPeer - CLI for CLI.
Note |
---|
In case of IP address, create different IP Peers for each IP addresses configured in MRF cluster profile as MRF IP address and attach the path check profile. In case of FQDN, create IP Peer with FQDN and attach the patch check profile. |
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 info, refer Service Profiles - Sip Ars Profile.
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.
Call Admission Control (CAC) 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 info, refer CAC Provisioning - SIP CAC Profile.
For TG CAC, create CAC profile and attach to the MRF TG as configured in the cluster profile.
Note |
---|
End point CAC does not support FQDN. Bandwidth CAC is not supported for both TG and Peer level. |
In cluster profile, you can configure routing type as FQDN or list of IP addresses. In case of FQDN, the FQDN resolves into 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:
MRF: Provides transcoding services. Configured in private network of SBC and uses RFC-4117 interface to communicate with S-SBC.
Caption | ||||
---|---|---|---|---|
| ||||
Anchor | ||||
---|---|---|---|---|
|
The following CLI commands are required to configure the MRF cluster profile in S-SBC.
The MRF servers are configured as FQDN or IP Address is decided by Routing Type configured in the MRF Profile.
Code Block |
---|
% set system dsbc cluster type mrf mrfRoutingType <Routing Type> Possible completions: IpAddress fqdn |
To configure the Domain Name of MRF Server, select FQDN:
Note |
---|
When FQDN routing is enabled, configure DnsGroup on zone in which mrfTgName is present. |
Code Block |
---|
% set system dsbc cluster type mrf mrfRoutingType fqdn mrffqdn <Domain Name> |
To configure an IP-Address for the MRF Server, select IpAddress.
Note |
---|
When Routing Type is selected as IP Address, minimum of one IP must be configured. In case of multiple IP addresses, each IP address is separated by a Comma (,). Sonus supports maximum of four IP address configuration. Minimum: 1 Maximum: 4 |
Code Block |
---|
% set system dsbc cluster type mrf mrfRoutingType IpAddress mrfIpAddress <MRF IP-Address> |
To configure a dedicated TG on MRF servers, execute below command:
Code Block |
---|
% set system dsbc cluster type mrf mrfTgName <MRF TG Name> |
To configure transport type for MRF server, execute below command:
Note |
---|
Default value is UDP. |
Code Block |
---|
% set system dsbc cluster type mrf mrfTransportType Possible completions: TCP TLS UDP |
To configure request URI sent in the invite towards the MRF server, execute below command:
Code Block |
---|
% set system dsbc cluster type mrf mrfRequestUri <MRF Request URI> |
To configure Port of the MRF server in MRF Profile, execute below command:
Note |
---|
When the mrfRoutingType is selected as IpAddress, mrfPort default value is 5060. When the mrfRoutingType is selected as fqdn, mrfPort default value is 0. When the value for the port is 0, user must configure desired port in DNS server for SRV record. |
Code Block |
---|
% set system dsbc cluster type mrf mrfPort <MRF Port> |
To configure the state of the MRF server, execute below command:
Code Block |
---|
% set system dsbc cluster type mrf state <Enabled | Disabled> |
Caption | ||||
---|---|---|---|---|
| ||||
|
Parameter Name | Length/Range | Default Value | Parameter Description | Mandatory / Optional |
mrfTgName | 1-24 | undefined | Specifies Trunk Group Name used for MRF signaling. | M |
mrfRoutingType | NA | Fqdn | Specifies Routing type used to send invite towards MRF server. Options:
| O |
mrfFqdn | 1-63 | undefined | Specifies Domain Name of the MRF Server. | M |
mrfIpAddress | NA | undefined | Specifies IP Addresses of the MRF Server. | M |
mrfRequestUri | 1-63 | undefined | Specifies Request URI to be sent in Invite towards MRF Server. | M |
mrfPort | 1-65535 | For Fqdn - 0 For IPAddress - 5060 | Specifies port of the MRF Server. | O |
mrfTransportType | NA | UDP | Specifies transport to be used in communication with MRF Server. Options:
| O |
state | NA | undefined | The admin state of the mrf cluster. Options:
| M |
Code Block | ||
---|---|---|
| ||
% set system dsbc cluster type mrf mrfRoutingType <IpAddress | fqdn> mrfPort <5060 | 0> mrfTgName <trunking group name> mrfTransportType <TCP| TLS| UDP> mrfRequestUri <Request URI> state <disabled | enabled> |
Code Block | ||
---|---|---|
| ||
% set system dsbc cluster type mrf mrfRequestUri <transcoding@sonusnet.com> % set system dsbc cluster type mrf mrfRoutingType <fqdn mrffqdn sonusnet.com> % set system dsbc cluster type mrf mrfRoutingType IpAddress mrfIpAddress <10.54.80.7 fdda:5cc1:23:4::1f fdda:5cc1:23:4::1e 10.54.80.8> % set system dsbc cluster type mrf mrfTgName <MRF_TG> % set system dsbc cluster type mrf mrfTransportType <UDP> % set system dsbc cluster type mrf mrfPort <5060> % set system dsbc cluster type mrf state <enabled> |
Anchor | ||||
---|---|---|---|---|
|
To configure Private IP Interface Group that communicates towards MRF, execute below command:
set system loadBalancingService
Code Block |
---|
% set system loadBalancingService privateIpInterfaceGroupName <Private IP Interface Group Name> |
To view the configured Private IP Interface Group Name, execute below command in M-SBC:
show system loadBalancingService
Code Block |
---|
groupName njmsbclbs.njmrfdsbc.com; privateIpInterfaceGroupName SLIG2; |
The following CLI can be used to get the media stats corresponding to private NIF resources for an MRF call.
show status global callRemoteMediaStatus
Code Block |
---|
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; } |
To View the Call Remote Media Status on EMA
1. Log on to EMA as admin user.
2. Click ALL.
3. On the navigation pane, click Global > CAC > Call Remote Media Status.
The following CLI can be used to get the call stats for an MRF call.
show status global callDetailStatus
Note |
---|
The callDetailStatus command contains the following new fields: 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"; |
Code Block |
---|
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"; } |
To View the Call Detail Status on EMA
1. Log on to EMA as admin user.
2. Click ALL.
3. On the navigation pane, click Global > CAC > Call Detail Status.
The following CLI can be used to get the call resource stats for an MRF call.
show status global callResourceDetailStatus
Note |
---|
Value dresMrf indicates MRF is used for transcoding the call. Parameter: resType |
Code Block |
---|
show status global callResourceDetailStatus callResourceDetailStatus 67108888 0 { resId 116; resType xresUser; callId 67108888; legId 0; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); } callResourceDetailStatus 67108888 1 { resId 117; resType xresUser; callId 67108888; legId 0; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); } callResourceDetailStatus 67108888 2 { resId 24; resType dresMrf; callId 67108888; legId 1; nodeGcidAndIpAddr 67108888(fd00:10:6b50:4d30::7f); } callResourceDetailStatus 67108888 3 { resId 119; resType xresUser; callId 67108888; legId 1; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); } callResourceDetailStatus 67108888 4 { resId 118; resType xresUser; callId 67108888; legId 1; nodeGcidAndIpAddr 67108894(fd00:10:6b50:4d50::3); } |
show table global callResourceDetailStatus
Code Block |
---|
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) |
The following CLI can be used to get the call media leg information for an MRF call.
show status global callMediaStatus
Code Block |
---|
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; } |
To View the Call Media Status on EMA
1. Log on to EMA as admin user.
2. Click ALL.
3. On the navigation pane, click Global > CAC > Call Media Status.
To establish connection between SBC and MRF, create an MRF Cluster Type.
On the navigation pane, click System > DSBC > Cluster > Type.
Caption | ||||
---|---|---|---|---|
| ||||
Click +New Type. By default, Create New Type window for Policer is displayed. To create MRF Type, select the Name as MRF.
Caption | ||||
---|---|---|---|---|
| ||||
|
Caption | ||||
---|---|---|---|---|
| ||||
|
Select the MRF Routing Type as IP Address V4 or V6.
Caption | ||||
---|---|---|---|---|
| ||||
|
On the navigation pane, click System > DSBC > Cluster > Type.
Caption | ||||
---|---|---|---|---|
| ||||
|
Select the radio button adjacent to the MRF name. The Edit Selected Type window is displayed.
Caption | ||||
---|---|---|---|---|
| ||||
|
Caption | ||||
---|---|---|---|---|
| ||||
|
To modify the Type, you must first select the State as Disabled, and click Save.
Select the radio button adjacent to the MRF name.
Make the relevant modifications, and select State as Enabled.
Click Save.
On the navigation pane, click System > DSBC > Cluster > Type.
To delete the Type, you must first select the MRF cluster profile State as Disabled, and click Save.
Once the Type is listed, click Delete this element button adjacent to MRFFQDN column.
Caption | ||||
---|---|---|---|---|
| ||||
|
To establish connection between SBC and MRF, create an Policer Cluster Type.
On the navigation pane, click System > DSBC > Cluster > Type.
Caption | ||||
---|---|---|---|---|
| ||||
|
Click +New Type. By default, Create New Type window for Policer is displayed.
Caption | ||||
---|---|---|---|---|
| ||||
|
On the navigation pane, click System > DSBC > Cluster > Type.
Caption | ||||
---|---|---|---|---|
| ||||
|
Select the radio button adjacent to the Policer name. The Edit Selected Type window is displayed.
Caption | ||||
---|---|---|---|---|
| ||||
|
To modify the Type, you must first select the State as Disabled, and click Save.
Select the radio button adjacent to the Policer name.
Make the relevant modifications, and select State as Enabled.
Click Save.
On the navigation pane, click System > DSBC > Cluster > Type.
Once the Type is listed, click Delete this element button adjacent to MRFFQDN column.
Caption | ||||
---|---|---|---|---|
| ||||
|
Four new fields indicating the Ingress and the Egress Leg media connection details towards MRF is added as sub-fields to existing CDR field, Media Stream Data (field#230)
Caption | ||||
---|---|---|---|---|
| ||||
|
CDR Fields | Length/Range | Descriptions | Sample Value |
---|---|---|---|
Ingress Private Leg Local EP1 | 57 | Contains the Ingress Leg local media IP and port offered by DSBC in the INVITE message to MRF. | 10.54.4.101:1116 |
Ingress Private Leg Remote EP1 | 57 | Contains the Ingress Leg remote media IP and port present in the answer SDP received from MRF. | 10.54.4.171:1094 |
Egress Private Leg Local EP1 | 57 | Contains the Egress Leg local media IP and port offered by DSBC in the INVITE message to MRF. | 10.54.4.101:1118 |
Egress Private Leg Remote EP1 | 57 | Contains the Egress Leg remote media IP and port present in the answer SDP received from MRF. | 10.54.6.171:1090 |
Transcode Resource Type | 4 | Indicates the type of transcoder used for the call. | TSBC/MRF |
MRF INFORMATION | 39 | Stores MRF related information. Options:
| IP: 10.54.6.178 Port: 1099 |
Sonus S-SBC invokes the MRF using a 3PCC call model as per RFC-4117.
Caption | ||||
---|---|---|---|---|
| ||||
|
Virtualization/Cloud Platforms |
---|
For Cloud:
|