Requirement
The issue arises when the customer wanted to “share” the number across two different voice systems, such as CUCM and Teams. There are multiple ways to integrate 2 systems under the same range, but it becomes challenging when users want to keep their original numbers, while some of them will stay on CUCM, some on Microsoft Teams. This example here is to use Cisco CUBE Voice Router to handle the voice routing, and calls are routed based on the destination number listed in the URL. Since the “most specific wins” rule applies in the Voice Routing world as well, this solution will fit our purpose just fine.
Environment
- 1x Cisco CUBE Voice Router with AX license
- Microsoft Teams is configured with Direct Routing using Audiocodes SBC
Solution
- Create new E164 pattern map
conf t
voice class e164-pattern-map 80
url http://172.30.19.3/teams.txt
2. Add a needed translation rule
voice translation-rule 80
rule 1 /^1111\(4...\)$/ /81111\1/
rule 2 /^2222\(4...\)$/ /82222\1/
3. Create the Translation profile
voice translation-profile To_Teams_Numbers
translate called 80
4. Creating new dial-peer and integrating all together
dial-peer voice 80 voip
description ***to SBC_Audiocodes***
translation-profile outgoing To_Teams_Numbers
session protocol sipv2
session target ipv4:172.30.19.87
destination e164-pattern-map 80
dtmf-relay rtp-nte
codec g711alaw
5. load the text file in IOS to sync the number
CUBE#voice class e164-pattern-map load 80
url http://172.30.19.3/sfb.txt loaded successfully
All e164 patterns are valid
Useful links