Direct Routing With Cube PDF
Direct Routing With Cube PDF
Public
23 July, 2020
• The network topology includes the Microsoft Phone System, Teams client and CUBE. Microsoft
365 admin center is used to configure a gateway trunk associated with CUBE’s public FQDN.
Verizon was used as the service provider with a SIP trunk to CUBE using its public IP Address.
• SIP signaling used between CUBE and Microsoft Phone System Direct routing is over TLS and to
Verizon is over UDP transport.
Hardware
• A Cisco ISR 4321 router was used for this tested solution. Any CUBE platform may be used
though, (refer to https://www.cisco.com/go/cube) for more information.
• Microsoft Windows computer (to run Microsoft Teams client)
Software
• CUBE-Version: 12.8.0 [IOS-XE 17.2.1r]
• Microsoft Office 365 Tenant with Phone System license
• Microsoft Teams desktop client version 1.3.00.12058
• The Phone System tenant must be configured to generate ring back audio to the PSTN caller
during blind transfer.
• CUBE does not support RTCP multiplexing (rtcp-mux).
• CUBE will forward, but not generate RTCP.
• CUBE does not generate comfort noise (CN) towards Phone System clients when PSTN mutes
the call.
The following formatting conventions are used in the remainder of this guide.
Cisco IOS Exec Commands
# show running-config
Cisco IOS Configuration Commands
hostname sbc1
Microsoft PowerShell commands
Get-CsOnlinePSTNGateway
Prerequisites
The following is required before adding CUBE as a Direct Routing Session Bordering Controller:
• Public, Internet routable IP address
• Fully Qualified Domain Name (FQDN) for CUBE from the same domain that is used by Phone
System.
• Public certificate for the CUBE FQDN issued by one of the Certificate Authorities supported by
Microsoft. Refer to Microsoft documentation for more information.
Licensing
Ensure that the appropriate licenses are enabled for using CUBE and TLS for the platform you are using.
You will need to save your configuration and reload the platform when changing feature licenses.
For Cisco ISR 1000 Series and Cisco 4000 Series routers, use the following commands:
license boot level uck9
license boot level securityk9
For Cisco Cloud Services Router 1000 Series virtual routers, configure both the feature and required
throughput levels. The following example uses 1Gbps through, select the appropriate level for the
number of calls anticipated. For high capacity solutions, increasing the memory configuration will also
require additional licensing.
license boot level ax
platform hardware throughput level MB 1000
platform memory add 4000
For Cisco ASR 1000 Series routers, use the following command:
license boot level advipservices
Route To PSTN-Verizon
ip route 19.51.100.0 255.255.255.0 203.0.113.1
Domain Name
Use the same domain name for the router as used for the Microsoft 365 tenant.
ip domain name example.com
DNS Servers
DNS must be configured to resolve addresses for Microsoft Direct Routing servers.
ip name-server 208.67.222.222 208.67.220.220
NTP Servers
Configure a suitable NTP source to ensure that the correct time is used by the platform.
ntp server 192.0.2.1
Certificates with a wildcard in the certificate Subject Alternate Name field conforming to RFC2818 are
also supported. For more information, refer to the Microsoft documentation.
The following steps describe how to create and install a compatible certificate.
Authenticate CA Certificate
Enter the following command, then paste the CA certificate that verifies the host certificate into the
trust point (usually the intermediate certificate). Open the base 64 CER/PEM file with notepad, copy the
text, and paste it into the terminal when prompted:
Specify the default trust point and TLS version with SIP-UA defaults
sip-ua
no remote-party-id
retry invite 2
transport tcp tls v1.2
crypto signaling default trustpoint sbc
handle-replaces
Command Description
ip address trusted list Allows traffic from Phone System and the PSTN. Refer to
Microsoft documentation for address and port information to
use for firewall configuration.
allow-connections sip to sip Allow back to back user agent connections between two SIP
call legs
rtcp-keepalive Enables CUBE to send RTCP keepalive packets for the session
keepalive
Options Keepalive
To ensure that Contact and From headers include the SBC fully qualified domain name, the following
profile is used. Ensure that the appropriate platform ID is used, as described above.
voice class sip-profiles 299
rule 10 request OPTIONS sip-header From modify "<sip:192.0.2.2"
"<sip:sbc.example.com"
rule 20 request OPTIONS sip-header Contact modify "<sip:192.0.2.2"
"<sip:sbc.example.com"
rule 30 request OPTIONS sip-header User-Agent modify "(IOS.*)"
"\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
!
voice class sip-options-keepalive 200
sip-profiles 299
SRTP Crypto
Used to set the crypto cipher for the Microsoft Phone System trunk.
voice class srtp-crypto 1
crypto 1 AES_CM_128_HMAC_SHA1_80
Dial peers
Outbound Dial-peer to the PSTN using UDP with RTP
dial-peer voice 100 voip
description outbound to PSTN
destination-pattern 21T
rtp payload-type comfort-noise 13
session protocol sipv2
session target ipv4:19.51.100.0:5088
voice-class codec 1
voice-class sip tenant 100
dtmf-relay rtp-nte
no vad
Outbound Dial-peer to Phone System for REFER using TLS with SRTP
To correctly handle call transfers, INVITEs following a REFER from Phone System, must be directed back
to Phone System. Inbound REFER messages are processed by dial peer 290 and the associated SIP
profile adds a routing prefix (AAA) to the refer-to header. The subsequent INVITE is therefore routed to
Phone System through the following dial peer after the routing prefix is removed.
dial-peer voice 280 voip
description Phone System REFER routing
destination-pattern +AAAT
rtp payload-type comfort-noise 13
session protocol sipv2
session target sip-uri
voice-class codec 1
voice-class sip profiles 280
voice-class sip tenant 200
voice-class sip requri-passing
dtmf-relay rtp-nte
srtp
no vad
Configuration example
The following configuration contains a sample configuration of CUBE with all parameters detailed above.
version 17.2
service timestamps debug datetime msec
service timestamps log datetime msec
service call-home
platform qfp utilization monitor load 80
no platform punt-keepalive disable-kernel-core
!
hostname sbc
!
boot-start-marker
boot system flash isr4300-universalk9.17.02.01r.SPA.bin
boot-end-marker
!
logging buffered 10000000
!
ip name-server 208.67.222.222 208.67.220.220
ip domain name example.com
Select the Admin Icon in Office 365 to login Microsoft 365 Admin Center.
Select “Add a user” from the Microsoft 365 Admin Center as shown below
Enter the user details, password and assign required license to the users then Click Add
Select the Admin icon from the Microsoft 365 Admin center home page and navigate to Microsoft
Teams admin center as shown below
Select Users from the Microsoft Teams Admin Center to view the list of available users
Search for the user created and click on the user display name to view user properties as shown below
Under user properties, navigate to Accounts and set the Teams upgrade mode to Teams only
Under user properties, navigate to Policies and set the Calling Policy as shown below. Here in the below
example custom policy “Busy on Busy enabled” is assigned to user. Procedure to create custom policy is
shown in the next section
Under user properties, navigate to Policies and set the Caller ID Policy as shown below. In this example,
caller ID policy “Anonymoustest” is assigned to user. The procedure to create a custom policy is shown
in the next section
Create calling policy to turn on Busy on Busy. Click save to complete the configuration
Enter the caller ID policy Name and select the “Replace the Caller ID with Anonymous”. Click save to
complete the configuration
Acronym Definitions
CUBE Cisco Unified Border Element
PSTN Public Switched Telephone Network
CN Comfort Noise
MS Teams Microsoft Teams
SBC Session Border Controller
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE
WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO
BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE
FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS. IN NO EVENT SHALL CISCOOR ITS SUPPLIERS BE
LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT
LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS
MANUAL, EVEN IF CISCOOR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES