Link: MS Teams Solution Guide
This document outlines the configuration best practices for the SBC Core family (SBC 5110/5210/5400, SBC 7000, SBC SWe) when deployed with Microsoft TEAMS. The SBCs offer a choice of routing engines. Customers can choose the routing option on SBC-based deployment requirements.
Use Basic ERE only for single-tenant deployments. A-ERE or PSX is required for any customer who is deploying or planning to deploy scalable multi-tenant TEAMS configuration.
A single IPTG referred to as 'Carrier Trunk’ is used between MS TEAMS and SBC for handling traffic for all tenants configured on the SBC. Customers can configure per tenant DummyTGs if CAC enforcement for each tenant is required.
This guide is laid out in the following sections:
Section B: ERE Routing - Captures the SBC configurations when basic ERE or Advanced ERE is used for routing on the SBC. Skip this section if PSX routing is used.
Section E: Configuration for Emergency Calling - Captures the configurations required in case of 911 emergency call.
This document provides configuration best practices for deploying Core SBCs (SBC 5110/5210/5400, SBC 7000, SBC SWe) with Microsoft® Teams. It includes configuration recommendations for available routing choices like basic ERE, Advanced ERE, and PSX on the SBC. Note these are configuration best practices and each customer may have unique needs and networks. Ribbon recommends that customers work with network design and deployment engineers to establish the network design which best meets their requirements.
It is not the goal of this guide to provide detailed configurations that will meet the requirements of every customer. Use this guide as a starting point and build the SBC configurations in consultation with network design and deployment engineers.
This is a technical document intended for telecommunications engineers with the purpose of configuring both the Ribbon SBC and the third-party product. Navigating the third-party product as well as the Ribbon SBC Command Line Interface (CLI) is required. Understanding the basic concepts of TLS/TCP/UDP, IP/Routing, and SIP/SRTP is also necessary to complete the configuration and any required troubleshooting.
The sample configuration uses the following equipment and software:
Requirements
Product | Equipment | Software Version |
---|---|---|
Ribbon Networks | Ribbon SBC 5400 | V07.02.01-R004 |
Third-party Equipment | Microsoft Teams | v.2019.7.4.9 i.ASEA.0 |
Teams Client | 1.2.00.19260 | |
Administration and Debugging Tools | Wireshark | 2.4.4 |
The following figure illustrates the connectivity between the third-party applications and the Ribbon SBC Core.
High Level Architecture For Teams deployment
This feature allows the SBC to fail over to another site of Office 365 when a primary data center site is down.
Currently, Microsoft Office 365 has the following sites. The following figure illustrates the configuration.
Site Failover
For any questions regarding this document or the content herein, contact your maintenance and support provider.
A Microsoft Phone System license is needed on MS Teams to enable direct routing. Refer to Microsoft documentation for Microsoft licensing requirements.
SBC Licensing for MS TEAMS Deployment
This section contains the basic SBC configurations that need to be configured irrespective of ERE routing or PSX Routing.
Configure the RTCP interval and disable send BYE Packet.
set system media mediaRtcpControl senderReportInterval 5 commit set system media mediaRtcpControl sendBYEPacket disabled commit
set global sipDomain SIP.PSTNHUB.MICROSOFT.COM set global sipDomain SIP2.PSTNHUB.MICROSOFT.COM set global sipDomain SIP3.PSTNHUB.MICROSOFT.COM set global sipDomain ABC.EXAMPLE.COM commit
This configuration only applies if the SBC has been deployed with (hardware) DSP resources. If it has not, executing this configuration step has no negative impact. Do not attempt transcoding, so the lack of compression resources will not impact the overall SBC configuration in this document.
set system mediaProfile compression 75 tone 25 commit
This configuration is not required for SWe Core 7.2 release onwards.
Ring back tones can be played on certain codecs even though DSP cards/licenses are not available.
set profiles media toneCodecEntry g711u codec g711 law ULaw commit set profiles media toneAsAnnouncementProfile toneType defRing codecType g711u segmentId 20001 commit
Create a path check profile that attaches to the Teams side.
set profiles services pathCheckProfile TEAMS_OPTIONS protocol sipOptions sendInterval 20 replyTimeoutCount 1 recoveryCount 1 commit set profiles services pathCheckProfile TEAMS_OPTIONS transportPreference preference1 tls-tcp commit
Create an IP interface group.
Replace "x.x.x.x" with the SBC's packet interface (pkt) IP address towards Teams (example pkt1 IP), and "y" with its prefix length. Provide ceName used during an SBC deployment.
set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ceName IOTPTFY06 portName pkt1 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ipAddress x.x.x.x prefix Y set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 mode inService state enabled commit
Microsoft Teams requires the SBC's FQDN in the 'From:' and 'Contact:' header. In the below SMM configuration, replace:
The SMM commands below are created to meet the following rules:
set profiles signaling sipAdaptorProfile Modify_Options state enabled set profiles signaling sipAdaptorProfile Modify_Options advancedSMM disabled set profiles signaling sipAdaptorProfile Modify_Options profileType messageManipulation set profiles signaling sipAdaptorProfile Modify_Options rule 1 applyMatchHeader one set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 message set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header name Contact set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header condition exist set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 type header set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 operation regsub set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 from set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 from type value set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 from value "<sip:user_input1:user_input2;transport=tls>" set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 to set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 to type header set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 to value Contact set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 regexp set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 regexp string .* set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 regexp matchInstance all set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 1 type message set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 1 message set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 2 type header set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 2 header set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 2 header name From set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 2 header condition exist set profiles signaling sipAdaptorProfile Modify_Options rule 2 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 type header set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 operation regsub set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 from set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 from type value set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 from value "<sip:user_input1:user_input2;transport=tls>" set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 to set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 to type header set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 to value From set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 regexp set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 regexp string <sip:user_input3> set profiles signaling sipAdaptorProfile Modify_Options rule 2 action 1 regexp matchInstance all set profiles signaling sipAdaptorProfile Modify_Options rule 3 criterion 1 type message set profiles signaling sipAdaptorProfile Modify_Options rule 3 criterion 1 message set profiles signaling sipAdaptorProfile Modify_Options rule 3 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile Modify_Options rule 3 criterion 1 message methodTypes options set profiles signaling sipAdaptorProfile Modify_Options rule 3 criterion 1 message condition exist set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 type header set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 operation add set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 headerPosition last set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 from set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 from type value set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 from value "Ribbon SBCCore V07.02" set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 to set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 to type header set profiles signaling sipAdaptorProfile Modify_Options rule 3 action 1 to value User-Agent commit
This Zone groups the set of objects used for the communication to MS Teams.
Configure the domain name and attach it to the appropriate zone.
set addressContext default zone TEAMS_ZONE id 4 set addressContext default zone TEAMS_ZONE domainName customers.interopdomain.com set addressContext default zone TEAMS_ZONE messageManipulation outputAdapterProfile Modify_Options commit
Create Ip-peer for all three sites and attach it to the PathCheck profile.
set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER policy sip fqdn sip.pstnhub.microsoft.com fqdnPort 5060 set addressContext default zone TEAMS_ZONE ipPeer TEAMS1_PEER policy sip fqdn sip2.pstnhub.microsoft.com fqdnPort 5060 set addressContext default zone TEAMS_ZONE ipPeer TEAMS2_PEER policy sip fqdn sip3.pstnhub.microsoft.com fqdnPort 5060 commit set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER pathCheck profile TEAMS_OPTIONS set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER pathCheck profile TEAMS_OPTIONS hostName sip.pstnhub.microsoft.com hostPort 5060 state enabled commit set addressContext default zone TEAMS_ZONE ipPeer TEAMS1_PEER pathCheck profile TEAMS_OPTIONS set addressContext default zone TEAMS_ZONE ipPeer TEAMS1_PEER pathCheck profile TEAMS_OPTIONS hostName sip2.pstnhub.microsoft.com hostPort 5060 state enabled commit set addressContext default zone TEAMS_ZONE ipPeer TEAMS2_PEER pathCheck profile TEAMS_OPTIONS set addressContext default zone TEAMS_ZONE ipPeer TEAMS2_PEER pathCheck profile TEAMS_OPTIONS hostName sip3.pstnhub.microsoft.com hostPort 5060 state enabled commit
For TLS, the Ribbon SBC Core increments the port number of the IP-Peer by one while sending out any call. Configure a port less than the port on which the remote peer listens. This is only applicable for TLS protocol.
Set the SIP Signaling port, which is a logical address used to send and receive SIP call signaling packets and is permanently bound to a specific zone.
set addressContext default zone TEAMS_ZONE id 4 sipSigPort 4 ipInterfaceGroupName LIF2 ipAddressV4 x.x.x.x portNumber 5060 transportProtocolsAllowed sip-tls-tcp set addressContext default zone TEAMS_ZONE id 4 sipSigPort 4 state enabled mode inService commit
Create DNS objects for DNS resolution within a particular zone. Use the interface which has public connectivity.
set addressContext default dnsGroup EXT_DNS set addressContext default dnsGroup EXT_DNS type ip interface LIF2 server DNS2 ipAddress 8.8.8.8 state enabled set addressContext default zone TEAMS_ZONE dnsGroup EXT_DNS commit
Create a default route for the destination IP to enter the network through a particular interface.
Replace "x.x.x.x" with destination IP, "Y" with the prefix length and "z.z.z.z" with the PKT1 gateway IP address.
set addressContext default staticRoute X.X.X.X Y Z.Z.Z.Z LIF2 PKT1_V4 preference 100 commit
Create a SIP Trunk Group for the Teams side.
It is mandatory to configure Trunk Group names using capital letters.
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG media mediaIpInterfaceGroupName LIF2 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling methods update reject set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling rel100Support enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling relayNonInviteRequest enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling honorMaddrParam enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services dnsSupportType a-only set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG media sdpAttributesSelectiveRelay enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG ingressIpPrefix 52.0.0.0 8 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode inService state enabled commit
The SMM commands below serve the following purpose:
Attach this profile to each outbound TG.
set profiles signaling sipAdaptorProfile HeaderModifications state enabled set profiles signaling sipAdaptorProfile HeaderModifications advancedSMM disabled set profiles signaling sipAdaptorProfile HeaderModifications profileType messageManipulation set profiles signaling sipAdaptorProfile HeaderModifications rule 1 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header name From set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 operation store set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 headerInfo fieldValue set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from type header set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from value From set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to variableScopeValue local set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 operation regpredel set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 to set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 to variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 regexp string @.*> set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 regexp matchInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 operation regdel set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 to set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 to variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 regexp string "(;user=phone>)|>" set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 regexp matchInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 operation append set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 from set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 from value : set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to variableScopeValue local set profiles signaling sipAdaptorProfile HeaderModifications rule 2 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 headerInfo fieldValue set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to value Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 regexp string @.*: set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 regexp matchInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 3 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header name P-Preferred-Identity set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 headerInfo fieldValue set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to value P-Preferred-Identity set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 regexp string @.*: set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 regexp matchInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header name Request-Line set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter paramType uri set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter name Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 operation store set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 paramType uri set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from value Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 operation delete set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 paramType uri set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from value Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to value Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header name From set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable variableID var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable variableID var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header name P-Preferred-Identity set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable variableID var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 2 type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 2 messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 2 messageBody condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 operation regstore set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from messageBodyValue all set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to variableValue var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp string "a=crypto.*?\r\n" set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp matchInstance one set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 variable variableID var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 from value "|2^31\r\n" set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 to variableValue var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 to variableScopeValue local set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 regexp string "(\r\n)|(\|2\^31\r\n)" set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 regexp matchInstance one set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 variable variableID var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 from variableValue var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 to type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 to messageBodyValue all set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 regexp string "a=crypto.*?\r\n" set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 regexp matchInstance one set profiles signaling sipAdaptorProfile HeaderModifications rule 11 applyMatchHeader all set profiles signaling sipAdaptorProfile HeaderModifications rule 11 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 11 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 11 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 operation add set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 headerPosition last set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 from value "Ribbon SBCCore V07.02" set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 to value USER-AGENT set profiles signaling sipAdaptorProfile HeaderModifications rule 12 applyMatchHeader all set profiles signaling sipAdaptorProfile HeaderModifications rule 12 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 12 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 12 criterion 1 message messageTypes responseAll set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 operation add set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 headerPosition last set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 from value "Ribbon SBCCore V07.02" set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 to value SERVER set profiles signaling sipAdaptorProfile HeaderModifications rule 13 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 message messageTypes response set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 message statusCode 200 set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 headerInfo headerValue set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 from value "5061;transport=tls>" set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 to value Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 regexp string "5061\>" set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 regexp matchInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 14 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 1 message messageTypes responseAll set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header name To set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 operation store set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 from type token set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 from tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to variableScopeValue local set profiles signaling sipAdaptorProfile HeaderModifications rule 15 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 1 message messageTypes responseAll set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 from variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 to tokenValue urihostname commit
Configurations in this section are applicable only to single-tenant deployments using Basic ERE. Skip this section if you are using Advanced ERE or PSX as a routing engine.
The SMM rules below are created to serve the following purpose:
set profiles signaling sipAdaptorProfile HeaderModifications state enabled set profiles signaling sipAdaptorProfile HeaderModifications advancedSMM disabled set profiles signaling sipAdaptorProfile HeaderModifications profileType messageManipulation set profiles signaling sipAdaptorProfile HeaderModifications rule 1 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header name From set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from value A.abc.example.com set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 2 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header name P-Preferred-Identity set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from value A.abc.example.com set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from value A.abc.example.com set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header name Request-Line set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter paramType uri set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter name Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 operation store set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 paramType uri set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from value Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 operation delete set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 paramType uri set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from value Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to type parameter set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to value Ribbon set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header name From set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable variableID var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable variableID var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header name P-Preferred-Identity set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable variableID var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from variableValue var2 set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 2 type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 2 messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 2 messageBody condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 operation regstore set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from messageBodyValue all set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to variableValue var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp string "a=crypto.*?\r\n" set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp matchInstance one set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 9 criterion 2 variable variableID var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 from value "|2^31\r\n" set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 to variableValue var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 to variableScopeValue local set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 regexp string "(\r\n)|(\|2\^31\r\n)" set profiles signaling sipAdaptorProfile HeaderModifications rule 9 action 1 regexp matchInstance one set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 1 message condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 variable set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 variable condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 10 criterion 2 variable variableID var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 from variableValue var4 set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 to type messageBody set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 to messageBodyValue all set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 regexp string "a=crypto.*?\r\n" set profiles signaling sipAdaptorProfile HeaderModifications rule 10 action 1 regexp matchInstance one set profiles signaling sipAdaptorProfile HeaderModifications rule 11 applyMatchHeader all set profiles signaling sipAdaptorProfile HeaderModifications rule 11 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 11 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 11 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 operation add set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 headerPosition last set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 from value "Ribbon SBCCore V07.02" set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 11 action 1 to value USER-AGENT set profiles signaling sipAdaptorProfile HeaderModifications rule 12 applyMatchHeader all set profiles signaling sipAdaptorProfile HeaderModifications rule 12 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 12 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 12 criterion 1 message messageTypes responseAll set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 operation add set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 headerPosition last set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 from value "Ribbon SBCCore V07.02" set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 12 action 1 to value SERVER set profiles signaling sipAdaptorProfile HeaderModifications rule 13 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 message messageTypes response set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 1 message statusCode 200 set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 13 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 operation regsub set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 headerInfo headerValue set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 from type value set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 from value "5061;transport=tls>" set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 to type header set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 to value Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 regexp set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 regexp string "5061\>" set profiles signaling sipAdaptorProfile HeaderModifications rule 13 action 1 regexp matchInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 14 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 1 message messageTypes responseAll set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header name To set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 14 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 operation store set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 from type token set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 from tokenValue urihostname set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 14 action 1 to variableScopeValue local set profiles signaling sipAdaptorProfile HeaderModifications rule 15 applyMatchHeader one set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 1 type message set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 1 message set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 1 message messageTypes responseAll set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 type header set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header name Contact set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header condition exist set profiles signaling sipAdaptorProfile HeaderModifications rule 15 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 type token set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 operation modify set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 from set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 from type variable set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 from variableValue var1 set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 to set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 to type token set profiles signaling sipAdaptorProfile HeaderModifications rule 15 action 1 to tokenValue urihostname commit
The SMM rules below are created to serve the following purpose:
Attach this profile to each outbound TGs.
set profiles signaling sipAdaptorProfile REFER state enabled set profiles signaling sipAdaptorProfile REFER advancedSMM disabled set profiles signaling sipAdaptorProfile REFER profileType messageManipulation set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message methodTypes refer set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message condition exist set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 header set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 header name To set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 header condition exist set profiles signaling sipAdaptorProfile REFER rule 1 action 1 type token set profiles signaling sipAdaptorProfile REFER rule 1 action 1 operation store set profiles signaling sipAdaptorProfile REFER rule 1 action 1 from set profiles signaling sipAdaptorProfile REFER rule 1 action 1 from type token set profiles signaling sipAdaptorProfile REFER rule 1 action 1 from tokenValue urihostname set profiles signaling sipAdaptorProfile REFER rule 1 action 1 to set profiles signaling sipAdaptorProfile REFER rule 1 action 1 to type variable set profiles signaling sipAdaptorProfile REFER rule 1 action 1 to variableValue var1 set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 type message set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message methodTypes refer set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message condition exist set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 type header set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 header set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 header name Refer-To set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 header condition exist set profiles signaling sipAdaptorProfile REFER rule 2 action 1 type parameter set profiles signaling sipAdaptorProfile REFER rule 2 action 1 operation add set profiles signaling sipAdaptorProfile REFER rule 2 action 1 paramType uri set profiles signaling sipAdaptorProfile REFER rule 2 action 1 from set profiles signaling sipAdaptorProfile REFER rule 2 action 1 from type variable set profiles signaling sipAdaptorProfile REFER rule 2 action 1 from variableValue var1 set profiles signaling sipAdaptorProfile REFER rule 2 action 1 to set profiles signaling sipAdaptorProfile REFER rule 2 action 1 to type parameter set profiles signaling sipAdaptorProfile REFER rule 2 action 1 to value Ribbon set profiles signaling sipAdaptorProfile REFER rule 3 applyMatchHeader one set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 type message set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 message set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 message methodTypes options set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 type header set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 header set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 header name Max-Forwards set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 header condition exist set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile REFER rule 3 action 1 type header set profiles signaling sipAdaptorProfile REFER rule 3 action 1 operation modify set profiles signaling sipAdaptorProfile REFER rule 3 action 1 headerInfo headerValue set profiles signaling sipAdaptorProfile REFER rule 3 action 1 from set profiles signaling sipAdaptorProfile REFER rule 3 action 1 from type value set profiles signaling sipAdaptorProfile REFER rule 3 action 1 from value 0 set profiles signaling sipAdaptorProfile REFER rule 3 action 1 to set profiles signaling sipAdaptorProfile REFER rule 3 action 1 to type header set profiles signaling sipAdaptorProfile REFER rule 3 action 1 to value Max-Forwards commit
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation inputAdapterProfile REFER outputAdapterProfile HeaderModifications
In this example, the certificate is generated with the below command using a ".cer" extension; however, the ".der" extension is also acceptable.
openssl x509 -outform der -in Baltimore_cert.pem -out Baltimore_cert.cer
# To create a Certificate Signing Request (CSR) and key file for a Subject Alternative Name (SAN) certificate with multiple subject alternate names, complete the following procedure: Create an OpenSSL configuration file (text file) on the local computer by editing the fields to the company requirements. Note 1: In the example used in this article the configuration file is req.conf. Note 2: req_extensions will put the subject alternative names in a CSR, whereas x509_extensions would be used when creating an actual certificate file. [req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [req_distinguished_name] C = US ST = VA L = SomeCity O = MyCompany OU = MyDivision CN = www.company.com [v3_req] keyUsage = keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = www.company.com DNS.2 = company.com DNS.3 = www.company.net DNS.4 = company.net Make sure there are no whitespaces at the end of the lines. #Run the following commands to create the Certificate Signing Request (CSR) and a new Key file: openssl req -new -out company_san.csr -newkey rsa:2048 -nodes -sha256 -keyout company_san.key.temp -config req.conf #Run the following command to verify the Certificate Signing Request: openssl req -text -noout -verify -in company_san.csr # After receiving the CSR with above information, provide it to CA (Certificate Authority). You will then receive the proper CA signed certificate in .crt format that is convertable into other formats using openssl. # By default, you should receive two or more certificate from CA (depanding upon your CA). One is the SBC certificate, and other is CA's root and intermediate certificate. # Upload the certificates to the SBC at /opt/sonus/external and convert them into SBC-readable format, i.e. SBC certificate is in .pem or .p12 format and root certificate is in .cer or .der. #Converting .crt to .pem USING OPENSSL for SBC certificate. openssl x509 -in sbc_cert.crt -out sbc_cert.der -outform DER openssl x509 -in sbc_cert.der -inform DER -out sbc_cert.pem -outform PEM #After generating sbc_cert.pem file, convert it to .p12 format using below command and the location of the certificate key. openssl pkcs12 -export -out sbc1_cert.p12 -in sbc_cert.pem -inkey /opt/sonus/company_san.key.temp #CONVERTING CRT to CER USING OPENSSL for CA's root and intermediate certificate. openssl x509 -in root_cert.crt -out root_cert.cer -outform DER ## Use Baltimore's Root Certificate which is downloadable from the below link. It is present in .pem format. Convert it to .cer format using openssl command. ### http://certificate.fyicenter.com/319_Root_CA_Baltimore_CyberTrust_Root_CyberTrust_Baltimore_IE.html #CONVERTING PEM to CER USING OPENSSL openssl x509 -outform der -in Baltimore_cert.pem -out Baltimore_cert.cer After converting all these certificates upload them on SBC at /opt/sonus/external location.
#Create Crypto Suite Profile. set profiles security cryptoSuiteProfile CRYPT_PROF entry 1 cryptoSuite AES-CM-128-HMAC-SHA1-80 #Import Public CA Root Certificate into database. set system security pki certificate CA_ROOT_CERT type remote fileName root_cert.cer state enabled #Import Baltimore Certificate into database. set system security pki certificate BALTIMORE_CERT type remote fileName Baltimore_cert.cer state enabled #Import Public CA Certified SBC Server Certificate into database set system security pki certificate SBC_CERT filename sbc1_cert.p12 passPhrase <Password defined during CSR generation> state enabled type local #Create TLS Profile set profiles security tlsProfile TLS_PROF clientCertName SBC_CERT serverCertName SBC_CERT cipherSuite1 tls_ecdhe_rsa_with_aes_256_cbc_sha384 cipherSuite2 tls_ecdhe_rsa_with_aes_128_cbc_sha authClient true allowedRoles clientandserver acceptableCertValidationErrors invalidPurpose set profiles security tlsProfile TLS_PROF v1_1 enable set profiles security tlsProfile TLS_PROF v1_0 disable set profiles security tlsProfile TLS_PROF v1_2 enable commit
set addressContext default zone Teams_ZONE sipSigPort 4 state disabled mode outOfService commit set addressContext default zone Teams_ZONE sipSigPort 4 tlsProfileName TLS_PROF commit set addressContext default zone Teams_ZONE sipSigPort 4 state enabled mode inService commit
There are a few areas that result in the TLS negotiation issue. One area involves assigning the incorrect port. Ensure the following is accomplished:
MS Teams listens on port number 5061 (default setting).
Configure port number 5060 on Teams IP-Peer as Ribbon SBC Core increments the port by 1 when transport protocol is TLS.
For tenant's SBC configuration on Teams, use the same port number that is configured under the SBC sipSigPort.
Create an IP interface group.
Replace "x.x.x.x" with the SBC's packet interface (pkt) IP address towards PSTN (example pkt0 IP), and "y" with its prefix length. Provide ceName used during SBC deployment.
set addressContext default ipInterfaceGroup LIF1 ipInterface PKT1_V4 ceName IOTPTFY06 portName pkt0 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT1_V4 ipAddress x.x.x.x prefix Y set addressContext default ipInterfaceGroup LIF1 ipInterface PKT1_V4 mode inService state enabled commit
Create a Zone that groups the set of objects that are used for the communication to PSTN.
set addressContext default zone PSTN_ZONE id 2 commit
Create a SIP Signaling port, which is the logical address permanently bound to a specific zone, to send and receive SIP call signaling packets.
Replace "x.x.x.x" with the SBC's pkt0 IP address.
set addressContext default zone PSTN_ZONE id 2 sipSigPort 1 ipInterfaceGroupName LIF1 ipAddressV4 x.x.x.x portNumber 5060 transportProtocolsAllowed sip-tcp,sip-udp,sip-tls-tcp set addressContext default zone PSTN_ZONE id 2 sipSigPort 1 mode inService state enabled commit
Create a default route for the destination IP to come inside the network through a particular interface.
Replace "x.x.x.x" with destination IP, "Y" with the prefix length and "z.z.z.z" with the PKT0 gateway IP address.
set addressContext default staticRoute X.X.X.X Y Z.Z.Z.Z LIF1 PKT0_V4 preference 100 commit
Create a SIP Trunk Group towards the PSTN side. For ingressIpPrefix, replace X.X.X.X with the IP address that you want to allow from the PSTN side.
It is mandatory to configure Trunk Group names using capital letters.
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG media mediaIpInterfaceGroupName LIF1 set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling methods notify allow set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling rel100Support enabled set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling relayNonInviteRequest enabled set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling honorMaddrParam enabled set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG services dnsSupportType a-only set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG ingressIpPrefix X.X.X.X X set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode inService state enabled commit
The SMM rule is created to serve the following purpose:
In case of "Anonymous calling", the SBC receives the "Contact" header with "Gr" parameter, due to which the SBC transparently passes the "Contact" header to the Egress side (the Teams side), which may result in a call failure.
set profiles signaling sipAdaptorProfile REMOVEGR state enabled set profiles signaling sipAdaptorProfile REMOVEGR advancedSMM disabled set profiles signaling sipAdaptorProfile REMOVEGR profileType messageManipulation set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 1 message set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 1 message methodTypes invite set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 1 message condition exist set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 2 header set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 2 header name Contact set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 2 header condition exist set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 3 type parameter set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 3 parameter set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 3 parameter condition exist set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 3 parameter paramType uri set profiles signaling sipAdaptorProfile REMOVEGR rule 1 criterion 3 parameter name gr set profiles signaling sipAdaptorProfile REMOVEGR rule 1 action 1 type parameter set profiles signaling sipAdaptorProfile REMOVEGR rule 1 action 1 operation delete set profiles signaling sipAdaptorProfile REMOVEGR rule 1 action 1 paramType uri set profiles signaling sipAdaptorProfile REMOVEGR rule 1 action 1 to set profiles signaling sipAdaptorProfile REMOVEGR rule 1 action 1 to type parameter set profiles signaling sipAdaptorProfile REMOVEGR rule 1 action 1 to value gr
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling messageManipulation inputAdapterProfile REMOVEGR commit
To support Media Bypass on Teams, the SBC must support ice and rtcp-mux.
Enable this parameter across all TEAMs TGs.
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services natTraversal iceSupport iceWebrtc commit
The following command disables the local PSX server and enables the remote PSX server. Skip this step if basic ERE or Advanced ERE is used for call routing.
set system policyServer localServer "PSX_LOCAL_SERVER" state "disabled" mode "outOfService" commit set system policyServer remoteServer "RBBNMSPSX" ipAddress "172.16.106.149" state "enabled" mode "active" commit
This section provides the configurations that are needed when basic ERE or Advanced ERE is used for routing. Skip this section if an external PSX is used for routing.
Create a Local Ringback Tone (LRBT) profile that is attached to the Teams side as well as PSTN sides.
Enable Dynamic LRBT.
set profiles media toneAndAnnouncementProfile LRBT_PROF set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone signalingTonePackageState enable set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone precedence lower set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone makeInbandToneAvailable enable set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags useThisLrbtForEgress enable set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags useThisLrbtForIngress enable set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags dynamicLRBT enable commit
Configure the following only if DSP cards/license are not available.
set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags announcementBasedTones enable
Create a Codec Entry with the supported codec and packet size of 20.
set profiles media codecEntry G711SS-DEFAULT dtmf relay rfc2833 set profiles media codecEntry G711SS-DEFAULT packetSize 20 commit
Since Teams supports comfort noise, use G711SS-DEFAULT in the Packet Service Profile.
Don't use the Silence Suppression codec if RBT needs to be played and there are no DSP cards/license. Use normal G711U instead.
Create Element Routing Priority, by assigning highest priority to the 'Entity Type' Trunk Group for all the required Call Types.
set profiles callRouting elementRoutingPriority TEAMS entry _private 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry nationalOperator 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry localOperator 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry nationalType 1 entityType trunkGroup set profiles callRouting elementRoutingPriority TEAMS entry nationalType 2 entityType none set profiles callRouting elementRoutingPriority TEAMS entry internationalType 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry internationalOperator 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry longDistanceOperator 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry ipVpnService 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry test 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry transit 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry otherCarrierChosen 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry carrierCutThrough 1 entityType none set profiles callRouting elementRoutingPriority TEAMS entry userName 1 entityType trunkGroup set profiles callRouting elementRoutingPriority TEAMS entry userName 2 entityType none set profiles callRouting elementRoutingPriority TEAMS entry mobile 1 entityType none commit
Configurations in this section are applicable to only Advanced ERE deployments. Skip this section if you are using single-tenant deployment using basic ERE.
Create DM/PM Criteria based on the tenant's number prefix. In the below example, the "TEAMS_TENANT_A" profile is created to match the called number "2414445".
set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A criteriaType digit set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitType calledNumber set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A parameterPresenceCheck exists set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria egressFlag value send set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria egressFlag operation ignore set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch value startDigitPosition 0 set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch value numberOfDigits 7 set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch value matchValue 2414445 set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch operation equals set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria natureOfAddress value 950 set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria natureOfAddress operation ignore set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberingPlanIndicator value data set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberingPlanIndicator operation ignore set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberLength value 0 set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberLength operation ignore set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria presentationMatch value none set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria presentationMatch operation ignore set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria screeningMatch value none set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria screeningMatch operation ignore commit
Repeat this criterion for all prefix types.
Configurations in this section are applicable to only Advanced ERE deployments. Skip this section if you are using single-tenant deployment using basic ERE.
Create DM/PM rule, and attach the Criteria created under DM/PM Criteria. If the value matches, SBC will put the tenant's FQDN in the "From" header. "A.abc.example.com" in this case.
set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 criteria TEAMS_TENET_A set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 ruleType uri set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation uriType callingUri set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation uriParameterManipulation userParameter none set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation uriParameterManipulation scheme none set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation uriParameterManipulation username none set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation uriParameterManipulation presentation none set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation startCharacterPosition 0 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation numberOfCharacters 0 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation userinfoLength noInput set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation replacement type constant set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation replacement characterString callingNumber set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation replacement startCharacterPosition 0 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation replacement numberOfCharacters 0 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation userInfoManipulation replacement value "" set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation portNumber noChange set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation startCharacterPosition 0 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation numberOfCharacters 64 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation replacement type constant set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation replacement characterString none set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation replacement startCharacterPosition 0 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation replacement numberOfCharacters 0 set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation hostPortManipulation replacement value A.abc.example.com commit
Repeat this rule for all required tenants by increasing the subRule id.
Create a Packet Service Profile (PSP) for the Teams side. The PSP is specified within the SIP trunk group configuration.
set profiles media packetServiceProfile TEAMS_PSP set profiles media packetServiceProfile TEAMS_PSP codec codecEntry1 G711SS-DEFAULT set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcp enable set profiles media packetServiceProfile TEAMS_PSP rtcpOptions terminationForPassthrough enable set profiles media packetServiceProfile TEAMS_PSP preferredRtpPayloadTypeForDtmfRelay 101 set profiles media packetServiceProfile TEAMS_PSP silenceInsertionDescriptor g711SidRtpPayloadType 13 heartbeat enable set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp cryptoSuiteProfile DEFAULT set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp flags enableSrtp enable set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp flags allowFallback enable commit
set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcp enable commit set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcpMux enable commit
Create an IP signaling profile for the Teams side. The IPSP is specified within the SIP trunk group configuration.
set profiles signaling ipSignalingProfile TEAMS_IPSP ipProtocolType sipOnly set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags includeReasonHeader enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags includeTransportTypeInContactHeader enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags routeUsingRecvdFqdn enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags sendPtimeInSdp enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags sendRtcpPortInSdp enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags storePChargingVector enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags publishIPInHoldSDP enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes relayFlags statusCode4xx6xx enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags relayDataPathModeChangeFromOtherCallLeg enable set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes optionTagInRequireHeader suppressReplaceTag enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes numberGlobalizationProfile DEFAULT_IP set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes flags disable2806Compliance enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useIpSignalingPeerDomainInRequestUri enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useSipDomainInPAIHeader enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useSipDomainNameInFromField enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useZoneLevelDomainNameInContact enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy transparency disable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy privacyInformation pPreferredId set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags includePrivacy enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags privacyRequiredByProxy disable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags msLyncPrivacySupport enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes redirect flags forceRequeryForRedirection enable set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes transport type1 tlsOverTcp set profiles signaling ipSignalingProfile TEAMS_IPSP ingressIpAttributes flags sendSdpIn200OkIf18xReliable enable commit
Configure the SIP Trunk Group with additional configurations like LRBT,ERP, DM/PM Rule, PSP, IPSP created in the previous steps.
It is mandatory to configure Trunk Group names using capital letters.
Skip configuring "digitParameterHandling egressDmPmRule" below in the case of Single Tenant deployment using basic ERE. It is applicable only for A-ERE routing option.
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode outOfService state disabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy carrier 0000 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy country 1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy localizationVariant northAmerica set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy tgIPVersionPreference both-ipv4-and-ipv6 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy preferredIdentity disable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy digitParameterHandling numberingPlan NANP_ACCESS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy callRouting elementRoutingPriority TEAMS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy media packetServiceProfile TEAMS_PSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy media toneAndAnnouncementProfile LRBT_PROF set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy services classOfService DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy signaling ipSignalingProfile TEAMS_IPSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy featureControlProfile DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy digitParameterHandling egressDmPmRule TEAMS_TENET_A_MOD set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy sipDomain SIP.PSTNHUB.MICROSOFT.COM set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode inService state enabled commit
IP-peers are defined under IP-PEER.
set global callRouting routingLabel TEAMS_RL overflowNumber "" set global callRouting routingLabel TEAMS_RL overflowNOA none set global callRouting routingLabel TEAMS_RL overflowNPI none set global callRouting routingLabel TEAMS_RL routePrioritizationType sequence set global callRouting routingLabel TEAMS_RL action routes set global callRouting routingLabel TEAMS_RL numRoutesPerCall 10 set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 routeType trunkGroup set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 trunkGroup TEAMS_TG set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 ipPeer TEAMS1_IPP set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 proportion 0 set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 cost 1000000 set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 inService inService set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 testing normal set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 routeType trunkGroup set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 trunkGroup TEAMS_TG set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 ipPeer TEAMS2_IPP set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 proportion 0 set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 cost 1000000 set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 inService inService set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 testing normal set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 routeType trunkGroup set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 trunkGroup TEAMS_TG set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 ipPeer TEAMS3_IPP set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 proportion 0 set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 cost 1000000 set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 inService inService set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 testing normal commit
Create a packet service profile for PSTN and attach it to the PSTN Trunk Group.
set profiles media packetServiceProfile PSTN_PSP rtcpOptions rtcp disable set profiles media packetServiceProfile PSTN_PSP peerAbsenceAction none set profiles media packetServiceProfile PSTN_PSP silenceInsertionDescriptor g711SidRtpPayloadType 13 set profiles media packetServiceProfile PSTN_PSP silenceInsertionDescriptor heartbeat enable set profiles media packetServiceProfile PSTN_PSP aal1PayloadSize 47 set profiles media packetServiceProfile PSTN_PSP codec codecEntry1 G711SS-DEFAULT set profiles media packetServiceProfile PSTN_PSP packetToPacketControl transcode conditional set profiles media packetServiceProfile PSTN_PSP packetToPacketControl codecsAllowedForTranscoding thisLeg "" set profiles media packetServiceProfile PSTN_PSP packetToPacketControl codecsAllowedForTranscoding otherLeg "" set profiles media packetServiceProfile PSTN_PSP flags digitDetectSendEnabled disable set profiles media packetServiceProfile PSTN_PSP flags useDirectMedia disable set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags allowFallback disable set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags enableSrtp disable set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags resetROCOnKeyChange disable set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags resetEncDecROCOnDecKeyChange disable set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags updateCryptoKeysOnModify disable set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags allowPassthru disable set profiles media packetServiceProfile PSTN_PSP preferredRtpPayloadTypeForDtmfRelay 101 set profiles media packetServiceProfile PSTN_PSP honorRemotePrecedence disable set profiles media packetServiceProfile PSTN_PSP sendRoutePSPPrecedence disable commit
Create an IP signaling profile for the Teams side. The IPSP is specified within the SIP trunk group configuration.
set profiles signaling ipSignalingProfile PSTN_IPSP ipProtocolType sipOnly set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags includeReasonHeader enable set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags includeTransportTypeInContactHeader enable set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags relayDataPathModeChangeFromOtherCallLeg enable set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags sendPtimeInSdp enable set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags lockDownPreferredCodec enable set profiles signaling ipSignalingProfile PSTN_IPSP egressIpAttributes flags disable2806Compliance enable commit
Configure the SIP Trunk Group with additional configurations like LRBT, ERP, DM/PM Rule, PSP, IPSP created in the previous steps.
It is mandatory to configure Trunk Group names using capital letters.
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode outOfService state disabled set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy carrier 0000 set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy country 1 set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy localizationVariant northAmerica set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy tgIPVersionPreference both-ipv4-and-ipv6 set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy digitParameterHandling numberingPlan NANP_ACCESS set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy callRouting elementRoutingPriority TEAMS set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy media packetServiceProfile PSTN_PSP set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy media toneAndAnnouncementProfile LRBT_PROF set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy services classOfService DEFAULT_IP set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy signaling ipSignalingProfile PSTN_IPSP set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy featureControlProfile DEFAULT_IP set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode inService state enabled commit
Create an ip-peer towards PSTN.
set addressContext default zone PSTN_ZONE ipPeer PSTN_IPP ipAddress x.x.x.x ipPort yyyy commit
Create a Routing Label with a single Routing Label Route to bind the PSTN Trunk Group with the PSTN IP Peer.
set global callRouting routingLabel PSTN_RL routingLabelRoute 1 trunkGroup PSTN_TG ipPeer PSTN_IPP inService inService commit
When call transfer is initiated by Teams (as per the Teams recommendation), the SBC sends the INVITE back to the same Teams entity from where REFER is received. Teams in-turn initiates a new call towards the referred entity. For this purpose, Standard Route 3 and Username routing entities are configured.
This entry is used to route all the calls coming from Teams towards PSTN endpoints (irrespective of digits or FQDN).
set global callRouting route trunkGroup TEAMS_TG <sbcname> standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel PSTN_RL commit
This entry is used to route all the calls coming from PSTN endpoints towards different Teams tenant TG's based on called digits.
set global callRouting route none Sonus_NULL Sonus_NULL standard 2414445 1 all all ALL none Sonus_NULL routingLabel TEAMS_RL commit
This entry is used to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards PSTN.
set global callRouting route trunkGroup TEAMS_TG <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL
This entry is used to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.
set global callRouting route trunkGroup TEAMS_TG <sbcname> username Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL
This section provides the configuration aspects required on the PSX side. For any other configurations, refer the standard configuration guide.
Configure a gateway with SBC name and the management IP address.
Gateway creation 1/3
Use the same name of Gateway that is configured in SBC.
Gateway Creation 2/3
Gateway Creation 3/3
Assign the highest priority to the 'Entity Type' Trunk Group for all the required Call Types.
Element Routing Priority
Tone And Announcement Profile
'Enable Announcement Based Tones' flag along with Ring Back Tone (without DSP) configuration on SBC to play the RBT without using DSP.
Creating IPSP 1/12
Creating IPSP 2/12
Creating IPSP 3/12
Creating IPSP 4/12
Creating IPSP 5/12
Creating IPSP 6/12
Creating IPSP 7/12
Creating IPSP 8/12
Creating IPSP 9/12
Creating IPSP 10/12
Creating IPSP 11/12
Creating IPSP 12/12
Skip this entry for Single Tenant deployments.
DM/PM Criteria
Repeat this criteria for all of the required number ranges that identify specific tenants.
Skip this entry for Single Tenant deployments.
Add the tenant information under the Replacement value. For example : A.customers.interopdomain.com
DM/PM rule 1/2
DM/PM Rule 2/2
Repeat this for each tenant values by matching different criteria. If the value matches, the PSX places the tenant's FQDN in the "From" header. "A.customers.interopdomain.com" in this example.
Create IP-Peers as per the IP-PEER for redundancy.
IP Peer Group
IP Peer Group
IP Peer Group
Crypto Profile
TEAMS PSP 1/5
TEAMS PSP 2/5
TEAMS PSP 3/5
Enable RTCP-MUX in order for media bypass scenarios to work.
TEAMS PSP 4/5
Set Payload type Silence Insertion Descriptor to "13".
TEAMS PSP 5/5
TEAMS PSP
SIP Domain
It is mandatory to configure Trunk Group names using capital letters.
TEAMS Trunk Group 1/7
Teams Trunk Group 2/7
Teams Trunk Group 3/7
Do not configure "Out DM/PM Rule" with "TEAMS_TENANT_MOD" for Single Tenant deployments.
Teams Trunk Group 4/7
Teams Trunk Group 5/7
Teams Trunk Group 7/7
Routing Label 1/4
Routing Label 2/4
Routing Label 3/4
Associate different IP-Peers created under IP Peer for redundancy purpose.
Routing Label 4/4
Create an IP signaling profile for the PSTN side.
IPSP Configuration 1/8
IPSP Configuration 2/8
IPSP Configuration 3/8
IPSP Configuration 4/8
IPSP Configuration 5/8
IPSP Configuration 6/8
IPSP Configuration 7/8
PSTN IPSP 8/8
Packet Service Profile
Access’s PSP Profile 1/3
Transcoding can be Conditional or Only, depending upon the requirement.
Access’s PSP Profile: 2/3
Access’s PSP Profile 3/3
Packet Service Profile ID Group
Tone And Announcement Profile
IP Peer
Create a trunk group towards the PSTN side.
It is mandatory to configure Trunk Group names using capital letters.
Trunk Group 1/3
Trunk Group 2/3
Trunk Group 3/3
Creating Routing label (RL) 1/2
Creating Routing label (RL) 2/2
When a call transfer is initiated by Teams (as per the Teams recommendation), the SBC sends the INVITE back to the same Teams entity from where REFER is received. Teams, in-turn, initiates a new call towards the referred entity. For this purpose, Standard Route 3 and Username routing entities are configured.
PSX uses this entry to route all the calls coming from Teams towards PSTN end points (irrespective of digits or FQDN).
Standard Route towards PSTN
PSX uses this entry to route the calls coming from PSTN end points towards different Teams tenant TG's based on called digits.
Standard Route Towards Teams
PSX uses this entry to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards PSTN.
Standard Route Towards Teams
PSX uses this entry to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.
Username Routing Towards Teams
Skip this section if you do not want to implement call admission control for each tenant in a multi-tenant deployment.
This section describes the implementation of the Call Admission Control (CAC) profile which provides the ability for each SIP registered or static endpoint to have individualized limits on the number of active calls, bandwidth size, call rates, over-subscription amounts, burst sizes, etc. There is a single incoming trunk from Teams to SBC, where traffic for all tenants is received. When a customer wishes to implement CAC limits for each tenant. Dummy TGs are created for each tenant. When the call comes from Teams, based on tenant information, they are assigned to tenants Dummy TG based on SMM CACSUPERTGREFER defined under Inbound Profile2. These dummy TGs have the CAC profiles configured for enforcing desired CAC limits per tenant.
Configure the SIP Trunk Groups for each tenant to enforce tenant-level CAC towards MS TEAMS.
It is mandatory to configure Trunk Group names using capital letters.
Do not forget to adjust the CAC limits as per customer requirements for each tenant.
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A state enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode inService set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A media mediaIpInterfaceGroupName LIF2 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac callLimit 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthVideoThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac callLimitThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthLimitThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac registrationLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac estimatedChildRegistrations 1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac subscriptionLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac tcpMediaLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callRateMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callBurstMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress registerRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress registerBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress subscribeRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress subscribeBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress otherReqRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress otherReqBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callRateMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callBurstMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress registerRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress registerBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress subscribeRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress subscribeBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress otherReqRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress otherReqBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling methods update reject set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling rel100Support enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling relayNonInviteRequest enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling honorMaddrParam enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A services dnsSupportType a-only commit
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B state enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode inService set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B media mediaIpInterfaceGroupName LIF2 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac callLimit 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthVideoThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac callLimitThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthLimitThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac registrationLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac estimatedChildRegistrations 1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac subscriptionLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac tcpMediaLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callRateMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callBurstMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress registerRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress registerBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress subscribeRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress subscribeBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress otherReqRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress otherReqBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callRateMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callBurstMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress registerRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress registerBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress subscribeRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress subscribeBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress otherReqRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress otherReqBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling methods update reject set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling rel100Support enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling relayNonInviteRequest enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling honorMaddrParam enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B services dnsSupportType a-only commit
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C state enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode inService set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C media mediaIpInterfaceGroupName LIF2 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac callLimit 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthVideoThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac callLimitThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthLimitThreshold 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac registrationLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac estimatedChildRegistrations 1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac subscriptionLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac tcpMediaLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callRateMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callBurstMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress registerRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress registerBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress subscribeRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress subscribeBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress otherReqRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress otherReqBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callRateMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callBurstMax 5 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress registerRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress registerBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callLimit unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress emergencyOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress extendedEmergencyIpLimit 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress subscribeRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress subscribeBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress otherReqRateMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress otherReqBurstMax unlimited set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress hpcOversubscription 10 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling methods update reject set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling rel100Support enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling relayNonInviteRequest enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling honorMaddrParam enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C services dnsSupportType a-only commit
The SMM rules below are created to serve the following purpose:
set profiles signaling sipAdaptorProfile CACSUPERTGREFER state enabled set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message methodTypes refer set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 header name To set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 header condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 type token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 operation store set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 from set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 from type token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 from tokenValue urihostname set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 to set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 to type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 to variableValue var1 set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 type message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message methodTypes refer set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 header name Refer-To set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 header condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 type parameter set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 operation add set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 paramType uri set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 from set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 from type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 from variableValue var1 set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 to set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 to type parameter set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 to value Ribbon set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 applyMatchHeader one set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 type message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 message messageTypes request set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 message methodTypes options set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header name Max-Forwards set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 operation modify set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 headerInfo headerValue set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 from set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 from type value set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 from value 0 set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 to set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 to type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 to value Max-Forwards set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 applyMatchHeader one set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 1 type message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 1 message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header name TO set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 type token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token condition regex-match set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token tokenType urihostname set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token regexp set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token regexp string a.customers.interopdomain.com set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 operation storeIpTg set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 from set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 from type value set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 from value TEAMS_A_TG set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to variableValue var2 set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to variableScopeValue local set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 applyMatchHeader one set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 1 type message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 1 message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header name TO set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 type token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token condition regex-match set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token tokenType urihostname set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token regexp set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token regexp string b.customers.interopdomain.com set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 operation storeIpTg set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 from set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 from type value set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 from value TEAMS_B_TG set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to variableValue var3 set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to variableScopeValue local set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 applyMatchHeader one set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 1 type message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 1 message set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 type header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header name TO set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header condition exist set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 type token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token condition regex-match set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token tokenType urihostname set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token regexp set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token regexp string c.customers.interopdomain.com set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 operation storeIpTg set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 from set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 from type value set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 from value TEAMS_C_TG set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to type variable set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to variableValue var3 set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to variableScopeValue local commit
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation inputAdapterProfile CACSUPERTGREFER
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling messageManipulation inputAdapterProfile REFER outputAdapterProfile HeaderModifications
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling messageManipulation inputAdapterProfile REFER outputAdapterProfile HeaderModifications
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling messageManipulation inputAdapterProfile REFER outputAdapterProfile HeaderModifications
Configure the Tenant SIP Trunk Groups with additional configurations like LRBT,ERP, DM/PM Rule, PSP, IPSP created in the previous steps.
It is mandatory to configure Trunk Group names using capital letters.
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode outOfService state disabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy carrier 0000 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy country 1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy localizationVariant northAmerica set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy tgIPVersionPreference both-ipv4-and-ipv6 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy preferredIdentity disable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy digitParameterHandling numberingPlan NANP_ACCESS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy callRouting elementRoutingPriority TEAMS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy media packetServiceProfile TEAMS_PSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy media toneAndAnnouncementProfile LRBT_PROF set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy services classOfService DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy signaling ipSignalingProfile TEAMS_IPSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy featureControlProfile DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy digitParameterHandling egressDmPmRule TEAMS_TENET_A_MOD set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy sipDomain SIP.PSTNHUB.MICROSOFT.COM set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode inService state enabled commit
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode outOfService state disabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy carrier 0000 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy country 1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy localizationVariant northAmerica set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy tgIPVersionPreference both-ipv4-and-ipv6 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy preferredIdentity disable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy digitParameterHandling numberingPlan NANP_ACCESS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy callRouting elementRoutingPriority TEAMS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy media packetServiceProfile TEAMS_PSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy media toneAndAnnouncementProfile LRBT_PROF set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy services classOfService DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy signaling ipSignalingProfile TEAMS_IPSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy featureControlProfile DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy digitParameterHandling egressDmPmRule TEAMS_TENET_A_MOD set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy sipDomain SIP.PSTNHUB.MICROSOFT.COM set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode inService state enabled commit
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode outOfService state disabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy carrier 0000 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy country 1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy localizationVariant northAmerica set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy tgIPVersionPreference both-ipv4-and-ipv6 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy preferredIdentity disable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy digitParameterHandling numberingPlan NANP_ACCESS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy callRouting elementRoutingPriority TEAMS set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy media packetServiceProfile TEAMS_PSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy media toneAndAnnouncementProfile LRBT_PROF set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy services classOfService DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy signaling ipSignalingProfile TEAMS_IPSP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy featureControlProfile DEFAULT_IP set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy digitParameterHandling egressDmPmRule TEAMS_TENET_A_MOD set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy sipDomain SIP.PSTNHUB.MICROSOFT.COM set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode inService state enabled commit
set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 trunkGroup TEAMS_TG_A ipPeer TEAMS_PEER inService inService commit
set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 trunkGroup TEAMS_TG_B ipPeer TEAMS_PEER inService inService commit
set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 trunkGroup TEAMS_TG_C ipPeer TEAMS_PEER inService inService commit
When a call transfer is initiated by Teams (as per the Teams recommendation), the SBC sends the INVITE back to the same Teams entity from where REFER is received. Teams, in-turn, initiates a new call towards the referred entity. For this purpose, the Standard Route 3 and Username routing entities are configured.
This entry is used to route all the calls coming from Teams towards PSTN endpoints (irrespective of digits or FQDN).
set global callRouting route trunkGroup TEAMS_TG_A <sbcname> standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel PSTN_RL commit
set global callRouting route trunkGroup TEAMS_TG_B <sbcname> standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel PSTN_RL commit
set global callRouting route trunkGroup TEAMS_TG_C <sbcname> standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel PSTN_RL commit
This entry is used to route all the calls coming from PSTN endpoints towards different Teams tenant TG's based on called digits.
set global callRouting route none Sonus_NULL Sonus_NULL standard 2414445 1 all all ALL none Sonus_NULL routingLabel TEAMS_RL_A commit
set global callRouting route none Sonus_NULL Sonus_NULL standard 2414446 1 all all ALL none Sonus_NULL routingLabel TEAMS_RL_B commit
set global callRouting route none Sonus_NULL Sonus_NULL standard 2414447 1 all all ALL none Sonus_NULL routingLabel TEAMS_RL_C commit
This entry is used to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards PSTN.
set global callRouting route trunkGroup TEAMS_TG_A <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_A
set global callRouting route trunkGroup TEAMS_TG_B <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_B
set global callRouting route trunkGroup TEAMS_TG_C <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_C
This entry is used to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.
set global callRouting route trunkGroup TEAMS_TG_A <sbcname> username Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_A
set global callRouting route trunkGroup TEAMS_TG_B <sbcname> username Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_B
set global callRouting route trunkGroup TEAMS_TG_C <sbcname> username Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_C
It is mandatory to configure Trunk Group names using capital letters.
TEAMS Trunk Group 1/7
Teams Trunk Group 2/7
Teams Trunk Group 3/7
Teams Trunk Group 4/7
Teams Trunk Group 5/7
Teams Trunk Group 7/7
Repeat the TG creation steps 2-7 above for each tenant. They are used as outbound TG's. Keep all other parameter the same.
Teams Outbound Trunk Group2
Teams Outbound Trunk Group 3
Create separate routing labels towards each tenant. Keep other parameters under Routing Label 2/4 similar.
Routing Label 1/7
Routing Label 2/7
Routing Label 3/7
Routing Label 4/7
Associate multiple IP-Peers per each Trunk Group/ Gateway entity as defined under Routing Label.
Routing Label 5/7
Routing Label 6/7
Routing Label 7/7
Create the following additional standard routes when using CAC.
The PSX uses this entry to route all the calls coming from Teams towards PSTN endpoints (irrespective of digits or FQDN).
Standard Route towards PSTN
Standard Route towards PSTN
Standard Route towards PSTN
The PSX uses this entry to route the calls coming from PSTN end points towards different Teams tenant TGs based on called digits.
Standard Route Towards Teams
Standard Route Towards Teams
Standard Route Towards Teams
The PSX uses this entry to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards PSTN.
If multiple domain names are used, create this standard route for all domains.
Standard Route Towards Teams
Standard Route Towards Teams
Standard Route Towards Teams
The PSX uses this entry to route all the calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.
If multiple domain names are used, create this username route for all domains.
Username Routing Towards Teams
Username Routing Towards Teams
Username Routing Towards Teams
Microsoft Teams support emergency calling and location based emergency calling (for supported service provider and country). For providing location details, additional configuration is required for each location and client on MS Teams portal. Refer to following link for complete configuration of Microsoft Teams.
At the time of document creation, MS Teams send emergency calls with a "+", which SBC may treat as international number and call might fail. To ensure this, we may need to apply a SMM to remove "+" from the Request line of the INVITE.
This is a sample smm configuration and it need to be integrated into what is already described higher in the document.
set profiles signaling sipAdaptorProfile REMOVE_PLUS profileType messageManipulation set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 applyMatchHeader one set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 1 message set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header name request-line set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header condition exist set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header hdrInstance all set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 type token set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token condition has-value set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token tokenType uriusername set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token value +911 set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 type token set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 operation regdel set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 to set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 to type token set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 to tokenValue uriusername set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 regexp set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 regexp string [+] set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 regexp matchInstance one set profiles signaling sipAdaptorProfile REMOVE_PLUS advancedSMM disabled set profiles signaling sipAdaptorProfile REMOVE_PLUS state enabled commit
set profiles services transparencyProfile E911_Trans_Prof sipHeader Priority ignoreTransparency no set profiles services transparencyProfile E911_Trans_Prof sipHeader GEOLOCATION ignoreTransparency no set profiles services transparencyProfile E911_Trans_Prof sipMessageBody all set profiles services transparencyProfile E911_Trans_Prof sipMessageBody application/sdp set profiles services transparencyProfile E911_Trans_Prof sipMessageBody multipart/mixed set profiles services transparencyProfile E911_Trans_Prof state enabled commit
set profiles services emergencyCallProfile EmergCall-1 prefix 911 commit
This configuration will insure that emergency calls are handled successfully when SBC's trunk limit is full.
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG cac ingress extendedEmergencyIpLimit 10 commit
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services emergencyCallProfile EmergCall-1 commit set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG services transparencyProfile E911_Trans_Profcommit commit
Issues may occur during certificate exchange resulting in a failure of TLS negotiation. Note the following points for troubleshooting:
Install the root and all intermediate certificates provided by your CA on the SBC.
Ensure that SBC's FQDN configured on the Teams side is identical to the one on SBC's certificate.
In case of a wildcard certificate, ensure the correct number of spaces exist before the domain name.
A wild card certificate generated for *.example.com is not valid for *.customers.example.com. Refer to Tls Configuration section for a detailed explanation on SBC-supported certificate format.