Skip to end of metadata
Go to start of metadata



Table of Contents



Interoperable Vendors

  

© 2021 Ribbon Communications Operating Company, Inc. © 2021 ECI Telecom Ltd. All rights reserved. The compilation (meaning the collection, arrangement and assembly) of all content on this site is protected by U.S. and international copyright laws and treaty provisions and may not be used, copied, reproduced, modified, published, uploaded, posted, transmitted or distributed in any way, without prior written consent of Ribbon Communications Inc.

The trademarks, logos, service marks, trade names, and trade dress (“look and feel”) on this website, including without limitation the RIBBON and RIBBON logo marks, are protected by applicable US and foreign trademark rights and other proprietary rights and are the property of Ribbon Communications Operating Company, Inc. or its affiliates. Any third-party trademarks, logos, service marks, trade names and trade dress may be the property of their respective owners.  Any uses of the trademarks, logos, service marks, trade names, and trade dress without the prior written consent of Ribbon Communications Operating Company, Inc., its affiliates, or the third parties that own the proprietary rights, are expressly prohibited.

Document Overview

This document outlines the configuration details for Ribbon's SBC SWe Core interworking & compliance with Anywhere365 and Microsoft Teams.

About Ribbon SBC SWe Core

The Ribbon Session Border Controller Software Edition Core (SBC SWe Core ) provides best-in class communications security. The SBC SWe Core dramatically simplifies the deployment of robust communications security services for SIP Trunking, Direct Routing, and Cloud UC services. The SBC SWe Core operates natively in the Azure and AWS Cloud as well as on virtual machine platforms including Microsoft Hyper-V, VMware, and Linux KVM.

About Anywhere365

Anywhere365 Contact Center and Enterprise Dialogue Management is able to leverage the capabilities of Microsoft Teams to route calls to Teams powered agents with all the rich features of Anywhere365, such as: Call recording, Real-time Translation, IVR, Supervisor, Reporting, Wallboards and more.

Scope

This document provides configuration best practices for deploying Ribbon SBC SWe Core when connecting with Anywhere365 and Microsoft Teams. Note that 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 that best meets their requirements.  

Non-Goals

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. 

Audience

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 Core is required. Understanding the basic concepts of TLS/TCP/UDP, IP/Routing, SIP/RTP and SIP/SRTP is also necessary to complete the configuration and any required troubleshooting.

Prerequisites

The following aspects are required before proceeding with the interop:

  • Ribbon SBC SWe Core on Microsoft Azure
  • SBC SWe Core License
  • Public IP Addresses and Port
  • Anywhere365 SIP trunks
    • Contact Anywhere365 for Domain, IP, and Port information
  • TLS Certificates for SBC SWe Core
Note

During this interop, the SIP trunk between Anywhere365 and Ribbon SBC SWe Core has been configured with TLS and SRTP.

Product and Device Details

The configuration uses the following equipment and software:

Table : Requirements

Product

Equipment/ Devices

Software/ Firmware Version

Ribbon Communications

Ribbon SBC SWe Core

9.2.1

Microsoft CorporationMicrosoft Teams Client Desktop app1.4.00.11161
Microsoft Teams Client Mobile app1416
Third Party PhonesKapanga Softphone1.00
Phonerlite2.93
Anywhere365Anywhere365 SIP trunksNA

Administration and Debugging Tools

Wireshark

3.2.7

LX Tool2.1.0.6

Network Topology 

Deployment Topology 

IOT Lab Topology 

Signaling and Media Flow

Document Workflow

The sections in this document follow the sequence below. The reader is advised to complete each section for a successful configuration.

Section A : Ribbon SBC SWe Core Configuration

Installing Ribbon SBC SWe Core on Microsoft Azure

The SBC SWe Core is available for deployment on Microsoft Azure Cloud. To deploy an SBC SWe Core instance, refer to Instantiate Standalone SBC with Terraform on Azure.

Whitelisting IP's on Network Security Group (NSG)

  1. Login to Azure portal.
  2. Search for "Virtual Machine" and click on your SBC.
  3. Select Networking > Inbound port rules.
  4. Under Inbound port rules, add IPs for MS Teams, PSTN, and Anywhere365.
  5. Under Outbound port rules, add IPs for MS Teams, PSTN, and Anywhere365.



License and TLS Certificates

Prerequisites:

  • For TLS to work on the public side of the network, a trusted Certificate Authority (CA) is needed. In this scenario, GoDaddy is used as a Trusted CA.
  • Enable Anywhere365 and Microsoft teams trunk with TLS/SRTP.
  • For information related to TLS certificate generation and adding it in SBC, refer to the following page SBC 8.2 - Configure SBC for TLS.

Import Required Certificates  

#Import Public CA Root Certificate into database.
set system security pki certificate CA_CERT fileName caCertificate.cer type remote state enabled
set system security pki certificate MSFT_CERT fileName msftCertificate.cer type remote state enabled
commit
 
#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

