Document Overview
This document provides a configuration guide for Sonus SBC Swe Series (Session Border Controller) when connecting to Telco Systems CM-100 platform.
This configuration guide supports features described on the Telco Systems
Introduction
The interoperability compliance testing focuses on verifying creation of Sonus SBC Swe on Telco Systems CM-100 platform and verifying inbound and outbound call flows, call loads and security on the Sonus SBC Swe.
Audience
This is a technical document intended for telecommunications engineers with the purpose of configuring both the Sonus SBC and the third-party product. Navigating the third-party product as well as the Sonus SBC Command Line Interface (CLI) will be required. Understanding the basic concepts of TCP/UDP, IP/Routing, and SIP/RTP are also necessary to complete the configuration and any needed troubleshooting.
Requirements
The following equipment and software were used for the sample configuration provided:
| Equipment | Software Version |
---|
Sonus Networks | Sonus SBC Swe | V06.01.00-R001 |
---|
| EMA | V06.01.00-R001 |
---|
| SonusDB | V06.01.00-R001 |
---|
| OS | V03.03.00-R001 |
---|
Third-party Equipment | Telco Systems CM-100 | 4.3.1b14 |
---|
Reference Configuration
The following reference configuration shows connectivity between Telco Systems CM-100 platform and Sonus SBC Swe.
Reference Configuration Topology
Support
For any questions regarding this document or the content herein, contact your maintenance and support provider.
Third-Party Product Features
The testing was executed with the combined test plans. The following features were tested:
- Ramp traffic to 200 sessions with 10 CPS and ACH 60 seconds
- 24 hour soak with 1 CPS and average of 60 active calls with ACH 60 seconds
- West call flows
- Generic test plan basic scenarios and traces
- Security tests data
Configuration of the CM100 vCPE Manager
Log into the Telco Systems vCPE Manager
Log into the Telco Systems vCPE Manager
task is to add the OpenStack Controller needed to control the CM100’s OpenStack compute node. Navigate to Controllers Management > Controllers
Click Create Controller. Enter Name, IP addresses, Username, and Password. Click Create.
The next task is to add the prerequisites in preparation of adding the CM100’s OpenStack compute node. Navigate to vCPE Management > Customers
Click Add Customer. Enter a Name and Market. Click Add.
Navigate to vCPE Management > Services
Click Add Services. Select a Customer, enter a Service type, and enter a Topology type. Click Add.
Navigate to vCPE Management > Sites
Select a Customer, select a Service, enter a Name, and enter a Site type. Click Add.
The final task in the process is adding the CM100’s OpenStack Compute node. Navigate to vCPE Management > vCPEs
Click Add vCPE. Enter vCPE Serial Number, select Type, select Customers, select Service, select Site. click the Config Server Settings tab.
Check the Network Update check box. the Image Server Settings tab.
Select Image File Source and pick Upload Image File. Click Browse and add the CM100-root-4.3.1.16.img.xz file supplied by Telco Systems. click the Scripts Server Settings tab.
Select Scripts File Source and pick Upload Image File. Click Browse and add the scripts-4.3.1.16.tar.xz file supplied by Telco Systems. click the Openstack Settings tab.
Uncheck Enable Local Controller. Select controller from the External Controller dropdown. Next click the Time Server Settings tab.
Enter the Time Server IP address and select a Time Zone. Next click the SSH Settings tab.
Check Clear SSH Keys. Next Click Add.
Create Instance usin
Log into NFVTime Controller
task is to upload images to the cloud. Navigate to Project > Compute > Images
Click Create Image. Enter Image Name, click Browse to browse for the file on the local device or external PC, select a Format for the image. Click Create Image.
The final task is to create the SBC Stack. to Project > Orchestration > Stacks
Click Launch Stack. Browse for the Ribbon provided Heat Template. Browse for the user created Environment File. Click Next.
Enter a Stack Name, enter the user’s password, and verify environment variables. Click Launch.
SWe VNF Heat Template
heat_template_version: 2015-04-30
description: Template to setup and deploy a Standalone vSBC compute instances
#######################################################################
# Sample Environment content to be sourced
#
#parameters:
#
# # System Settings
# image: myImage
# flavor: cloudSBC.lite
# security_group: vSBC_security_group
#
# # External Network Settings
# mgt0_ext_network: ext_net
# pkt0_ext_network: ext_net
# pkt1_ext_network: ext_net
#
# # Private Network Settings
# private_network_mgt0: mgt0
# private_network_ha: ha0
# private_network_pkt0: pkt0
# private_network_pkt1: pkt1
#
# # Private Subnet Settings
# private_subnet_mgt0: mgt0_subnet
# private_subnet_ha: ha0_subnet
# private_subnet_pkt0: pkt0_subnet
# private_subnet_pkt1: pkt1_subnet
#
###########################################################################
# Parameters required from user or upstream application/orchestration to setup and launch Standalone vSBC compute instances
parameter_groups:
- label: System Settings
description: System Level Settings
parameters:
- image
- flavor
- security_group
- sbc_system_name
- personality
- label: External Network Settings
description: External Network Settings
parameters:
- mgt0_ext_network
- pkt0_ext_network
- pkt1_ext_network
- floating_ip_count_mgt0
- floating_ip_count_pkt0
- floating_ip_count_pkt1
- label: Enable Reverse NAT
description: Enable reverse nat for ports
parameters:
- reverse_nat_pkt0
- reverse_nat_pkt1
- label: Private Network Settings
description: External Network Settings
parameters:
- private_network_mgt0
- private_network_ha
- private_network_pkt0
- private_network_pkt1
- label: mgt0 DHCP Settings
description: DHCP Settings for Management Port
parameters:
- isDhcpEnabledOnMgt0
- mgt0IPAddress
- mgt0SubnetPrefix
- mgt0Gateway
- label: ha0 DHCP Settings
description: DHCP Settings for High Availability Port
parameters:
- isDhcpEnabledOnHa0
- ha0IPAddress
- ha0SubnetPrefix
- ha0Gateway
- label: pkt0 DHCP Settings
description: DHCP Settings for Packet Port 0
parameters:
- isDhcpEnabledOnPkt0
- pkt0IPAddress
- pkt0SubnetPrefix
- pkt0Gateway
- vlanIdPkt0
- label: pkt1 DHCP Settings
description: DHCP Settings for Packet Port 1
parameters:
- isDhcpEnabledOnPkt1
- pkt1IPAddress
- pkt1SubnetPrefix
- pkt1Gateway
- vlanIdPkt1
- label: Instance Specific Settings
description: Instance Specific Settings
parameters:
- sbc_ceName
- sbc_ceRole
- sbc_rgIp
- label: EMS Settings
description: EMS Settings
parameters:
- ems_user_name
- ems_password
- ems_ip_1
- ems_ip_2
- cluster_id
- download_config
- download_config_name
parameters:
############################
# System Level Settings
############################
image:
type: string
label: Image Name
description: Image to be used for launching the instance(s)
constraints:
- custom_constraint: 'glance.image'
flavor:
type: string
label: Flavor
description: Flavor to be used for instance(s)
constraints:
- custom_constraint: 'nova.flavor'
security_group:
type: string
label: Security Group
description: Security group of instance(s)
sbc_system_name:
type: string
label: SBC System Name
description: SBC system name
constraints:
- length: { min: 0, max: 26 }
description: "Enter valid system name. Length of this string should be less than 26"
- allowed_pattern: "^[A-Za-z]{1}[-A-Za-z0-9]*[A-Za-z0-9]{1}$"
description: "Enter valid system name. Regex: ^[A-Za-z]{1}[-A-Za-z0-9]*[A-Za-z0-9]{1}$ "
personality:
type: string
label: SBC Personality Type
description: Configures SBC instance to be Signaling,Media or Integrated node.
default: isbc
constraints:
- allowed_values: [ssbc,msbc,isbc]
############################
# External Network Settings
############################
mgt0_ext_network:
type: string
label: Management Port Public Network Name or ID
description: Public network with floating IP addresses for mgt0 (used only if "Floating IP Count" is non-zero for mgt0).
constraints:
- custom_constraint: 'neutron.network'
pkt0_ext_network:
type: string
label: Packet Port 0 Public Network Name or ID
description: Public network with floating IP addresses for pkt0 (used only if "Floating IP Count" is non-zero for pkt0).
constraints:
- custom_constraint: 'neutron.network'
pkt1_ext_network:
type: string
label: Packet Port 1 Public Network Name or ID
description: Public network with floating IP addresses for pkt1 (used only if "Floating IP Count" is non-zero for pkt1).
constraints:
- custom_constraint: 'neutron.network'
#############################
# Setting up the count values
#############################
floating_ip_count_mgt0:
type: number
label: Number of Floating IPs on mgt0
description: Number of public IPs on mgt0.
default: 0
constraints:
- range: { min: 0, max: 1 }
floating_ip_count_pkt0:
type: number
label: Number of Floating IPs on pkt0
description: Number of public IPs on pkt0.
default: 0
constraints:
- range: { min: 0, max: 1 }
floating_ip_count_pkt1:
type: number
label: Number of Floating IPs on pkt1
description: Number of public IPs on pkt1.
default: 0
constraints:
- range: { min: 0, max: 1 }
#################################################
# Enable/Disable Reverse NAT feature on the ports
#################################################
reverse_nat_pkt0:
type: string
label: Reverse NAT on pkt0
description: Enable/Disable reverse NAT on pkt0.
default: True
constraints:
- allowed_values: [True,False]
reverse_nat_pkt1:
type: string
label: Reverse NAT on pkt1
description: Enable/Disable reverse NAT on pkt1.
default: True
constraints:
- allowed_values: [True,False]
############################
# Private Network Settings
############################
private_network_mgt0:
type: string
label: Management Port Private Network Name or ID
description: Name/ID of private network for mgt0.
constraints:
- custom_constraint: 'neutron.network'
private_network_ha:
type: string
label: HA Port Private Network Name or ID
description: Name/ID of private network for ha0.
constraints:
- custom_constraint: 'neutron.network'
private_network_pkt0:
type: string
label: Packet Port 0 Private Network Name or ID
description: Name/ID of private network for pkt0.
constraints:
- custom_constraint: 'neutron.network'
private_network_pkt1:
type: string
label: Packet Port 1 Private Network Name or ID
description: Name/ID of private network for pkt1.
constraints:
- custom_constraint: 'neutron.network'
############################
# Private Subnet Settings
############################
# private_subnet_mgt0:
# type: string
# label: Management Port Private Subnet Name or ID
# description: Name/ID of private subnet for mgt0.
# private_subnet_ha:
# type: string
# label: HA Port Private Subnet Name or ID
# description: Name/ID of private subnet for ha0.
# private_subnet_pkt0:
# type: string
# label: Packet Port 0 Private Subnet Name or ID
# description: Name/ID of private subnet for pkt0.
# private_subnet_pkt1:
# type: string
# label: Packet Port 1 Private Subnet Name or ID
# description: Name/ID of private subnet for pkt1.
##################################
# IP address of the Non-DHCP ports
##################################
mgt0IPAddress:
type: string
label: Management Port IP Address
description: IP address for mgt0 port
default : 10.10.218.140
ha0IPAddress:
type: string
label: High Availability Port IP Address
description: IP address for ha0 port
default : 10.10.219.40
pkt0IPAddress:
type: string
label: Packet Port 0 IP Address
description: IP address for pkt0 port
default : 10.10.219.140
pkt1IPAddress:
type: string
label: Packet Port 1 IP Address
description: IP address for pkt1 port
default : 10.10.220.40
####################################
# Netmask for each Non-DHCP networks
####################################
mgt0SubnetPrefix:
type: string
label: Management Port Subnet Prefix
description: Subnet Prefix for mgt0 port
default : 25
ha0SubnetPrefix:
type: string
label: High Availability Port Subnet Prefix
description: Subnet Prefix for ha0 port
default : 25
pkt0SubnetPrefix:
type: string
label: Packet Port 0 Subnet Prefix
description: Subnet Prefix for pkt0 port
default : 25
pkt1SubnetPrefix:
type: string
label: Packet Port 1 Subnet Prefix
description: Subnet Prefix for pkt1 port
default : 25
###############################
# Non DHCP Network's gateway IP
###############################
mgt0Gateway:
type: string
label: Management Port Gateway IP
description: Gateway IP Address for mgt0 port
default : 10.10.218.129
ha0Gateway:
type: string
label: High Availability Port Gateway IP
description: Gateway IP Address for ha0 port
default : 10.10.219.1
pkt0Gateway:
type: string
label: Packet Port 0 Gateway IP
description: Gateway IP Address for pkt0 port
default : 10.10.219.129
pkt1Gateway:
type: string
label: Packet Port 1 Gateway IP
description: Gateway IP Address for pkt1 port
default : 10.10.220.1
vlanIdPkt0:
type: string
label: Packet Port 0 VLAN ID
description: Packet Port 0 VLAN ID
default : 903
vlanIdPkt1:
type: string
label: Packet Port 1 VLAN ID
description: Packet Port 1 VLAN ID
default : 904
############################
# Instance Specific Settings
############################
sbc_ceName:
type: string
label: SBC Instance Name
description: SBC Instance name.
default: "vsbc1"
constraints:
- length: { min: 0, max: 63 }
description: "Enter valid active instance name. Length of this string should be less than 63"
- allowed_pattern: "^[A-Za-z]{1}[-A-Za-z0-9.]*[A-Za-z0-9]{1}$"
description: "Enter valid active instance name. Regex: ^[A-Za-z]{1}[-A-Za-z0-9.]*[A-Za-z0-9]{1}$ "
sbc_ceRole:
type: string
label: SBC Configured CE Role
description: SBC Configured CE Role.
default: "ACTIVE"
constraints:
- length: { min: 0, max: 8 }
description: "Enter valid instance role. Role can be ACTIVE or STANDBY"
- allowed_pattern: "^[A-Za-z]{1}[-A-Za-z0-9.]*[A-Za-z0-9]{1}$"
description: "Enter valid instance role. Regex: ^[A-Za-z]{1}[-A-Za-z0-9.]*[A-Za-z0-9]{1}$ "
- allowed_values: [ACTIVE,STANDBY]
sbc_rgIp:
type: string
label: HA port IP address of one of the members of SBC Redundancy Group(RG). (Note - Provide 169.254.88.1 for the first node of RG)
description: SBC RG is formed by communicating over the provided IP. When adding 3rd or subsequent instance to RG, can provide HA IP of any of the instances that are up and running.
default: "169.254.88.1"
constraints:
- length: { min: 0, max: 63 }
description: "Enter valid IP."
- allowed_pattern: "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$"
description: "Enter valid cluster IP. Regex: ^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$"
################
# EMS Settings
################
ems_user_name:
type: string
label: EMS User Name
description: User name for registering with EMS
default: "None"
ems_password:
type: string
label: EMS Password
description: EMS registration password
hidden: true
default: "None"
ems_ip_1:
type: string
label: EMS IP 1
description: EMS IP Address 1 - e.g. 10.52.13.40 (No quotes required)
default: ""
ems_ip_2:
type: string
label: EMS IP 2
description: EMS IP Address 2 - e.g. 51.12.30.24 (No quotes required)
default: ""
cluster_id:
type: string
label: Cluster ID
description: Cluster/VNF ID value from EMS Cluster Mgmt.
default: ""
download_config:
type: string
label: Download Configuration from EMS
description: Download Configuration from EMS
default: True
constraints:
- allowed_values: [True,False]
download_config_name:
type: string
label: Download Configuration file name
description: Download Configuration file name
default: "None"
###############################
# DHCP flags
###############################
isDhcpEnabledOnMgt0:
type: string
label: Is DHCP enabled on Mgt0 Subnet?
description: Is DHCP enabled on Mgt0 Subnet?
default : True
constraints:
- allowed_values: [True,False]
isDhcpEnabledOnHa0:
type: string
label: Is DHCP enabled on Ha0 Subnet?
description: Is DHCP enabled on Ha0 Subnet?
default : True
constraints:
- allowed_values: [True,False]
isDhcpEnabledOnPkt0:
type: string
label: Is DHCP enabled on Pkt0 Subnet?
description: Is DHCP enabled on Pkt0 Subnet?
default : True
constraints:
- allowed_values: [True,False]
isDhcpEnabledOnPkt1:
type: string
label: Is DHCP enabled on Pkt1 Subnet?
description: Is DHCP enabled on Pkt1 Subnet?
default : True
constraints:
- allowed_values: [True,False]
# Resource definitions for all openstack objects to be configured during
# template execution
resources:
# Create active vSBC instance
vSBC_ACTIVE:
type: OS::Nova::Server
properties:
name: { get_param: "OS::stack_name" }
image: { get_param: image }
flavor: { get_param: flavor }
config_drive: True
# Attach previously created network ports to the instance
networks:
- port: { get_resource: mgt0_port1 }
- port: { get_resource: ha0_port1 }
- port: { get_resource: pkt0_port1 }
- port: { get_resource: pkt1_port1 }
# Publish the assigned floating IP addresses with appended subnet mask to the openstack metadata service.
# Subnet prefix for floating ips not used - hard coded to 32 for consistencey.
metadata:
IF0: {
"Port" : "Mgt0",
"DHCP" : { get_param: isDhcpEnabledOnMgt0},
"GWV4": { get_param: mgt0Gateway },
"IPV4": { list_join: ['/', [ { get_attr: [mgt0_port1, fixed_ips, 0, ip_address] }, { get_param: mgt0SubnetPrefix}]] },
"FIPV4": { get_attr: [mgt0_floating_ip1, floating_ip_address] }
}
IF1: {
"Port" : "Ha0",
"GWV4": { get_param: ha0Gateway },
"IPV4": { list_join: ['/', [ { get_attr: [ha0_port1, fixed_ips, 0, ip_address] }, { get_param: ha0SubnetPrefix}]] },
"DHCP" : { get_param: isDhcpEnabledOnHa0}
}
IF2: {
"Port" : "Pkt0",
"DHCP" : { get_param: isDhcpEnabledOnPkt0},
"GWV4": { get_param: pkt0Gateway },
"VlanId": { get_param: vlanIdPkt0 },
"IPV4": { list_join: ['/', [ { get_attr: [pkt0_port1, fixed_ips, 0, ip_address] }, { get_param: pkt0SubnetPrefix}]] },
"FIPV4": { get_attr: [pkt0_floating_ip, floating_ip_address] },
"RNat" : { get_param: reverse_nat_pkt0 }
}
IF3: {
"Port" : "Pkt1",
"DHCP" : { get_param: isDhcpEnabledOnPkt1},
"GWV4": { get_param: pkt1Gateway },
"VlanId": { get_param: vlanIdPkt1 },
"IPV4": { list_join: ['/', [ { get_attr: [pkt1_port1, fixed_ips, 0, ip_address] }, { get_param: pkt1SubnetPrefix}]] },
"FIPV4": { get_attr: [pkt1_floating_ip, floating_ip_address] },
"RNat" : { get_param: reverse_nat_pkt1 }
}
ClusterIp: { get_param: sbc_rgIp}
# Set the format to RAW to pass data directly as userdata set the floating and virtual IP counts
user_data_format: RAW
user_data:
str_replace:
template: |
#cloud-config
write_files:
- content: |
{
"CEName" : "$ce_name",
"CERole" : "$ce_role",
"SystemName" : "$system_name",
"SbcPersonalityType" : "$personality",
"EmsUsername" : "$ems_user_name",
"EmsPassword" : "$ems_password",
"EmsIP" : [ "$ems_ip_1", "$ems_ip_2" ],
"EmsDownloadConfig" : "$downloadConfig",
"ConfigDownloadName" : "$configName",
"TemplateName" : "heatStandaloneTemplate.yaml",
"TemplateVersion" : "V06.01.00R001",
"EmsPrivateNodeParameters" : { "cluster_id": "$cluster_id","vnfc_id":"$vnfc_id"}
}
path: /opt/sonus/userData.json
params:
$ce_name: { get_param: sbc_ceName }
$ce_role: { get_param: sbc_ceRole }
$system_name: { get_param: sbc_system_name }
$personality: { get_param: personality }
$ems_user_name: { get_param: ems_user_name }
$ems_password: { get_param: ems_password }
$ems_ip_1: { get_param: ems_ip_1 }
$ems_ip_2: { get_param: ems_ip_2 }
$cluster_id: { get_param: cluster_id }
$downloadConfig: { get_param: download_config }
$configName: { get_param: download_config_name }
$vnfc_id: { list_join: ['-', [ { get_param: "OS::stack_name" }, { get_param: cluster_id }, '1']] }
# Create the four required virtual nics (ports) to attach to virtual SBC instance 1
mgt0_port1:
type: OS::Neutron::Port
properties:
network: { get_param : private_network_mgt0 }
fixed_ips:
- ip_address: { get_param: mgt0IPAddress}
security_groups:
- { get_param: security_group }
ha0_port1:
type: OS::Neutron::Port
properties:
network: { get_param : private_network_ha }
fixed_ips:
- ip_address: { get_param: ha0IPAddress}
pkt0_port1:
type: OS::Neutron::Port
properties:
network: { get_param : private_network_pkt0 }
fixed_ips:
- ip_address: { get_param: pkt0IPAddress}
#binding:vnic_type: direct
security_groups:
- { get_param: security_group }
pkt1_port1:
type: OS::Neutron::Port
properties:
network: { get_param : private_network_pkt1 }
fixed_ips:
- ip_address: { get_param: pkt1IPAddress}
#binding:vnic_type: direct
security_groups:
- { get_param: security_group }
# Create and associate three floating IP addresses to the mgt0, pkt0 and pkt1 ports of instance 1
mgt0_floating_ip1:
type: "OS::Heat::ResourceGroup"
depends_on: mgt0_port1
properties:
count: { get_param: floating_ip_count_mgt0 }
resource_def:
type: OS::Neutron::FloatingIP
properties:
floating_network: { get_param: mgt0_ext_network }
port_id: { get_resource: mgt0_port1 }
pkt0_floating_ip:
type: "OS::Heat::ResourceGroup"
depends_on: pkt0_port1
properties:
count: { get_param: floating_ip_count_pkt0 }
resource_def:
type: OS::Neutron::FloatingIP
properties:
floating_network: { get_param: pkt0_ext_network }
port_id: { get_resource: pkt0_port1}
pkt1_floating_ip:
type: "OS::Heat::ResourceGroup"
depends_on: pkt1_port1
properties:
count: { get_param: floating_ip_count_pkt1 }
resource_def:
type: OS::Neutron::FloatingIP
properties:
floating_network: { get_param: pkt1_ext_network }
port_id: { get_resource: pkt1_port1}
# output some stuff for debug
outputs:
instance_name:
description: Name of the instance
value: { get_attr: [vSBC_ACTIVE, name] }
mgt0_Public_ip:
description: mgt0 floating IP address for the instance
value: { get_attr: [mgt0_floating_ip1, floating_ip_address] }
pkt0_Public_ip:
description: Public IP address used for the pkt0 interfaces
value: { get_attr: [pkt0_floating_ip, floating_ip_address] }
pkt1_Public_ip:
description: Public IP address used for the pkt1 interfaces
value: { get_attr: [pkt1_floating_ip, floating_ip_address] }
Sonus SBC 5xx0 Series Configuration
configure
set addressContext default ipInterfaceGroup LIG1 ipInterface LIF1 ceName vsbcSystem portName pkt0 ipVarV4 IF2.IPV4 ipPublicVarV4 IF2.IPV4 prefixVarV4 IF2.PrefixV4
commit
set addressContext default ipInterfaceGroup LIG1 ipInterface LIF1 state enabled mode inService
commit
set addressContext default ipInterfaceGroup LIG2 ipInterface LIF2 ceName vsbcSystem portName pkt1 ipVarV4 IF3.IPV4 ipPublicVarV4 IF3.IPV4 prefixVarV4 IF3.PrefixV4
commit
set addressContext default ipInterfaceGroup LIG2 ipInterface LIF2 state enabled mode inService
commit
set addressContext default staticRoute 0.0.0.0 0 10.10.203.1 LIG1 LIF1 preference 100
set addressContext default staticRoute 0.0.0.0 0 10.10.203.129 LIG2 LIF2 preference 100
commit
set profiles signaling ipSignalingProfile DEFAULT_SIP ipProtocolType sipOnly egressIpAttributes flags disable2806Compliance enable
set profiles signaling ipSignalingProfile DEFAULT_SIP commonIpAttributes flags disableMediaLockDown enable
commit
set profiles signaling numberGlobalizationProfile DEFAULT_IP entry calledNumber globalize disable
commit
set profiles media packetServiceProfile COMMON_PSP packetToPacketControl codecsAllowedForTranscoding thisLeg g729,g711u,g711a,amr,g7222
commit
set profiles media packetServiceProfile COMMON_PSP packetToPacketControl codecsAllowedForTranscoding otherLeg g729,g711u,g711a,amr,g7222
commit
set profiles media codecEntry G711u20 codec g711 packetSize 20 law Ulaw
set profiles media codecEntry G729A20 codec g729a packetSize 20
set profiles media codecEntry AMR-20 codec amrOctetAligned packetSize 20
set profiles media codecEntry AMRWB-20 codec amrwbOctetAligned packetSize 20
commit
set profiles media packetServiceProfile COMMON_PSP packetToPacketControl transcode transcoderFreeTransparency
set profiles media packetServiceProfile COMMON_PSP codec codecEntry1 G711-DEFAULT codecEntry2 G729A-DEFAULT codecEntry3 AMR-20 codecEntry4 AMRWB-20
commit
set profiles signaling ipSignalingProfile COMMON_IPSP commonIpAttributes relayFlags info enable
set profiles signaling ipSignalingProfile COMMON_IPSP commonIpAttributes relayFlags notify enable
set profiles signaling ipSignalingProfile COMMON_IPSP commonIpAttributes relayFlags refer enable
commit
set addressContext default zone z1 id 1001
set addressContext default zone z1 sipSigPort 1 portNumber 5060 transportProtocolsAllowed sip-udp ipInterfaceGroupName LIG1 ipVarV4 IF2.IPV4
set addressContext default zone z1 sipSigPort 1 mode inService state enabled
commit
set addressContext default zone z2 id 1002
set addressContext default zone z2 sipSigPort 2 portNumber 5060 transportProtocolsAllowed sip-udp ipInterfaceGroupName LIG2 ipVarV4 IF3.IPV4
set addressContext default zone z2 sipSigPort 2 mode inService state enabled
commit
set addressContext default zone z1 sipTrunkGroup TG_INGRESS media mediaIpInterfaceGroupName LIG1
set addressContext default zone z1 sipTrunkGroup TG_INGRESS ingressIpPrefix 0.0.0.0 0
set addressContext default zone z1 sipTrunkGroup TG_INGRESS policy media packetServiceProfile COMMON_PSP
set addressContext default zone z1 sipTrunkGroup TG_INGRESS policy signaling ipSignalingProfile COMMON_IPSP
set addressContext default zone z1 sipTrunkGroup TG_INGRESS state enabled mode inService
commit
set addressContext default zone z2 sipTrunkGroup TG_EGRESS media mediaIpInterfaceGroupName LIG2
set addressContext default zone z2 sipTrunkGroup TG_EGRESS ingressIpPrefix 0.0.0.0 0
set addressContext default zone z2 sipTrunkGroup TG_EGRESS policy media packetServiceProfile COMMON_PSP
set addressContext default zone z2 sipTrunkGroup TG_EGRESS policy signaling ipSignalingProfile COMMON_IPSP
set addressContext default zone z2 sipTrunkGroup TG_EGRESS state enabled mode inService
commit
set addressContext default zone z1 ipPeer LYNC_IPP1 ipAddress 10.35.145.107 ipPort 5060
set addressContext default zone z2 ipPeer SP_IPP1 ipAddress 10.35.145.108 ipPort 5060
commit
set global callRouting routingLabel CALLING_TO_CALLED1 routingLabelRoute 0 trunkGroup TG_EGRESS ipPeer SP_IPP1
set global callRouting route trunkGroup TG_INGRESS VSBCSYSTEM standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel CALLING_TO_CALLED1
commit
set system licenseMode mode legacy
set system licenseServer EMS-1 serverAddress 10.10.218.145 priority 1
set system licenseRequired SWE-INSTANCE
set system licenseRequired SBC-RTU minCount 3072 maxCount 5000
set system licenseRequired VDSP-RTU minCount 3072 maxCount 5000
commit
exit
exit
Test Results
TCID | Test Case Name | Expected Results | Result | Comment |
---|
Inbound Calls |
1.01 | PSTN calls SIP device, PSTN hangs up | call is completed with correct SIP and SDP syntax | Pass | |
1.02 | PSTN calls SIP device, SIP hangs up | call is completed with correct SIP and SDP syntax | Pass | |
1.03 | PSTN calls SIP device, PSTN hangs up before call connects | call is not completed, early media is established, 183 Session Progress or 200 OK | Pass | |
1.04 | PSTN call SIP device, SIP no answer | call is not completed, either be forwarded to voicemail or disconnected | Pass | |
Outbound Calls |
2.01 | SIP calls PSTN, PSTN hangs up | call is completed with correct SIP and SDP syntax | Pass | |
2.02 | SIP calls PSTN, SIP hangs up | call is completed with correct SIP and SDP syntax | Pass | |
2.03 | SIP calls PSTN, SIP hangs up before call connects | call is not completed, early media is established, 183 Session Progress or 200 OK | Pass | |
2.04 | SIP calls PSTN, Privacy enabled | call is completed with correct SIP and SDP syntax | Pass | |
2.05 | SIP calls PSTN, no answer | call is not completed, either be forwarded to voicemail or disconnected | Pass | |
Call Transfers |
3.01 | BLIND SIP #1 calls PSTN, SIP #1 transfers PSTN to SIP #2 -reinvite | call is transferred successfully | Pass | |
3.02 | BLIND PSTN calls SIP #1, SIP #1 transfer PSTN to SIP #2 -reinvite | call is transferred successfully | Pass | |
Conference Calls |
4.01 | SIP #1 calls PSTN, SIP #1 conferences in SIP #2 | call is conferenced in successfully | Pass | |
4.02 | PSTN calls SIP #1, SIP #1 conferenecs in SIP #2 | call is conferenced in successfully | Pass | |
4.03 | PSTN, SIP #1, and SIP #2 call into conferencing bridge | call is conferenced in successfully | Pass | |
Call Forwarding |
5.01 | SIP #1 sets call forwarding to SIP #2 - reinvite | call is forwarded successfully | Pass | |
5.02 | SIP #1 sets call forwarding to PSTN - reinvite | call is forwarded successfully | Pass | |
5.03 | SIP #1 set call forwarding on ring no answer | call is forwarded successfully | Pass | . |
Call Holds |
6.01 | SIP calls PSTN, SIP puts PSTN on hold then resumes call | call is resumed successfully | Pass | |
6.02 | SIP calls PSTN, SIP puts PSTN on hold for a long time (10min) then resumes call | call is resumed successfully | Pass | |
DMTF |
7.01 | PSTN to SIP. No answer. Leave voicemail | message left successfully | Pass | |
Long duration call |
8.01 | PSTN calls SIP. Call last for at least 25 minutes | call stays active until endpoint hangs up | Pass | |
Conclusion
These Application Notes describe the configuration steps required for Sonus SBC Swe to successfully interoperate with Telco Systems CM-100 platform. All feature and serviceability test cases were completed and passed with the exceptions/observations noted in Test Results.