Webex Calling - vCUBE Local Gateway Config
- Control Hub → Calling → Call Routing
Registration Based CUBE
| Trunk Info | Template Variable | Example Value |
|---|---|---|
| Line/Port | [email protected] | |
| Line/Port without Domain | %WX-LINE-USER% | vCUBE.GerryTest555512345_LGU |
| Username | %WX-CALL-USER% | vCUBE.GerryTest8888123123_LGU |
| Password | %WX-CALL-PW% | $K[$=vRdJ7 |
| Trunk Group OTG/DTG | %WX-OTG-DTG% | vcube.gerrytest8888123123_lgu |
| Outbound Proxy Address | %WX-OB-PROXY-ADDR% | ams08.sipconnect-eun.bcld.webex.com |
| Register Domain | %WX-REGISTER-DOMAIN% | eun10.bcld.webex.com |
Sample Config
Replace the variable above with the actual value for your Trunk Also replace %WX-CUBE-INTERFACE% with the necessary CUBE interface - e.g. Loopback0 or GigabitEthernet1 etc.
! license boot level network-essentials addon dna-essentials ! SAVE & RELOAD AFTER THIS COMMAND ! ip name-server vrf MGMT 1.1.1.1 1.0.0.1 ip name-server 1.1.1.1 1.0.0.1 ! voice class uri 100 sip pattern dtg=%WX-OTG-DTG% ! key config-key password-encrypt <PASSWORD> password encryption aes ! crypto pki trustpoint EmptyTP revocation-check none ! sip-ua timers connection establish tls 5 transport tcp tls v1.2 crypto signaling default trustpoint EmptyTP cn-san-validate server tcp-retry 1000 ip http client source-interface %WX-CUBE-INTERFACE% crypto pki trustpool import clean url https://www.cisco.com/security/pki/trs/ios_core.p7b ! voice service voip ip address trusted list ipv4 0.0.0.0 0.0.0.0 mode border-element ! SAVE & RELOAD AFTER THIS COMMAND media statistics media bulk-stats allow-connections sip to sip no supplementary-service sip refer stun stun flowdata agent-id 1 boot-count 4 stun flowdata shared-secret 0 Password123$ sip asymmetric payload full early-offer forced ! voice class srtp-crypto 100 crypto 1 AES_CM_128_HMAC_SHA1_80 ! voice class codec 100 codec preference 1 g711alaw codec preference 2 g711ulaw ! voice class stun-usage 100 stun usage firewall-traversal flowdata stun usage ice lite ! voice class uri 100 sip pattern dtg=%WX-OTG-DTG% ! voice class sip-profiles 100 rule 10 request ANY sip-header SIP-Req-URI modify "sips:" "sip:" rule 20 request ANY sip-header To modify "<sips:" "<sip:" rule 30 request ANY sip-header From modify "<sips:" "<sip:" rule 40 request ANY sip-header Contact modify "<sips:(.*)>" "<sip:\1;transport=tls>" rule 50 response ANY sip-header To modify "<sips:" "<sip:" rule 60 response ANY sip-header From modify "<sips:" "<sip:" rule 70 response ANY sip-header Contact modify "<sips:" "<sip:" rule 80 request ANY sip-header From modify ">" ";otg=%WX-OTG-DTG%>" rule 90 request ANY sip-header P-Asserted-Identity modify "sips:" "sip:" ! voice class tenant 100 registrar dns:%WX-REGISTER-DOMAIN% scheme sips expires 240 refresh-ratio 50 tcp tls credentials number %WX-LINE-USER% username %WX-CALL-USER% password 0 %WX-CALL-PW% realm BroadWorks authentication username %WX-CALL-USER% password 0 %WX-CALL-PW% realm BroadWorks authentication username %WX-CALL-USER% password 0 %WX-CALL-PW% realm %WX-REGISTER-DOMAIN% no remote-party-id sip-server dns:%WX-REGISTER-DOMAIN% connection-reuse srtp-crypto 100 session transport tcp tls no session refresh url sips error-passthru rel1xx disable asserted-id pai bind control source-interface %WX-CUBE-INTERFACE% bind media source-interface %WX-CUBE-INTERFACE% no pass-thru content custom-sdp sip-profiles 100 outbound-proxy dns:%WX-OB-PROXY-ADDR% privacy-policy passthru dial-peer voice 100 voip description Inbound/Outbound Webex Calling max-conn 250 destination-pattern BAD.BAD session protocol sipv2 session target sip-server incoming uri request 100 voice-class codec 100 dtmf-relay rtp-nte voice-class stun-usage 100 no voice-class sip localhost voice-class sip tenant 100 srtp no vad
Once above config has been added - Check with :
show sip-ua register status
to confirm if the SIP trunk has registered. You can also refresh the trunk in control hub and confirm if the trunk is now “online”.
The below config configures the “SIP PSTN Side”
- %PSTN-IP-ADDR%
- %PSTN-INTERFACE%
! voice class uri 200 sip host ipv4:%PSTN-IP-ADDR% ! ! dial-peer voice 200 voip description Inbound/Outbound IP PSTN trunk destination-pattern BAD.BAD session protocol sipv2 session target ipv4:%PSTN-IP-ADDR% incoming uri via 200 voice-class sip asserted-id pai voice-class sip bind control source-interface %PSTN-INTERFACE% voice-class sip bind media source-interface %PSTN-INTERFACE% voice-class codec 100 dtmf-relay rtp-nte no vad ! voice class dpg 100 description Route calls to Webex Calling dial-peer 100 voice class dpg 200 description Route calls to PSTN dial-peer 200 ! dial-peer voice 100 destination dpg 200 dial-peer voice 200 destination dpg 100 !