Import Anywhere365 certificates placed on the SBC at /opt/sonus/external location.

set system security pki certificate ANYWHERE_CACERT fileName AAACertificateServices.cer type remote state enabled
set system security pki certificate ANYWHERE_CERT1 fileName SectigoRSADomainValidationSecureServerCA.crt type remote state enabled
set system security pki certificate ANYWHERE_CERT2 fileName USERTrustRSAAAACA.crt type remote state enabled
commit 

Cryptosuite Profile

Create a cryptosuite profile required for Microsoft teams and Anywhere365.

Attach the cryptosuite profile to the packet service profile that will be created later in the Anywhere365 and Microsoft teams Leg Configuration.

set profiles security cryptoSuiteProfile CRYPT_PROF entry 1 cryptoSuite AES-CM-128-HMAC-SHA1-80
set profiles security cryptoSuiteProfile CRYPT_PROF entry 1 sessionParameterFlags unencryptedSRTCP disable
set profiles security cryptoSuiteProfile CRYPT_PROF entry 1 sessionParameterFlags unencryptedSRTP disable
set profiles security cryptoSuiteProfile CRYPT_PROF entry 1 sessionParameterFlags unauthenticatedSRTP disable
commit

TLS Profile

A TLS Profile is required for the TLS handshake between the SBC Core and Anywhere365. This profile defines cipher suites supported by the SBC Core. Create the TLS profile as mentioned below.

set profiles security tlsProfile CORE_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 CORE_TLS_PROF v1_1 disable
set profiles security tlsProfile CORE_TLS_PROF v1_0 disable
set profiles security tlsProfile CORE_TLS_PROF v1_2 enable
commit

Attach the TLS Profile to the SIP Signaling Port that will be created later in the Anywhere365 and Microsoft teams Leg Configuration.

Ribbon SBC SWe Core Common Configurations

RTCP for Media

To configure the RTCP for media, execute the following commands.

Configure the report interval and disable the sendBYEPacket.

set system media mediaRtcpControl senderReportInterval 5
commit
set system media mediaRtcpControl sendBYEPacket disabled
commit 

Codec Entry

Codec entry allows you to specify the codec used for the call. Create the codec entry for G711Ulaw codec with packet size 20 and rfc2833 method for dtmf.

set profiles media codecEntry G711-A codec g711ss law ALaw packetSize 20 dtmf relay rfc2833
set profiles media codecEntry G711-U codec g711ss law ULaw packetSize 20 dtmf relay rfc2833
commit

SIP Domain

Configure a global SIP Domain Name.

Note

The SBC performs a failover to another Office 365 site when the primary data center site is down. Currently, Microsoft Office 365 uses the following sites.

  • sip.pstnhub.microsoft.com
  • sip2.pstnhub.microsoft.com
  • sip3.pstnhub.microsoft.com
set global sipDomain SIP.PSTNHUB.MICROSOFT.COM
set global sipDomain SIP2.PSTNHUB.MICROSOFT.COM
set global sipDomain SIP3.PSTNHUB.MICROSOFT.COM
commit

Configure FQDN for SBC  (example - abc.example.com) and Anywhere365 FQDN (example - xyz.example.com).

set global sipDomain ABC.EXAMPLE.COM
commit
set global sipDomain XYZ.EXAMPLE.COM
commit

Configure Ring Back Tone (without DSP)

You can configure ring back tones to play on certain codecs even though DSP cards/licenses are not available.

Caution

Only certain codecs are supported for playing tones as announcements. For more information, refer to Tones and Announcements > Playing Tones as Announcements.


set profiles media toneCodecEntry g711u codec g711
set profiles media toneCodecEntry g711u law ULaw
commit 
set profiles media toneCodecEntry g711a codec g711
set profiles media toneCodecEntry g711a law ALaw
commit
set profiles media toneAsAnnouncementProfile toneType defRing codecType g711u segmentId 20001
set profiles media toneAsAnnouncementProfile toneType defRing codecType g711a segmentId 20002
commit

Configure Path Check Profile

Create and attach a Path Check Profile to the Teams side.

set profiles services pathCheckProfile TEAMS_PATH_CHECK_PROF protocol sipOptions sendInterval 60 replyTimeoutCount 1 recoveryCount 1
set profiles services pathCheckProfile TEAMS_PATH_CHECK_PROF transportPreference preference1 tls-tcp preference2 None preference3 None preference4 None
commit

Create and attach a Path Check Profile to the Anywhere365 side.

set profiles services pathCheckProfile ANY_PATH_CHECK_PROF protocol sipOptions sendInterval 60 replyTimeoutCount 1 recoveryCount 1
set profiles services pathCheckProfile ANY_PATH_CHECK_PROF transportPreference preference1 tls-tcp preference2 None preference3 None preference4 None
commit 

Crankback Profile

Create a crankback profile and attach it to the MS teams and PSTN trunk group.

