© 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.
This document provides the configuration snapshot of the interoperability performed between Ribbon's SWe Core on Azure with Microsoft Teams Direct Routing.
https://docs.microsoft.com/en-us/microsoftteams/direct-routing-border-controllers
https://ribboncommunications.com/solutions/enterprise-solutions/microsoft-solutions
.This guide contains the following configuration sections:
Section A: SLB Configuration
Section B: SBC Core Configuration
This document provides configuration best practices for deploying Ribbon's SWe Core on Azure with Microsoft Teams Direct Routing, providing fail over and load balancing functionality with Ribbon's new SLB (SIP load balance). 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 Core and the third-party product.
Steps will require navigating the third-party product as well as the Ribbon product using graphical user interface (GUI) or command line interface (CLI).
Understanding of the basic concepts of TCP/UDP/TLS, IP/Routing, and SIP/RTP/SRTP is needed to complete the configuration and any necessary troubleshooting.
Before starting configuration, ensure that the following prerequisites are fulfilled:
https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan#licensing-and-other-requirements
.A Microsoft Phone System license is needed on MS Teams to enable direct routing. Refer to Microsoft documentation for Microsoft licensing requirements.
Equipment/ Product | Software Version | |
---|---|---|
Ribbon Communications | Ribbon SWe Core Ribbon SWe SLB Ribbon HFE | V09.01.00-A010 V09.01.00-S401 UbuntuServer:18.04-LTS |
Third-Party Products | Microsoft Teams Microsoft Teams Client | v.2020.9.5.3 i.USEA.4 1.3.00.21956 |
The aforementioned software versions were tested during the interop. Later software versions will also support this topology.
In cloud SBC, meta variables are logical mapping of properties of the virtual network interfaces of SBC. Each interface created for the SBC will mapped with a meta variable properties of the defined group allocated in the cloud space. These meta variable will be used while configuring ipInterfaceGroups and sipSigPorts. An example is given below:
Create an IP Interface Group with specific meta variables.
set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 portName pkt0 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ipVarV4 IF2.IPV4 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 prefixVarV4 IF2.PrefixV4 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ipPublicVarV4 HFE_IF2.FIPV4 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 mode inService set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 state enabled commit set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 portName pkt1 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ipVarV4 IF3.IPV4 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 prefixVarV4 IF3.PrefixV4 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ipPublicVarV4 HFE_IF3.FIPV4 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 mode inService set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 state enabled commit
Create Static Route
Create a default route for the destination IP to enter the network through a particular interface.
Use gateway IP address of associated network interface.
set addressContext default staticRoute 0.0.0.0 0 10.1.5.1 LIF1 PKT0_V4 preference 100 set addressContext default staticRoute 0.0.0.0 0 10.1.6.1 LIF2 PKT1_V4 preference 100 commit
Define zone, interfaces and sipSigport use by SLB to communicate with PSTN network.
Create Zone
This Zone groups the set of objects used to communicate to PSTN.
set addressContext default zone PSTN_ZONE id 4 commit
Create 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 PSTN_ZONE id 4 set addressContext default zone PSTN_ZONE sipSigPort 4 ipInterfaceGroupName LIF1 set addressContext default zone PSTN_ZONE sipSigPort 4 portNumber 5060 set addressContext default zone PSTN_ZONE sipSigPort 4 transportProtocolsAllowed sip-udp set addressContext default zone PSTN_ZONE sipSigPort 4 ipVarV4 IF2.IPV4 set addressContext default zone PSTN_ZONE sipSigPort 4 ipPublicVarV4 HFE_IF2.FIPV4 set addressContext default zone PSTN_ZONE sipSigPort 4 mode inService set addressContext default zone PSTN_ZONE sipSigPort 4 state enabled commit
Define zone, interfaces and sipSigport use by SLB to communicate with SBC.
Create Zone
This Zone groups the set of objects used to communicate towards SBC.
set addressContext default zone SBC_ZONE id 6 commit
Create 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 SBC_ZONE sipSigPort 6 ipInterfaceGroupName LIF2 set addressContext default zone SBC_ZONE sipSigPort 6 portNumber 5060 set addressContext default zone SBC_ZONE sipSigPort 6 transportProtocolsAllowed sip-udp,sip-tcp set addressContext default zone SBC_ZONE sipSigPort 6 ipVarV4 IF3.IPV4 set addressContext default zone SBC_ZONE sipSigPort 6 ipPublicVarV4 HFE_IF3.FIPV4 set addressContext default zone SBC_ZONE sipSigPort 6 mode inService set addressContext default zone SBC_ZONE sipSigPort 6 state enabled commit
Create Zone
This Zone groups the set of objects used to communicate towards TEAMS.
set addressContext default zone TEAMS_ZONE id 5 commit
Create 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 TEAMS_ZONE id 5 set addressContext default zone TEAMS_ZONE sipSigPort 5 ipInterfaceGroupName LIF1 set addressContext default zone TEAMS_ZONE sipSigPort 5 portNumber 5070 set addressContext default zone TEAMS_ZONE sipSigPort 5 transportProtocolsAllowed sip-udp,sip-tcp,sip-tls-tcp set addressContext default zone TEAMS_ZONE sipSigPort 5 ipVarV4 IF2.IPV4 set addressContext default zone TEAMS_ZONE sipSigPort 5 ipPublicVarV4 HFE_IF2.FIPV4 set addressContext default zone TEAMS_ZONE sipSigPort 5 mode inService set addressContext default zone TEAMS_ZONE sipSigPort 5 state enabled commit
Adding TLS Profile on SipSigPort
For information related to TLS certificate generation and adding it in SBC, refer to the following page on Ribbon's website - https://doc.rbbn.com/display/ALLDOC/SBC+8.2+-+Configure+SBC+for+TLS
set addressContext default zone TEAMS_ZONE sipSigPort 5 mode outOfService set addressContext default zone TEAMS_ZONE sipSigPort 5 state disable set addressContext default zone TEAMS_ZONE sipSigPort 5 tlsProfileName TLS_PROF set addressContext default zone TEAMS_ZONE sipSigPort 5 mode inService set addressContext default zone TEAMS_ZONE sipSigPort 5 state enabled commit
Create common interface on SLB to communicate with SBC.
set system slb commInterface addressContext default set system slb commInterface ipInterfaceGroup LIF2 set system slb commInterface pktIpVar IF3.IPV4 commit
Create IP Interface Group
Provide ceName
used during the SBC deployment.
set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ceName vsbcSystem set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 portName pkt0 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ipVarV4 IF2.IPV4 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 prefixVarV4 IF2.PrefixV4 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ipPublicVarV4 IF2.FIPV4 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 mode inService set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 state enabled commit set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ceName vsbcSystem set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 portName pkt1 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ipVarV4 IF3.IPV4 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 prefixVarV4 IF3.PrefixV4 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 mode inService set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 state enabled commit
Create DNS group
Create DNS group and attach it to specific zone.
set addressContext default dnsGroup EXT_DNS type ip set addressContext default dnsGroup EXT_DNS interface LIF2 set addressContext default dnsGroup EXT_DNS server DNS2 state enabled set addressContext default dnsGroup EXT_DNS server DNS2 ipAddress 8.8.8.8 commit
Enabling SLB usage on SBC.
set system slb usage enable commit
Define the common ipInterfaceGroup interface and its corresponding meta variable.
set system slb commInterface addressContext default ipInterfaceGroup LIF2 pktIpVar IF3.IPV4 commit
Replace "x.x.x.x" with the public IP address of the meta variable of LIF2 interface of SLB.
set system slb slbAddress default ipAddress x.x.x.x commit
Configure RTCP for Media
Configure the RTCP report interval.
set system media mediaRtcpControl senderReportInterval 5 set system media mediaRtcpControl sendBYEPacket disabled commit
Configure Ring back tones to play 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
Configure SIP Domain
Configure the global SIP domain name.
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.
set global sipDomain SIP.PSTNHUB.MICROSOFT.COM set global sipDomain SIP2.PSTNHUB.MICROSOFT.COM set global sipDomain SIP3.PSTNHUB.MICROSOFT.COM commit
Create a Local Ring Back Tone
Create a Local Ring Back Tone (LRBT) profile that is attached to the Teams side and the PSTN side.
If DSP cards/licenses are not available, set the flag announcementBasedTones
to enable
. Ensure that you execute the configuration described in the section "Ring Back Tone (without DSP)" in earlier section.
set profiles media toneAndAnnouncementProfile LRBT_PROF set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone signalingTonePackageState enable makeInbandToneAvailable enable set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags useThisLrbtForIngress enable set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags dynamicLRBT enable commit
Create Codec Entry
Create a Codec Entry with the supported codec and packet size of 20.
set profiles media codecEntry G711-default dtmf relay rfc2833 set profiles media codecEntry G711-default packetSize 20 commit
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 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
Create Zone
A Zone groups the set of objects used to communicate to PSTN.
Provide same zone name and id as configured in SLB.
set addressContext default zone PSTN_ZONE id 4 commit
Create sipSigPort
Create the SIP Signaling port with same ID and SLB name that is configured in the SLB.
set addressContext default zone PSTN_ZONE sipSigPort 4 slbName default commit
Create IP Signaling Profile
Create an IP Signaling Profile for the PSTN 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
Create Packet Service Profile
Create a Packet Service Profile for TEAMS, and attach it to the PSTN Trunk Group.
set profiles media packetServiceProfile PSTN_PSP set profiles media packetServiceProfile PSTN_PSP codec codecEntry1 G711-default set profiles media packetServiceProfile PSTN_PSP rtcpOptions rtcp disable set profiles media packetServiceProfile PSTN_PSP preferredRtpPayloadTypeForDtmfRelay 101 set profiles media packetServiceProfile PSTN_PSP silenceInsertionDescriptor g711SidRtpPayloadType 13 heartbeat enable commit
Create SIP Trunk Group
Configure the SIP Trunk Group with additional configurations like LRBT, ERP, PSP, and IPSP created in previous steps.
set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG media mediaIpInterfaceGroupName LIF1 set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG ingressIpPrefix 0.0.0.0 0 set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG downstreamForkingSupport enabled 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 preferredIdentity disable 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 DEFAULT_IP 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 policy ingress flags nonZeroVideoBandwidthBasedRoutingForSip enable set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy ingress flags nonZeroVideoBandwidthBasedRoutingForH323 disable set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy ingress flags hdPreferredRouting disable set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy ingress flags hdSupportedRouting disable 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 state enabled set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode inService commit
IP Peer towards PSTN
Replace the x.x.x.x with the IP address provided by your SIP Trunk provider.
set addressContext default zone PSTN_ZONE ipPeer PSTN_IPP ipAddress x.X.X.X ipPort 5060 commit
Create Zone
This Zone groups the set of objects used to communicate to MS TEAMS. Configure the domain name (for example, sbc-fqdn
.domain.com
)
Provide the same Zone name and ID as configured in the SLB.
set addressContext default zone TEAMS_ZONE id 5 commit
Create sipSigPort
Create the SIP Signaling port with same ID and SLB name that is configured in the SLB.
set addressContext default zone TEAMS_ZONE sipSigPort 5 slbName default commit
Create IP Signaling Profile
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
Create Packet Service Profile
Create a Packet Service Profile for Teams, and attach it to the TEAMS Trunk Group.
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 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 flags enableSrtp enable set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp flags allowFallback enable set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp cryptoSuiteProfile CRYPT_PROF commit
Create SIP Trunk Group
Configure the SIP Trunk Group with additional configurations like LRBT, ERP, PSP, and IPSP created in the previous steps.
set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG media mediaIpInterfaceGroupName LIF1 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG ingressIpPrefix 0.0.0.0 0 set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG downstreamForkingSupport enabled 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 ingress flags nonZeroVideoBandwidthBasedRoutingForSip enable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy ingress flags nonZeroVideoBandwidthBasedRoutingForH323 disable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy ingress flags hdPreferredRouting disable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy ingress flags hdSupportedRouting disable set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling methods notify allow 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 state enabled set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode inService commit
Create PathCheck Profile
Create and attach a Path Check Profile to the Teams side.
set profiles services pathCheckProfile TEAMS_OPTIONS protocol sipOptions sendInterval 20 replyTimeoutCount 1 recoveryCount 1 set profiles services pathCheckProfile TEAMS_OPTIONS transportPreference preference1 tls-tcp commit
Create IP Peer towards MS TEAMS
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 TEAMS_ZONE ipPeer TEAMS_PEER1 policy sip fqdn sip.pstnhub.microsoft.com fqdnPort 5060 set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER2 policy sip fqdn sip2.pstnhub.microsoft.com fqdnPort 5060 set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER3 policy sip fqdn sip3.pstnhub.microsoft.com fqdnPort 5060 commit
set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER1 pathCheck profile TEAMS_OPTIONS set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER1 pathCheck profile TEAMS_OPTIONS hostName sip.pstnhub.microsoft.com hostPort 5060 state enabled commit
set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER2 pathCheck profile TEAMS_OPTIONS set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER2 pathCheck profile TEAMS_OPTIONS hostName sip2.pstnhub.microsoft.com hostPort 5060 state enabled commit
set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER3 pathCheck profile TEAMS_OPTIONS set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER3 pathCheck profile TEAMS_OPTIONS hostName sip3.pstnhub.microsoft.com hostPort 5060 state enabled commit
Create a default route for the destination IP to enter the network through a particular interface.
Use gateway IP address of associated network interface.
set addressContext default staticRoute 0.0.0.0 0 10.1.3.1 LIF1 PKT0_V4 preference 100 set addressContext default staticRoute 0.0.0.0 0 10.1.4.1 LIF2 PKT1_V4 preference 100 commit
Create a Routing Label with a single Routing Label Route to bind the Trunk Group with the specific IP Peer.
set global callRouting routingLabel PSTN_RL routingLabelRoute 1 trunkGroup PSTN_TG ipPeer PSTN_IPP inService inService set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 trunkGroup TEAMS_TG ipPeer TEAMS1_IPP inService inService commit
When call transfer is initiated by MS TEAMS (as per the TEAMS recommendation), the SBC sends the INVITE back to the same TEAMS entity from which it received the REFER.
MS TEAMS, in-turn, initiates a new call towards the referred entity.
For this purpose, Standard Route 3 and Username routing entities are configured.
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 <sbcname> standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel PSTN_RL commit
Use this entry to allow the SBC to route all calls coming from PSTN endpoints towards different MS TEAMS tenant Trunk Groups, based on the called digits.
set global callRouting route none Sonus_NULL Sonus_NULL standard 2414445 1 all all ALL none Sonus_NULL routingLabel TEAMS_RL commit
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 <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL commit
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 <sbcname> username Sonus_NULL Sonus_NULL all all ALL none SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL commit
All published IPs from Microsoft have to be whitelisted or the subnets as suggested by Microsoft documentation:
https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan#sip-signaling-fqdns
All published IPs from Microsoft have to be whitelisted or the subnets as suggested by Microsoft documentation:
https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan#sip-signaling-fqdns
The following checklist depicts the set of services/features covered through the configuration defined in this Interop Guide.
Sr. No. | Supplementary Services/ Features | Coverage |
---|---|---|
01. | Teams To PSTN Calling | |
02. | PSTN To Teams Calling | |
03 | Verification of Ringing & local Ringback Tone | |
04 | Cancel Call | |
05. | Voicemail Deposit | |
06. | Early Media | |
07. | DTMF Using RFC2833 | |
08 | Call Forward No Answer | |
09 | Call Forward Unconditional | |
10. | Call Forward Busy | |
11. | Blind Transfer | |
12, | Attendant Transfer | |
13. | Call Park and Retrieval | |
14. | Conferencing | |
15. | Long duration call | |
16. | Long Duration Hold and Resume | |
17. | RTCP PassThrough | |
18. | RTCP Generation | |
19. | Comfort Noise PassThrough | |
20. | Comfort Noise Generation | |
21. | Simultaneous Ringing | |
22. | Delegate Ringing | |
23. | SLB High Availability & Load Sharing | |
24. | Music on Hold |
Legend
Supported | |
Not Supported |
For any support related queries about this guide, please contact your local Ribbon representative, or use the details below:
For detailed information about Ribbon products & solutions, please visit:
https://ribboncommunications.com/products
This configuration guide provides a definite approach for successfully configuring SWe Core on Azure environment with SLB & HFE support. This configuration is applicable to almost all major supplementary services & call flows using this topology.
© 2021 Ribbon Communications Operating Company, Inc. © 2021 ECI Telecom Ltd. All rights reserved.