set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 2
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 3
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 34
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 38
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 42
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 44
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 102
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 130
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 135
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 140
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 143
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 147
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 149
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 151
set profiles callRouting crankbackProfile CRANKBACK_PROFILE reason 152

Ribbon SBC SWe Core Configuration towards Microsoft Teams

IP Interface Group

Create an IP Interface Group. For more information, refer to Configure SBC.

set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ceName vsbcSystem portName pkt1
set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ipVarV4 IF3.IPV4 prefixVarV4 IF3.PrefixV4 ipPublicVarV4 IF3.FIPV4
set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 mode inService state enabled
commit

Configure Zone

This Zone groups the set of objects used to communicate to MS Teams.

Configure the domain name (for example, abc.customers.interopdomain.com) and attach it to the appropriate zone.

set addressContext default zone CORE_ZONE id 4
set addressContext default zone CORE_ZONE domainName abc.customers.interopdomain.com
commit

IP Peer

Create an IP Peer for all three sites configured as global SIP Domain names and attach it to the Path Check Profile.

set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP_PSTNHUB policy sip fqdn sip.pstnhub.microsoft.com fqdnPort 5060
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP2_PSTNHUB policy sip fqdn sip2.pstnhub.microsoft.com fqdnPort 5060
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP3_PSTNHUB policy sip fqdn sip3.pstnhub.microsoft.com fqdnPort 5060
commit
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP_PSTNHUB pathCheck profile TEAMS_PATH_CHECK_PROF
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP_PSTNHUB pathCheck profile TEAMS_PATH_CHECK_PROF hostName sip.pstnhub.microsoft.com hostPort 5060 state enabled
commit
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP2_PSTNHUB pathCheck profile TEAMS_PATH_CHECK_PROF
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP2_PSTNHUB pathCheck profile TEAMS_PATH_CHECK_PROF hostName sip2.pstnhub.microsoft.com hostPort 5060 state enabled
commit 
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP3_PSTNHUB pathCheck profile TEAMS_PATH_CHECK_PROF
set addressContext default zone CORE_ZONE ipPeer TEAMS_SIP3_PSTNHUB pathCheck profile TEAMS_PATH_CHECK_PROF hostName sip3.pstnhub.microsoft.com hostPort 5060 state enabled
commit
Note

For TLS, the SBC 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 applicable only for the TLS protocol.

SIP Signaling Port

Define the SIP Signaling port, which is a logical address permanently bound to a specific zone, that sends and receives SIP call signaling packets.

set addressContext default zone CORE_ZONE id 4 sipSigPort 104 ipInterfaceGroupName LIF2 ipVarV4 IF3.IPV4 portNumber 5060 transportProtocolsAllowed sip-tls-tcp ipPublicVarV4 IF3.FIPV4
set addressContext default zone CORE_ZONE id 4 sipSigPort 104 state enabled mode inService
commit

Attach the TLS Profile to the SIP Signaling Port that will be created for Anywhere365 and Microsoft teams Leg Configuration.

set addressContext default zone CORE_ZONE sipSigPort 104 state disabled mode outOfService
commit
set addressContext default zone CORE_ZONE sipSigPort 104 tlsProfileName CORE_TLS_PROF
commit
set addressContext default zone CORE_ZONE sipSigPort 104 mode inService state enabled
commit

Configure DNS Group

Create DNS objects for DNS resolution within a particular zone. Use the interface with public connectivity.

set addressContext default dnsGroup EXT_DNS_GRP
set addressContext default dnsGroup EXT_DNS_GRP type ip interface LIF2 server EXT_DNS ipAddress 8.8.8.8 state enabled
set addressContext default zone CORE_ZONE dnsGroup EXT_DNS_GRP
commit

LRBT Profile

  1. Create a Local Ring Back Tone (LRBT) profile that is attached to the Teams side and the PSTN side.

  2. 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 
Note

If DSP cards/licenses are not available, set the flag announcementBasedTones to enable:

set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags announcementBasedTones enable
commit

Ensure that you enter the configuration described in the "Ring Back Tone (without DSP)" section of this page.

DM/PM Criteria

Create the DM/PM Criteria based on the tenant's number prefix. In the following example, the "TEAMS_TENANT_A" profile is created to match the called number "807777."

set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA criteriaType digit
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitType calledNumber
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA parameterPresenceCheck exists
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria egressFlag value send
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria egressFlag operation ignore
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria digitMatch value startDigitPosition 0
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria digitMatch value numberOfDigits 6
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria digitMatch value matchValue 807777
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria digitMatch operation equals
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria natureOfAddress value 950
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria natureOfAddress operation ignore
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria numberingPlanIndicator value data
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria numberingPlanIndicator operation ignore
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria numberLength value 0
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria numberLength operation ignore
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria presentationMatch value none
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria presentationMatch operation ignore
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria screeningMatch value none
set profiles digitParameterHandling dmPmCriteria TENANT_A_0_CRITERIA digitCriteria screeningMatch operation ignore
commit

DM/PM Rule

Create a DM/PM rule and attach the Criteria created under DM/PM Criteria. If the value matches, the SBC puts the tenant's FQDN in the "From" header ("abc.example.com", in this example).

set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 criteria TENANT_A_0_CRITERIA
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 ruleType uri
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation uriType callingUri
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation uriParameterManipulation userParameter none
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation uriParameterManipulation scheme none
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation uriParameterManipulation username none
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation uriParameterManipulation presentation none
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation startCharacterPosition 0
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation numberOfCharacters 0
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation userinfoLength noInput
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation replacement type constant
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation replacement characterString callingNumber
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation replacement startCharacterPosition 0
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation replacement numberOfCharacters 0
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation userInfoManipulation replacement value ""
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation portNumber noChange
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation startCharacterPosition 0
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation numberOfCharacters 64
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation replacement type constant
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation replacement characterString none
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation replacement startCharacterPosition 0
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation replacement numberOfCharacters 0
set profiles digitParameterHandling dmPmRule CORE_DMPM subRule 0 uriParameterManipulation hostPortManipulation replacement value abc.example.com
commit

Packet Service Profile (PSP)

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 G711-A
set profiles media packetServiceProfile TEAMS_PSP codec codecEntry2 G711-U
set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcp enable 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 CRYPT_PROF
set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp flags enableSrtp enable
set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp flags allowFallback enable
set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcpMux enable
commit

IP Signaling Profile

Create an IP Signaling Profile (IPSP) 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 domainName useZoneLevelDomainNameInContact enable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useIpSignalingPeerDomainInRequestUri enable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes flags disable2806Compliance enable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags includePrivacy enable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useSipDomainNameInFromField enable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useSipDomainInPAIHeader enable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes redirect flags forceRequeryForRedirection 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 privacyRequiredByProxy disable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags msLyncPrivacySupport enable
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes transport type1 tlsOverTcp
set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes numberGlobalizationProfile DEFAULT_IP
set profiles signaling ipSignalingProfile TEAMS_IPSP ingressIpAttributes flags sendSdpIn200OkIf18xReliable enable
set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes transparencyFlags unknownHeader enable 
commit

Configure SMM Profiles towards MS Teams

Outbound

The below SMM commands serve the following purpose:

  • Rule 1: Stores the "From" header hostname and stores it in a variable (var1).
  • Rules 2-3: Replaces the current value of the Contact header and PPI with a variable (var1).
  • Rules 4-7: Used mainly for handling transfer scenarios in a multi-tenant deployment. It populates the correct tenant information from the "Ribbon" parameter and adds it in "Contact" and "PPI" headers.
set profiles signaling sipAdaptorProfile MODIFY_HEADER profileType messageManipulation
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 applyMatchHeader one
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 1 type message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 1 message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 1 message messageTypes requestAll
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 2 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 2 header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 2 header name From
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 operation store
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 headerInfo fieldValue
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 from type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 from value From
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 to type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 to variableValue var1
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 1 to variableScopeValue local
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 operation regpredel
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 to type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 to variableValue var1
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 regexp
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 regexp string "@.*>"
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 2 regexp matchInstance all
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 operation regdel
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 to type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 to variableValue var1
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 regexp
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 regexp string "(;user=phone>)|>"
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 3 regexp matchInstance all
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 operation append
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 from type value
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 from value :
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 to type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 to variableValue var1
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 1 action 4 to variableScopeValue local
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 applyMatchHeader one
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 1 type message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 1 message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 1 message messageTypes requestAll
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 2 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 2 header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 2 header name Contact
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 operation regsub
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 headerInfo fieldValue
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 from type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 from variableValue var1
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 to type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 to value Contact
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 regexp
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 regexp string "@.*:"
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 2 action 1 regexp matchInstance all
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 applyMatchHeader one
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 1 type message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 1 message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 1 message messageTypes requestAll
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 2 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 2 header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 2 header name P-Preferred-Identity
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 operation regsub
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 headerInfo fieldValue
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 from type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 from variableValue var1
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 to type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 to value P-Preferred-Identity
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 regexp
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 regexp string "@.*:"
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 3 action 1 regexp matchInstance all
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 1 type message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 1 message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 1 message methodTypes invite
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 1 message condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 2 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 2 header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 2 header name Request-Line
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 3 type parameter
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 3 parameter
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 3 parameter condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 3 parameter paramType uri
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 criterion 3 parameter name Ribbon
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 type parameter
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 operation store
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 paramType uri
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 from type parameter
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 from value Ribbon
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 to type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 1 to variableValue var2
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 type parameter
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 operation delete
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 paramType uri
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 from type parameter
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 from value Ribbbon
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 to type parameter
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 4 action 2 to value Ribbon
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 1 type message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 1 message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 1 message methodTypes invite
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 1 message condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 2 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 2 header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 2 header name From
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 3 type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 3 variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 3 variable condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 criterion 3 variable variableID var2
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 type token
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 operation modify
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 from type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 from variableValue var2
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 to type token
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 5 action 1 to tokenValue urihostname
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 1 type message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 1 message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 1 message methodTypes invite
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 1 message condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 2 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 2 header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 2 header name Contact
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 3 type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 3 variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 3 variable condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 criterion 3 variable variableID var2
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 type token
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 operation modify
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 from type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 from variableValue var2
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 to type token
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 6 action 1 to tokenValue urihostname
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 1 type message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 1 message
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 1 message methodTypes invite
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 1 message condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 2 type header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 2 header
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 2 header name P-Preferred-Identity
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 3 type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 3 variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 3 variable condition exist
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 criterion 3 variable variableID var2
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 type token
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 operation modify
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 from
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 from type variable
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 from variableValue var2
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 to
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 to type token
set profiles signaling sipAdaptorProfile MODIFY_HEADER rule 7 action 1 to tokenValue urihostname
set profiles signaling sipAdaptorProfile MODIFY_HEADER advancedSMM disabled
commit
set profiles signaling sipAdaptorProfile MODIFY_HEADER state enabled
commit

Inbound

The below SMM rules are created to serve the following purpose:

  • Rule 1: Stores a urihostname value of "To" header and stores it in a variable.
  • Rule 2: Creates a dummy parameter in the "refer-to" header with name "Ribbon" and stores the variable.
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 state enabled
commit

Element Routing Priority

Create an Element Routing Priority profile by assigning the highest priority to the 'Entity Type' Trunk Group for all required Call Types.

set profiles callRouting elementRoutingPriority CORE_ERP entry _private 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry nationalOperator 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry localOperator 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry nationalType 1 entityType trunkGroup
set profiles callRouting elementRoutingPriority CORE_ERP entry nationalType 2 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry internationalType 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry internationalOperator 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry longDistanceOperator 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry ipVpnService 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry test 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry transit 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry otherCarrierChosen 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry carrierCutThrough 1 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry userName 1 entityType trunkGroup
set profiles callRouting elementRoutingPriority CORE_ERP entry userName 2 entityType none
set profiles callRouting elementRoutingPriority CORE_ERP entry mobile 1 entityType none
commit 

SIP Trunk Group towards Teams

Configure the SIP Trunk Group with additional configurations like LRBTERPDM/PM RulePSPIPSP,and SMM created in the previous steps. 

Caution

You must configure Trunk Group names using capital letters.

set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG media mediaIpInterfaceGroupName LIF2
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG signaling honorMaddrParam enabled
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy media packetServiceProfile TEAMS_PSP
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy signaling ipSignalingProfile TEAMS_IPSP
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG signaling rel100Support enabled
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG services dnsSupportType a-only
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG ingressIpPrefix 52.0.0.0 8
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG signaling relayNonInviteRequest enabled
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG signaling methods update reject
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy media toneAndAnnouncementProfile LRBT_PROF
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation outputAdapterProfile MODIFY_HEADER
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation inputAdapterProfile REFER
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy digitParameterHandling egressDmPmRule CORE_DMPM
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy digitParameterHandling numberingPlan NANP_ACCESS
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy callRouting elementRoutingPriority CORE_ERP
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy carrier 0000
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy country 1
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy localizationVariant northAmerica
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy tgIPVersionPreference both-ipv4-and-ipv6
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy preferredIdentity disable
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy services classOfService DEFAULT_IP
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy featureControlProfile DEFAULT_IP
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG mode inService state enabled
set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG media sdpAttributesSelectiveRelay enabled
commit

Crank Back Profile

Attach the CrankBack Profile under section Crankback Profile to Microsoft teams trunk group.

set addressContext default zone CORE_ZONE sipTrunkGroup TEAMS_TG callRouting crankBackProfile CRANKBACK_PROFILE

Static Route

Static routes are used to create communication to remote networks. In a production environment, static routes are mainly configured for routing from a specific network to a network that can only be accessed through one point or one interface (single path access or default route).

Tip
  • For smaller networks with just one or two routes, configuring static routing is preferable. This is often more efficient since a link is not being wasted by exchanging dynamic routing information.
  • For networks that have a LAN-side Gateway on Voice VLAN or Multi-Switch Edge Devices (MSEs) with Voice VLAN towards the SBC Core, static routing configurations are not required.


Note

Add the static route once PSTN Leg and Microsoft Teams and Anywhere365 Leg configurations are done on the SBC.

Static route towards Microsoft teams and Anywhere365 Cloud.

set addressContext default staticRoute 0.0.0.0 0 10.X.X.X LIF2 PKT1_V4 preference 100
set addressContext default staticRoute 8.8.8.8 32 10.X.X.X LIF2 PKT1_V4 preference 100
commit

Routing Label

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 TEAMS_RL routingLabelRoute 1 trunkGroup TEAMS_TG ipPeer TEAMS_SIP_PSTNHUB inService inService
set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 trunkGroup TEAMS_TG ipPeer TEAMS_SIP2_PSTNHUB inService inService
set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 trunkGroup TEAMS_TG ipPeer TEAMS_SIP3_PSTNHUB inService inService
commit

Ribbon SBC SWe Core Configurations towards PSTN

IP Interface Group

Create an IP Signaling Profile with appropriate signaling flags towards PSTN.

set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ceName vsbcSystem portName pkt0
set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ipVarV4 IF2.IPV4 prefixVarV4 IF2.PrefixV4 ipPublicVarV4 IF2.FIPV4
set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 mode inService state enabled
commit

Zone

Create a Zone towards PSTN and specify the ID of the zone.

Note

This Zone groups the set of objects used for the communication towards PSTN.

set addressContext default zone PSTN_ZONE id 2 sipSigPort 102 mode inService state enabled
commit

SIP Signaling Port

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.

Note

Configure a metavariable for the SIP Signaling Port IP of SBC towards PSTN.

set addressContext default zone PSTN_ZONE id 2 sipSigPort 102 ipInterfaceGroupName LIF1 ipVarV4 IF2.IPV4 portNumber 5060 transportProtocolsAllowed sip-tcp,sip-udp,sip-tls-tcp ipPublicVarV4 IF2.FIPV4
commit

IP Peer

Create an IP Peer with the signaling IP address of the PSTN (Service Provider) and assign it to the PSTN Zone.

Note

Replace "x.x.x.x" with the PSTN IP.


set addressContext default zone PSTN_ZONE ipPeer PSTN_PEER ipAddress X.X.X.X ipPort 5060
commit

Packet Service Profile (PSP)

Create a Packet Service Profile (PSP) for the PSTN leg. The PSP is attached to sipTrunkGroup created later in this section.

set profiles media packetServiceProfile PSTN_PSP
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 G711-A
set profiles media packetServiceProfile PSTN_PSP codec codecEntry2 G711-U
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

IP Signaling Profile

Create an IP Signaling Profile (IPSP) 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
set profiles signaling ipSignalingProfile PSTN_IPSP ingressIpAttributes flags sendSdpIn200OkIf18xReliable enable
set profiles signaling ipSignalingProfile PSTN_IPSP egressIpAttributes transport type1 udp
set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes transparencyFlags unknownHeader enable 
set profiles signaling ipSignalingProfile PSTN_IPSP egressIpAttributes numberGlobalizationProfile DEFAULT_IP
commit

SIP Trunk Group

Create a SIP Trunk Group towards the PSTN and assign corresponding profiles like LRBT, PSP, IPSP created in earlier steps.

Caution

You must 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 policy media packetServiceProfile PSTN_PSP
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy signaling ipSignalingProfile PSTN_IPSP
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling rel100Support enabled
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling methods notify allow
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG services dnsSupportType a-only
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG ingressIpPrefix 0.0.0.0 0
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling honorMaddrParam enabled
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling relayNonInviteRequest enabled
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy country 1
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy carrier 0000
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy localizationVariant northAmerica
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 CORE_ERP
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 media toneAndAnnouncementProfile TEAMS_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 featureControlProfile DEFAULT_IP
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode inService state enabled
commit 

Crank Back Profile

Attach the CrankBack Profile created under section Crankback Profile to PSTN trunk group.

set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG callRouting crankBackProfile CRANKBACK_PROFILE
commit

Static Route

Static route towards PSTN.

set addressContext default staticRoute 0.0.0.0 0 10.X.X.X LIF1 PKT0_V4 preference 100
commit

Routing Label

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 PSNT_RL routingLabelRoute 1 trunkGroup PSTN_TG ipPeer PSTN_PEER inService inService
commit

Ribbon SBC SWe Core Configuration towards Anywhere365 Cloud

Packet Service Profile (PSP)

Create a Packet Service Profile (PSP) for the Teams side. The PSP is specified within the SIP Trunk Group configuration.

set profiles media packetServiceProfile ANYWHERE_PSP
set profiles media packetServiceProfile ANYWHERE_PSP codec codecEntry1 G711-A
set profiles media packetServiceProfile ANYWHERE_PSP codec codecEntry2 G711-U
set profiles media packetServiceProfile ANYWHERE_PSP rtcpOptions rtcp enable terminationForPassthrough enable
set profiles media packetServiceProfile ANYWHERE_PSP preferredRtpPayloadTypeForDtmfRelay 101
set profiles media packetServiceProfile ANYWHERE_PSP silenceInsertionDescriptor g711SidRtpPayloadType 13 heartbeat enable
set profiles media packetServiceProfile ANYWHERE_PSP secureRtpRtcp cryptoSuiteProfile CRYPT_PROF
set profiles media packetServiceProfile ANYWHERE_PSP secureRtpRtcp flags enableSrtp enable
set profiles media packetServiceProfile ANYWHERE_PSP secureRtpRtcp flags allowFallback enable
set profiles media packetServiceProfile ANYWHERE_PSP rtcpOptions rtcpMux enable
commit

IP Signaling Profile

Create an IP Signaling Profile (IPSP) for the Teams side. The IPSP is specified within the SIP trunk group configuration.

set profiles signaling ipSignalingProfile ANYWHERE_IPSP ipProtocolType sipOnly
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags includeReasonHeader enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags includeTransportTypeInContactHeader enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags routeUsingRecvdFqdn enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags sendPtimeInSdp enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags sendRtcpPortInSdp enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags storePChargingVector enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags publishIPInHoldSDP enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes relayFlags statusCode4xx6xx enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes flags relayDataPathModeChangeFromOtherCallLeg enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP commonIpAttributes optionTagInRequireHeader suppressReplaceTag enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes domainName useZoneLevelDomainNameInContact enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes domainName useIpSignalingPeerDomainInRequestUri enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes flags disable2806Compliance enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes privacy flags includePrivacy enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes domainName useSipDomainNameInFromField enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes domainName useSipDomainInPAIHeader enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes redirect flags forceRequeryForRedirection enable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes privacy transparency disable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes privacy privacyInformation pPreferredId
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes privacy flags privacyRequiredByProxy disable
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes transport type1 tlsOverTcp
set profiles signaling ipSignalingProfile ANYWHERE_IPSP egressIpAttributes numberGlobalizationProfile DEFAULT_IP
set profiles signaling ipSignalingProfile ANYWHERE_IPSP ingressIpAttributes flags sendSdpIn200OkIf18xReliable enable
commit

SIP Trunk Group towards Anywhere365

Configure the SIP Trunk Group with additional configurations like ERPDM/PM RulePSP, and IPSP created in the previous section.

Caution

You must configure Trunk Group names using capital letters.

Note

Since public IP interface is required for Anywhere365, SIP Trunk Group towards Anywhere365 is created on the same zone "CORE_ZONE" as Microsoft teams.

Note

Replace 'X.X.X.X' with Anywhere365 IP and 'Y' with prefix.

set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG media mediaIpInterfaceGroupName LIF2
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG signaling honorMaddrParam enabled
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy media packetServiceProfile ANYWHERE_PSP
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy signaling ipSignalingProfile ANYWHERE_IPSP
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG signaling rel100Support enabled
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG services dnsSupportType a-only
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG ingressIpPrefix X.X.X.X Y
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG signaling relayNonInviteRequest enabled
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG signaling methods update allow
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy digitParameterHandling egressDmPmRule CORE_DMPM
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy digitParameterHandling numberingPlan NANP_ACCESS
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy callRouting elementRoutingPriority CORE_ERP
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy carrier 0000
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy country 1
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy localizationVariant northAmerica
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy tgIPVersionPreference both-ipv4-and-ipv6
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy preferredIdentity disable
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy services classOfService DEFAULT_IP
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG policy featureControlProfile DEFAULT_IP
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG mode inService state enabled
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG media sdpAttributesSelectiveRelay enabled
commit

IP Peer

Create an IP Peer for all three sites configured as global SIP Domain names and attach it to the Path Check Profile.

set addressContext default zone CORE_ZONE ipPeer ANYWHERE365_HUB policy sip fqdn emea-weu-t-sbc01.emea-weu.anywhere365.cloud fqdnPort 5060
set addressContext default zone CORE_ZONE ipPeer ANYWHERE365_HUB pathCheck profile ANY_PATH_CHECK_PROF
set addressContext default zone CORE_ZONE ipPeer ANYWHERE365_HUB pathCheck profile ANY_PATH_CHECK_PROF hostName emea-weu-t-sbc01.emea-weu.anywhere365.cloud hostPort 5060 state enabled
commit

Privacy Profile

Create a privacy profile and attach it to Anywhere365 trunkgroup. For more details refer to Privacy Profile - CLI.

set profiles services privacyProfile ANYWHERE_PRIVACY
commit
set addressContext default zone CORE_ZONE sipTrunkGroup ANYWHERE365_TG services privacyProfile ANYWHERE_PRIVACY
commit
Note

For User-Uri in FROM header to be "anonymous," privacy profile has been created. The profile is being created with default values.

Routing Label

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 ANYWHERE365_RL1 routingLabelRoute 1 trunkGroup ANYWHERE365_TG ipPeer ANYWHERE365_HUB inService inService
set global callRouting routingLabel ANYWHERE365_RL1 routingLabelRoute 2 trunkGroup TEAMS_TG ipPeer TEAMS_SIP_PSTNHUB inService inService
set global callRouting routingLabel ANYWHERE365_RL1 routingLabelRoute 3 trunkGroup TEAMS_TG ipPeer TEAMS_SIP2_PSTNHUB inService inService
set global callRouting routingLabel ANYWHERE365_RL1 routingLabelRoute 4 trunkGroup TEAMS_TG ipPeer TEAMS_SIP3_PSTNHUB inService inService
commit
set global callRouting routingLabel ANYWHERE365_RL2 routingLabelRoute 1 trunkGroup ANYWHERE365_TG ipPeer ANYWHERE365_HUB inService inService
set global callRouting routingLabel ANYWHERE365_RL2 routingLabelRoute 2 trunkGroup PSTN_TG ipPeer PSTN_PEER inService inService
commit

Call Routing

Call Routing for the endpoints.

Note

Provide ceName used during an SBC deployment. "VSBCSYSTEM" is the ceName.

Standard Route 1

Use this entry to allow the SBC to route all calls coming from PSTN endpoints to Anywhere365 (irrespective of digits or FQDN).

set global callRouting route trunkGroup PSTN_TG VSBCSYSTEM standard Sonus_NULL Sonus_NULL all all ALL none Sonus_NULL routingLabel ANYWHERE365_RL1
commit

Standard Route 2

Use this entry to allow the SBC to route all calls coming from MS Teams towards PSTN endpoints (irrespective of digits or FQDN).

set global callRouting route trunkGroup TEAMS_TG VSBCSYSTEM standard Sonus_NULL Sonus_NULL all all ALL none Sonus_NULL routingLabel ANYWHERE365_RL2
commit

Standard Route 3

Use this entry to allow the SBC to route all calls coming from Anywhere365 based on the called digits.

set global callRouting route none Sonus_NULL Sonus_NULL standard 9993332 1 all all ALL none Sonus_NULL routingLabel PSNT_RL
set global callRouting route none Sonus_NULL Sonus_NULL standard 8077771 1 all all ALL none Sonus_NULL routingLabel TEAMS_RL

Standard Route 4

Use this entry to allow the SBC to route all calls towards the MS Teams after receiving REFER from the MS Teams for a call transfer towards PSTN.

set global callRouting route trunkGroup TEAMS_TG VSBCSYSTEM standard Sonus_NULL Sonus_NULL all all ALL none sip.pstnhub.microsoft.com routingLabel TEAMS_RL
set global callRouting route trunkGroup TEAMS_TG VSBCSYSTEM standard Sonus_NULL Sonus_NULL all all ALL none sip2.pstnhub.microsoft.com routingLabel TEAMS_RL
set global callRouting route trunkGroup TEAMS_TG VSBCSYSTEM standard Sonus_NULL Sonus_NULL all all ALL none sip3.pstnhub.microsoft.com routingLabel TEAMS_RL
commit

Username Routing

Use this entry to allow the SBC to route all calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.

set global callRouting route trunkGroup TEAMS_TG VSBCSYSTEM username Sonus_NULL Sonus_NULL all all ALL none sip.pstnhub.microsoft.com routingLabel TEAMS_RL
set global callRouting route trunkGroup TEAMS_TG VSBCSYSTEM username Sonus_NULL Sonus_NULL all all ALL none sip2.pstnhub.microsoft.com routingLabel TEAMS_RL
set global callRouting route trunkGroup TEAMS_TG VSBCSYSTEM username Sonus_NULL Sonus_NULL all all ALL none sip3.pstnhub.microsoft.com routingLabel TEAMS_RL
commit

Section B: Anywhere365 Configuration

For Anywhere365 related configurations and queries, please contact the Anywhere365 technical support team.

Supplementary Services and Features Coverage

The following checklist depicts the set of services/features covered through the configurations defined in this Interop Guide.

Sr. No.

Supplementary Services/ Features

Coverage

1Call Setup and Termination over TLS

   

2Call Transfer (Blind/Unattended/Cold)

3Call Transfer (Consultative/Attended/Warm)

4Supervisor actions

5Quality Management using DTMF

6Call hold and Resume (with MOH enable)

7Call hold and Resume (without MOH enable)

8Anonymous Call

9Long Duration

10OPTIONS validation

11DTMF handling

12Session Refresh

Legend

Supported

Not Supported

Caveats

When PSTN initiates call to Agent or during a call transfer, ring back tone is heard only one time which is a known issue to Ribbon. This issue has been addressed and fixed in the upcoming SBC release.

Support

For any support related queries about this guide, please contact your local Ribbon representative or use the details below:

References

For detailed information about Ribbon products and solutions, please visit:
https://ribboncommunications.com/products

For detailed information about Anywhere365 products and solutions, please visit:
https://anywhere365.io/

Conclusion

This Interoperability Guide describes the configuration steps required for the Ribbon SBC SWe Core to successfully interoperate with Anywhere365. All feature and serviceability test cases were completed and passed with the exceptions and observations noted in Test Results.

All features and capabilities tested are detailed within this document - any limitations, notes, or observations are also recorded in order to provide the reader with an accurate understanding of what is and what is not covered.

Configuration guidance is provided to enable the reader to replicate the same base setup — additional configuration changes are possibly required to suit the exact deployment environment.




© 2021 Ribbon Communications Operating Company, Inc. © 2021 ECI Telecom Ltd. All rights reserved.