Edge Audio with a Cisco Unified Border Element (CUBE)

Cisco Unified Border Element with Edge Audio supports vCUBE and all ASR and ISR platforms running CUBE version 16.12.2 and later.

The image below shows a typical Edge Audio deployment using a CUBE with Cisco Webex Edge Connect. Edge Audio calls route from the Unified CM, through the CUBE and into the Webex cloud.

The numbers in the images correspond with the numbering beneath them.


Below is the recommended enterprise deployment with for Edge Audio with Cisco CUBE. We recommend that you use a dedicated CUBE for Edge Audio.

  1. Open recommended ports.

  2. Static NAT with a public IP address.

  3. Apply recommended Webex secure configurations.

  4. Secure or unsecure signaling and media, depending on your enterprise.

The image below shows how the CUBE connects directly to the internet in this configuration.


The CUBE must be inside a DMZ when the internet is used to route calls.

Open signaling port 5061 on the internal firewall to allow a secure connection between your CUBE and Unified CM. You must open the media ports based on the CUBE’s internal media port range.

  1. Open recommended ports.

  2. Static NAT with a public IP address.

  3. Apply recommended Webex secure configurations.

  4. Secure or insecure connection, depending on your enterprise.

  5. Open signaling and media ports based on the CUBE's internal interface media port range.

Moving Webex Sites with Edge Audio


Don’t reuse Lua scripts if you’re moving Webex sites.

If you’re moving a Webex site, you must generate a new Lua script. Then, you must replace the old Lua script with the new one wherever it’s used in the Edge Audio configuration.

If you’re moving a site, make sure to save all the countries, extensions, and CUBE DNS SRVs from Audio Settings before deleting the old site.

The Lua Script with Edge Audio

You must specify call routing rules in Unified CM using Webex numbers in order for calls using those numbers to route to the Webex cloud. You also need a (Lua) normalization script to create the trunk in Unified CM. You can access these phone numbers and the Lua script from Webex Site Administration or Control Hub.

If you manage your Webex sites in Webex Site Administration, or have completed the Site Linking process, then access the phone numbers and generate the Lua script from Site Administration.

If you set up and manage your Webex sites in Control Hub, then access the phone numbers and generate the Lua script from Control Hub.

Edge Audio is a global service that uses a Lua script to maintain proper call routing. The Lua script makes the following call translations:

  • It updates the host portion of the request URI so that CUBE can route calls to the Edge Audio.

  • It appends the x-cisco-site-uuid parameter to the request URI referencing the Webex site.

  • It updates the SIP To header user part that is required for Edge Audio processing.

Collect Dial-in Numbers and Lua Script from Webex Site Administration

1

Sign in to Webex Site Administration and go to Configuration > Common Site Settings > Audio Settings.

2

In the Site Default Global Call-in Numbers section, choose up to two dial-in numbers to use as global defaults for your site.

  1. Check the Assign default global call-in numbers (Meetings and Training only) check box.

  2. Select a call-in option from the list on the left and click Add >.

  3. To set the order in which the assigned defaults appear on your site, select one of the defaults and click the Move Up or the Move Down button.

  4. Click Save.

3

In the Allowed Call-in Numbers section, click Preview. Make note of all of the phone numbers in a separate file.


 

You'll need this information for configurations you're going to set up later.

4

Click Generate LUA Script, and then select Export.

The Lua script is saved to your computer in a .lua format.

Collect Dial-in Numbers and Lua Script From Webex Control Hub

1

From the customer view in https://admin.webex.com, go to Services and under Meeting select Sites.

2

Select the site that you want to configure Edge Audio for, and choose Configure Site.

3

Select Common Settings > Audio Settings.

4

In the Site Default Global Call-in Numbers section, choose up to two dial-in numbers to use as global defaults for your site.

  1. Check the Assign default global call-in numbers (Meetings and Training only) check box.

  2. Select a call-in option from the list on the left and click Add >.

  3. To set the order in which the assigned defaults appear on your site, select one of the defaults and click the Move Up or the Move Down button.

  4. Click Save.

5

In the Allowed Call-in Numbers section, click Preview. Make note of all of the phone numbers in a separate file.


 

You will need these for configurations you're going to set up later.

6

Click Generate LUA Script, and then select Export.

The Lua script is saved to your computer in a .lua format.

Configure Cisco Unified Communications Manager

To route calls from your enterprise to the Webex cloud, you need to set up routing rules and trunks in Unified CM Administration. The following are high-level steps for this configuration:

  1. Create SIP Normalization Script using the Webex Lua Script.

  2. Set Early Offer Support for Voice and Video Calls to Your SIP Profile.

  3. Create a SIP Trunk Security Profile.

  4. Create a new Trunk between Unified CM and CUBE.

  5. Create a Route Group.

  6. Create a Route List.

  7. Create Route Patterns.

Each of these steps is explained in detail below.

Create SIP Normalization Script using Webex LUA Script

Use the Lua script that you exported from Webex Site Administration or Control Hub to create a new SIP Normalization Script in Unified CM.

Before you begin

When you configure the Voice class URI in a later step, you will need a copy of the URI host address from the Lua script. Either make note of it now or keep the copy of the Lua script on your computer until you complete that step. You can collect the URI host address from the Update To header section as shown below:
   -- Update To header with CCAX URL
    local oldTo1 = msg:getHeader("To")
    local newTo1 = string.gsub(oldTo1, "<sip:(.+)@(.*)>", "<sip:%1@ecccx.amer.webex.com>")
    msg:modifyHeader("To", newTo1)

1

From Unified CM Administration, go to Device > Device Settings > SIP Normalization Script.

2

Select Add New to create a new SIP Normalization Script.

3

Follow the steps below to setup your SIP Normalization Script.

  1. Name the SIP Normalization Script something that makes it easier to find later – such as “your_site_name_webex_edge_audio”.

  2. Select Import File, and select the Lua script that you exported earlier. The Content is updated with the Lua Script after it's imported.

4

Set Memory Threshold to 200.

5

Set Lua Instruction Threshold to 3000.

6

Click Save.

You must apply this SIP Normalization Script to the trunk between your Unified CM and CUBE.

Set Early Offer Support for Voice and Video Calls to Your SIP Profile


Edge Audio also supports delayed offers. Early offer support isn't required but is recommended.

You may or may not have a SIP Profile in your Unified CM Administration configuration. If you already created an Early Offer Profile, you might be able to reuse that, apply steps 5 and 6 to it in Unified CM Administration before continuing.

If you haven't created a SIP Profile with Early Offer enabled, or your configuration requires a new one, follow these steps to create one.

1

From Cisco Unified CM Administration, go to Device > Device Settings > SIP Profile, and select Find.

2

Select Standard SIP Profile For Cisco VCS.

3

Select Copy.

4

Add "EO_Profile" to the Name.

5

Uncheck the Allow iX Application Media check box.

6

Set Early Offer support for voice and video calls to Best Effort (no MTP inserted).


 

If you can’t use Best Effort (no MTP inserted) to enforce Early Offer support, then you may need to use an alternative to support Early Offer.

7

Click Save.

Create a SIP Trunk Security Profile

1

From Cisco Unified CM Administration, go to System > Security > SIP Trunk Security Profile, and select Add New.

2

Name the SIP Trunk Security Profile.

3

In Device Security Mode, select Encrypted, or Non- secure.

4

In Incoming Port, enter a port value that doesn't conflict with other entries.

5

Select Save.

Edge Audio Codec Support

Edge Audio supports the G.722 codec. You don't need to configure the G.722 codec on your Unified CM for Edge Audio to work, but because G.722 uses less bandwidth than other codecs, configuring it might help improve the quality of service for your deployment.

Webex supports the G.722, G.711a, and G.711μ audio codecs. However, Webex does not support renegotiating codecs mid call, such as for Music On Hold (MOH).

1

From Unified CM Administration, go to System > Enterprise Parameters and for Advertise G.722 Codec choose Enabled. Then select Save.

2

Go to System > Region Information > Region and click Add New.

3

Name the region, and click Save.

4

Apply these settings:

  • For Audio Codec Preference List, select Factory Default lossy.

  • For Maximum Audio Bit Rate, select 64 kbps (G.722, G.711).

5

Click Save.


 

Apply this region to the device pool which is going to be used for Edge Audio.

Create a New Trunk Between Unified CM and CUBE


Make sure that you create a new trunk rather than modify an existing one.

1

From Cisco Unified CM Administration, go to Device > Trunk, and select Add New.

2

For Trunk Type, select SIP Trunk, and then choose Next.

3

Enter a Device Name.

4

Under Destination, enter the Destination Address and the Destination Port for your CUBE.


 

Use port 5060 for nonsecure trunks and port 5061 for secure trunks.

5

Set the SIP Trunk Security Profile to the trunk that you created in the Create a SIP Trunk Security Profile task.


 

You can only use one secure TLS trunk between Unified CM and CUBE. For more information, see Intermittent calls to Destination fails via TLS trunk. If another TLS trunk exists, then you must configure a TCP trunk with CUBE here.

6

Set the SIP Profile to the SIP profile that you created in the Set Early Offer Support for Voice and Video Calls to Your SIP Profile task.

7

For the DTMF Signaling Method, select RFC 2833.

8

For Normalization Script, select the Normalization Script that you created with the Lua script you exported earlier.

9

Select Save.


 

For other settings, such as Device Pools, Media Resource Group Lists, Locations, Calling Search Spaces, Call Classification, it's up to you to assign the appropriate configurations. Assign the configurations based on your enterprise policies and services.

Create a Route Group

1

From Cisco Unified CM Administration, go to Call Routing > Route/Hunt > Route Group.

2

Select Add New.

3

Name the Route Group.

4

For Available Devices, select the Edge Audio trunk you created.

5

Select Add to Route Group.

6

Select Save.

Create a Route List

1

From Cisco Unified CM Administration, go to Call Routing > Route/Hunt > Route List.

2

Select Add New.

3

Name the route list and give it a description.

4

For Cisco Unified Communications Manager Group, select a value that is appropriate for your configuration, and then click Save.

5

Under Route List Member Information, select Add Route Group, and choose the route group that you created.

6

Select Save.

Create Route Patterns

You must set up the phone numbers you saved earlier. These are the numbers that users dial to start and join their Webex meetings.

These numbers include all possible numbers that can be used with Edge Audio. Depending on your configuration, country, or region, you might not want to create route patterns for all the numbers.


If you don't configure a phone number in a route pattern, then calls that use that number will route over the PSTN or CCA-SP partner network.

1

From Cisco Unified CM Administration, go to Call Routing > Route/Hunt > Route Pattern, and select Add New.

2

For Route Pattern, enter one of the phone numbers that users will dial in to their Webex meetings with.


 

If you use an escape code or a prefix to dial out, make sure that it is stripped off at this point and that the number is sent in a fully qualified E.164 format with or without a leading plus.

3

For Gateway/Route List, select the route list that you created in the previous task.

4

Select Save.

5

Repeat these steps for each of the remaining phone numbers you saved earlier.

Result: The Unified CM configuration is complete and calls for selected numbers will route to CUBE.

What to do next

Apply the necessary configurations to CUBE.

Update the Minimum Session Timer

You should update the minimum session timer to avoid one call error transaction that shows for each call that goes from your organization to the Webex cloud. Updating the minimum session timer isn't required, but is recommended.

1

From Cisco Unified CM Administration, go to System > Service parameters.

2

Choose the server that you want to change the minimum session timer for.

3

On the services drop-down list, choose CallManager (Active).

4

Scroll to SIP Min-SE Value, and set the value to 14400.

5

Select Save.

Open Required Firewall Ports

After you complete the Unified CM and CUBE configurations, you must open the necessary firewall ports. Refer to this article: https://collaborationhelp.cisco.com/article/WBX264 for Network Requirement information, and what ports to open.

Apply Signed Certificate from Trusted Certificate Authority

Edge Audio requires your CUBE to offer signed certificates from trusted CA certificate authorities for Mutual TLS (mTLS) connections. Use the following link to get to a list of certificate authorities that Cisco trusts. Certificates that are signed by authorities in this list are considered valid and the connection will be allowed. https://collaborationhelp.cisco.com/article/WBX9000008850

Edge Audio Callback Settings

If you manage your Webex sites in Webex Site Administration, then follow the steps in Apply Callback Settings from Webex Site Administration.

If you set up and manage your Webex sites in Control Hub, then follow the steps in Apply Callback Settings from Control Hub.

Make sure you apply the following DNS SRV settings before you begin with the Callback Settings.

  • DNS SRVs for each CUBE target must point to port 5061.

  • A Records have to be provisioned to resolve the Fully Qualified Domain Names (FQDNs) contained in the SRV records.


Before you enable callback for Edge Audio, your Unified CM configuration must be able to properly route Edge Audio calls for users on and off your network.


Edge Audio callback won’t failover to the PSTN or CCA-SP partner network if your network is not configured to handle the calls from Webex.

Follow these steps to setup Edge Audio Callback

  1. Call Routing from Webex Edge Audio.

  2. Call Routing for CUBE.

  3. Apply Edge Audio Callback Settings from Webex Site Administration OR Webex Control Hub.

  4. Turn On Extension Callback.

Call Routing from Webex Edge Audio

You must allow E.164 numbers to traverse your CUBE and route calls based on your configuration. This ensures proper call routing for users that are on your network and connected to your Unified CM, and users that are off your network, like those connected to a mobile phone.

Apply Edge Audio Callback Settings from Webex Site Administration

1

Sign in to Cisco Webex Site Administration, and go to Configuration > Common Site Settings > Audio Settings.

2

In the Edge Audio Allowed Callback Numbers section, for Country/Region, select the Country/Region you want to apply callback settings to, and then enter the CUBE DNS SRV.

3

Click Add.


 

When you click Add, Edge Audio will automatically test the configured DNS SRV connectivity. Before you apply the settings, make sure that the DNS SRV passes the connectivity test.

4

To show connectivity check details, click on the status indicator.

5

Choose Apply Settings when you're done applying all the callback settings.

Apply Edge Audio Callback Settings from Control Hub

1

From the customer view in admin.webex.com, go to Services, and under Meeting, select Sites.

2

Select the site that you want to configure Edge Audio for, and choose Configure Site.

3

Select Common Settings > Audio Settings.

4

In the Edge Audio Allowed Callback Numbers section, select the Country/Region you want to apply callback settings to, and then enter the CUBE DNS SRV.

5

Click Add.


 

When you click Add, Edge Audio will automatically test the configured DNS SRV connectivity. Before you apply the settings, make sure that the DNS SRV passes the connectivity test.

6

To show connectivity check details, click on the status indicator.

7

Choose Apply Settings when you're done applying the callback settings.

Edge Audio Callback Routing Options

When Edge Audio callback is enabled for one or more countries then Webex routes calls over the Internet. By default, if there are DNS, TCP, or TLS connectivity issues, or a call fails with a 380 or a 400-699 SIP error response, then Webex retries the call over a PSTN or CCA-SP partner network.

Click here if you would like to disable Edge Audio from retrying failed calls over a PSTN or CCA-SP partner network.

Turn On Extension Callback


Extension Callback for Edge Audio is only available for WBS33 and later sites. To find out which version you're using, see Find Your Cisco Webex Meetings Version Number.

Extension callback for Edge Audio allows users to join Webex meetings using the Call Me feature and their internal extension. This is only available for Webex Meetings, and doesn't work with Webex Events, Webex Training, or Webex Support.

The existing search patterns you use for the CUBE configurations in Edge Audio will work with extension callback. Click here for more information on CUBE callback configurations for Edge Audio.

Enable Extension Callback in Webex Site Administration

If you manage your Webex sites in Webex Site Administration, or have completed the Site Linking process, then enable extension callback in Webex Site Administration.

1

Sign in to Cisco Webex Site Administration, and go to Configuration > Common Site Settings > Audio Settings.

2

For CUBE DNS SRV, select Extension, and select Add.

3

In the Edge Audio Allowed Callback Numbers section, for Country/Region, select Extension and then enter the CUBE DNS SRV.

4

Click Add.

5

Choose Apply Settings.

After you enable extension callback, it takes 30 minutes for the settings to apply to the database.

Enable Extension Callback in Control Hub

If you set up and manage your Webex sites in Control Hub, then enable extension callback in Control Hub.

1

From the customer view in https://admin.webex.com, go to Services and under Meeting select Sites.

2

Select the site that you want to configure Edge Audio for, and choose Configure Site.

3

Select Edge Audio.

4

For CUBE DNS SRV, select Extension, and select Add.

5

Choose Apply Settings.

After you enable extension callback, it takes 30 minutes for the settings to apply to the database.

Allow Internal Call-Back for Webex Teleconferencing in Webex Site Administration

When provisioned for your site, you can turn on the option to allow meeting participants to receive calls at an internal phone number within the same corporate site. You can also edit the label that appears within the Audio Conference dialog when participants join the audio conference.

1

Sign in to Webex Site Administration and go to Configuration > Common Site Settings > Options.

2

Scroll to the Site Options section, and then check the Enable internal call-back teleconferencing check box.

3

In the Internal call-back option label field, enter a descriptive name or phrase to identify the internal call-back option.

4

Click Update.

Allow Internal Call-Back for Webex Teleconferencing in Control Hub

When provisioned for your site, you can turn on the option to allow meeting participants to receive calls at an internal phone number within the same corporate site. You can also edit the label that appears within the Audio Conference dialog when participants join the audio conference.

1

From the customer view in https://admin.webex.com, go to Services, and under Meeting, select Sites.

2

Choose the Webex site to change the settings for, and click Configure Site.

3

Under Common Settings, check the Enable internal call-back teleconferencing check box.

4

In the Internal call-back option label field, enter a descriptive name or phrase to identify the internal call-back option.

5

Click Update.

CUBE Configurations for Edge Audio

Before you begin the CUBE specific Edge Audio configurations, it is important that you are familiar with Cisco IOS CLI-based configurations, CUBE configurations, and make sure that you have all the proper CUBE licenses.

CUBE configurations for Edge Audio are divided into three sections:

  1. Global Configurations

  2. Tenant Configurations

  3. Dial peer Configurations

CUBE Certificate Configurations

You must apply cryptographic configurations for CUBE to work with Edge Audio. You must also apply the same trusted certificates to your CUBE device.

CUBEs are already configured to accept Webex certificates. They have a in-built Certificate Authority (CA) trust-store and it has the required Quavadis Root CA certificate.

You must upload the CUBE certificate and CA certificate chain that you purchased from the CA. This certificate must be signed by one of the CAs as described here.

For uploading the CUBE certificate, a trustpoint must be configured. Sample steps can be referenced here.

Global Configurations

You must make seven global configurations so Edge Audio calls route through your CUBE and to the destination.

  1. Voice Service VoIP.

  2. SIP-UA.

  3. Voice Class Codec.

  4. Voice Class SIP-profiles.

  5. Voice Class URI.

  6. Voice Class SRTP-Cryptographic.

  7. IP TCP MSS.

Voice Service VoIP Configuration

To secure the CUBE, you must enable the CUBE with the IP Address trusted list feature under Voice Service VoIP Mode and list all the Webex IP address ranges to only accept calls from Webex. This list should contain all Unified CM IP addresses to allow calls from the Unified CM.

You must configure Edge Audio media port ranges on public IP addresses that are associated with external interfaces pointing toward the Webex cloud.

You must configure enterprise specific media port ranges on private IP addresses that are associated with internal interface toward Unified CM.

1

Open a command line and sign in to your CUBE.

2

Configure list of IP address ranges used by Cisco Webex Meeting services. A list is below, but check this link to verify there are no other IP addresses to add. Make sure to read and add the appropriate information where the comments indicate in the codeblock below. Anything inbetween carets < > needs enterprise specific information. If there is an exclaimation point ! infront of a command, then remove the exclaimation point ! so IOS can read the command.

voice service voip
  ip address trusted list
  ipv4 64.68.96.0 255.255.224.0
  ipv4 66.114.160.0 255.255.240.0
  ipv4 66.163.32.0 255.255.224.0
  ipv4 170.133.128.0 255.255.192.0
  ipv4 173.39.224.0 255.255.224.0
  ipv4 173.243.0.0 255.255.240.0
  ipv4 207.182.160.0 255.255.224.0
  ipv4 209.197.192.0 255.255.224.0
  ipv4 216.151.128.0 255.255.224.0
  ipv4 114.29.192.0 255.255.224.0
  ipv4 210.4.192.0 255.255.240.0
  ipv4 69.26.176.0 255.255.240.0
  ipv4 62.109.192.0 255.255.192.0
  ipv4 69.26.160.0 255.255.240.0
  ! check the link to make sure all ip's ranges are covered
  ! ipv4 <CUCM-IP-RANGE>
  rtcp all-pass-through
  address-hiding
  ! enable cube with purchased license capacity
  ! mode border-element license capacity <capacity>
  media disable-detailed-stats
  media stats-disconnect
  ! public-ip of CUBE external interface towards Webex
  ! media-address range <public-ip> <public-ip> port-range 36000 48198
  ! port-range 36000 48198
  ! private-ip of CUBE internal interface towards CUCM
  ! <start> <end> are the media port range that your enterprise wants to use on internal network
  ! media-address range <privateip> <privateip> port-range <start> <end>
  ! port-range <start> <end>
  allow-connections sip to sip
  call-quality
  max-dropout 2
  max-reorder 2

SIP-UA Configuration

Edge Audio accepts TLS version 1.2 connections with a signed CA certificate. You must configure SIP-UA to only accept TLS version 1.2, and configure your CUBE to send certificates with a TLS connection.

Enable the Call Treatment feature to throttle calls on your CUBE based on CPU capacity.

1

Open a command line and sign in to your CUBE.

2

Enter the following commands:

sip-ua
 transport tcp tls v1.2
 ! CUBE_CA_CERT is the name of the configured trustpoint

 crypto signaling default trustpoint CUBE_CA_CERT
 call threshold global cpu-5sec low 68 high 75
 call treatment on

Voice Class Codec Configuration

Edge Audio supports G722, G711ulaw, and G711alaw codecs. You must configure a voice class codec to use one of these codecs. It must be applied to the dial-peers that are related to Edge Audio.

1

Open a command line and sign in to your CUBE.

2

Configure the voice class codec.

voice class codec 3

 codec preference 1 g722-64

 codec preference 2 g711ulaw

 codec preference 3 g711alaw

Voice Class SIP Profiles

You must create two sip profiles for Edge Audio. One toward the Webex cloud and the other toward your Unified CM.

SIPS URIs must be converted to SIP URIs. With TLS, CUBE uses SIPS URIs, but SIPS URIs are not supported by Unified CM. So apply a sip-profile that converts all SIPS URIs to SIP URIs.

1

Open a command line and sign in to your CUBE.

2

Apply the following SIP profile from your CUBE toward the Webex cloud.

voice class sip-profiles 2340
rule 1 request INVITE sip-header SIP-Req-URI modify "sips:" "sip:" 
 rule 2 request INVITE sip-header To modify "sips:" "sip:" 
 rule 3 request INVITE sip-header From modify "sips:" "sip:" 
 rule 4 request INVITE sip-header Remote-Party-ID modify "sips:" "sip:" 
 rule 5 request INVITE sip-header P-Asserted-Identity modify "sips:" "sip:" 
 rule 6 request ACK sip-header From modify "sips:" "sip:" 
rule 7 request REINVITE sip-header P-Asserted-Identity modify "sips:" "sip:" 
rule 8 request REINVITE sip-header From modify "sips:" "sip:" 
rule 9 request REINVITE sip-header Contact modify "sips:(.*)>" "sip:\1;transport=tls>" 
rule 10 request INVITE sip-header Contact modify "sips:" "sip:" 
3

When CUBE is behind a static NAT the following configurations must to be applied on the same sip-profile 2340. In the command below we assume the CUBE external interface IP address (public IP) is 10.21.21.21 and static NAT IP is 179.10.11.12.

voice class sip-profiles 2340
rule 11 request ANY sip-header Via modify "10.21.21.21" "179.10.11.12" 
rule 12 request ANY sip-header Contact modify "10.21.21.21" "179.10.11.12" 
rule 13 response ANY sip-header Contact modify "10.21.21.21" "179.10.11.12" 
rule 14 request ANY sdp-header Audio-Connection-Info modify "10.21.21.21" "179.10.11.12" 
rule 15 response ANY sdp-header Audio-Connection-Info modify "10.21.21.21" "179.10.11.12" 
4

Apply the following SIP profile toward the Unified CM.


 

When a call comes from the Webex cloud to your enterprise, the RequestURI of SIP INVITE message has the customer DNS SRV record. This must be replaced with the Unified CM SRV.

voice class sip-profiles 2341
rule 1 request INVITE sip-header SIP-Req-URI modify "sips:" "sip:" 
rule 2 request INVITE sip-header To modify "sips:" "sip:" 
rule 3 request INVITE sip-header From modify "sips:" "sip:" 
rule 4 request INVITE sip-header Remote-Party-ID modify "sips:" "sip:" 
rule 5 request INVITE sip-header P-Asserted-Identity modify "sips:" "sip:" 
rule 6 request ACK sip-header From modify "sips:" "sip:" 
rule 7 request REINVITE sip-header P-Asserted-Identity modify "sips:" "sip:" 
rule 8 request REINVITE sip-header From modify "sips:" "sip:" 
rule 9 request REINVITE sip-header Contact modify "sips:(.*)>" "sip:\1;transport=tls>" 
rule 10 request INVITE sip-header Contact modify "sips:" "sip:" 
! assuming CUCM SRV is test-ccm.sample.com
 rule 11 request INVITE sip-header SIP-Req-URI modify "@(.*);x-cisco-webex-service=audio" "@test-ccm.sample.com" 

Voice Class URI Configuration

For Edge Audio trunk matching must be done based on the request URI. The voice class URI must be configured for pattern matching.

Before you begin

. If you have not already done so, collect the URI host address from the Update To header section of the Lua script, as shown in bold below:
   -- Update To header with CCAX URL
    local oldTo1 = msg:getHeader("To")
    local newTo1 = string.gsub(oldTo1, "<sip:(.+)@(.*)>", "<sip:%1@ecccx.amer.webex.com>")
    msg:modifyHeader("To", newTo1)

1

Open a command line and sign in to your CUBE.

2

Enter the following voice class URI configurations to identify calls from Webex to your enterprise.

voice class uri INEdgeAudio sip
 pattern x-cisco-webex-service=audio
3

Enter the following voice class URI configurations to identify calls from your enterprise to Webex. Use the URI host address that you collected from Site Adminstration or Control Hub. The example below shows the voice class URI used in the AMER region, depending on your region you might need to change this to EMEA, or APJC.

voice class uri OUTEdgeAudio sip
 host ecccx.amer.webex.com

Voice Class SRTP Cryptographic Configurations

Voice class SRTP-crypto assigns the preferred SRTP crypto suite to use for Edge Audio. Configure the following crypto suites in order. The voice class srtp-crypto configuration must be applied to the dial-peers used for Edge Audio.

1

Open a command line and sign in to your CUBE.

2

Enter the following cryptographic configurations.

voice class srtp-crypto 234
 crypto 1 AEAD_AES_256_GCM
 crypto 2 AEAD_AES_128_GCM
 crypto 3 AES_CM_128_HMAC_SHA1_80
 crypto 4 AES_CM_128_HMAC_SHA1_32

IP TCP MSS

By default, the CUBE's ServerHello is 1380 bytes long and the remote side Webex does not send an ACK because it expects a smaller size segment. By the time CUBE retries with a smaller size (1360) it typically receives the ACK after the 3 second handshake timer expires, causing the call to fail. Setting the mss value to 1360 ensures that CUBE restricts the segment on the first try and receives a timely ACK from Webex.

1

Open a command line and sign in to your CUBE.

2

Enter the following configuration.

ip tcp mss 1360

Tenant Configuration

Edge Audio call routing is based on URIs. The call-route URI must be enabled to match dial-peers based on URIs.

Edge audio doesn’t support caller ID updates, so the "no update-callerid" value must be configured.

There is no payload interworking that is needed for RTP-NTE DTMF packets, so configure asymmetrics payload full.

1

Open a command line and sign in to your CUBE.

2

Enter the following tenant configurations.

voice class tenant 234
  asymmetric payload full
  no update-callerid
  error-passthru
  call-route url

Dial Peer Configurations

You must configure two dial peers to handle Edge Audio Calls. One dial peer which represents the SIP trunk between your CUBE and the Webex cloud, referred to as the External Interface in the diagram above. The other dial peer represents the SIP trunk between your CUBE and the Unified CM, referred to as the Internal Interface in the diagram above.

The call numbers that CUBE scales to varies based on the enterprise Unified CM mode – mix mode, secure, unsecure mode. You must apply the correct configuration based on your enterprise deployment.

Mix Mode Dial Peer Configuration

If your enterprise has a secure and unsecure deployment, apply the following mix mode dial peer configuration.

1

Open a command line and sign in to your CUBE.

2

Configure strict SRTP inside the external dial peer and SRTP fallback inside the internal dial peer.

dial-peer voice 23411 voip
 description External Webex edge audio entry or exit dial-peer
 session protocol sipv2
! This DNS SRV should be as per the site-admin / controlhub dial-in settings
 session target dns:example.webex.com
 session transport tcp tls
 destination uri OUTEdgeAudio
 incoming uri request INEdgeAudio
 voice-class codec 3 offer-all
 voice-class sip url sips
 voice-class sip profiles 2340
 voice-class sip tenant 234
 voice-class sip srtp-crypto 234
! This should be CUBE external interface name. In this sample GigabitEthernet2/0/0 is the external interface
 voice-class sip bind control source-interface GigabitEthernet2/0/0
 voice-class sip bind media source-interface GigabitEthernet2/0/0
 voice-class sip requri-passing
 voice-class sip audio forced
 dtmf-relay rtp-nte
 srtp
dial-peer voice 23401 voip
 description Internal mix mode Webex edge audio entry or exit dial-peer
 session protocol sipv2
! This should be the enterprise CUCM / SME SRV / IP address
 session target dns:test-ccm.sample.com
 session transport tcp tls
 destination uri INEdgeAudio
 incoming uri request OUTEdgeAudio
 voice-class codec 3 offer-all
 voice-class sip srtp negotiate cisco
 voice-class sip profiles 2341
 voice-class sip tenant 234
 voice-class sip srtp-crypto 234
!This should be CUBE internal interface name. In this sample GigabitEthernet2/0/1 is the internal interface
 voice-class sip bind control source-interface GigabitEthernet2/0/1
 voice-class sip bind media source-interface GigabitEthernet2/0/1
 voice-class sip requri-passing
 dtmf-relay rtp-nte
 srtp fallback

Secure Dial Peer Configuration

If your enterprise has a fully secure deployment, apply the following secure dial peer configuration.

1

Open a command line and sign in to your CUBE.

2

Configure SRTP pass-thru in external dial peer and in internal dial peer.

dial-peer voice 23411 voip
description External Webex edge audio entry or exit dial-peer
session protocol sipv2
! This DNS SRV should be as per the site-admin / controlhub dial-in settings
session target dns:example.webex.com
session transport tcp tls
destination uri OUTEdgeAudio
incoming uri request INEdgeAudio
voice-class codec 3 offer-all
voice-class sip url sips
voice-class sip profiles 2340
voice-class sip tenant 234
voice-class sip srtp-crypto 234
! This should be CUBE external interface name. In this sample GigabitEthernet2/0/0 is the external interface
voice-class sip bind control source-interface GigabitEthernet2/0/0
voice-class sip bind media source-interface GigabitEthernet2/0/0
voice-class sip requri-passing
voice-class sip audio forced
dtmf-relay rtp-nte
srtp pass-thru
dial-peer voice 23401 voip
description Internal mix mode Webex edge audio entry or exit dial-peer
session protocol sipv2
! This should be the enterprise CUCM / SME SRV / IP address
session target dns:test-ccm.sample.com
session transport tcp tls
destination uri INEdgeAudio
incoming uri request OUTEdgeAudio
voice-class codec 3 offer-all
voice-class sip profiles 2341
voice-class sip tenant 234
voice-class sip srtp-crypto 234
!This should be CUBE internal interface name. In this sample GigabitEthernet2/0/1 is the internal interface
voice-class sip bind control source-interface GigabitEthernet2/0/1
voice-class sip bind media source-interface GigabitEthernet2/0/1
voice-class sip requri-passing
dtmf-relay rtp-nte
srtp pass-thru

Unsecure Dial Peer Configuration

If your enterprise has a fully unsecure deployment, apply the following unsecure dial peer configuration.

1

Open a command line and sign in to your CUBE.

2

Configure strict SRTP in external dial peer. Don't configure any SRTP CLI's in internal dial peer.

dial-peer voice 23411 voip
description External Webex edge audio entry or exit dial-peer
session protocol sipv2
! This DNS SRV should be as per the site-admin / controlhub dial-in settings
session target dns:example.webex.com
session transport tcp tls
destination uri OUTEdgeAudio
incoming uri request INEdgeAudio
voice-class codec 3 offer-all
voice-class sip url sips
voice-class sip profiles 2340
voice-class sip tenant 234
voice-class sip srtp-crypto 234
! This should be CUBE external interface name. In this sample GigabitEthernet2/0/0 is the external interface
voice-class sip bind control source-interface GigabitEthernet2/0/0
voice-class sip bind media source-interface GigabitEthernet2/0/0
voice-class sip requri-passing
voice-class sip audio forced
dtmf-relay rtp-nte
srtp
dial-peer voice 23401 voip
description Internal mix mode Webex edge audio entry or exit dial-peer
session protocol sipv2
! This should be the enterprise CUCM / SME SRV / IP address
session target dns:test-ccm.sample.com
session transport tcp
destination uri INEdgeAudio
incoming uri request OUTEdgeAudio
voice-class codec 3 offer-all
voice-class sip profiles 2341
voice-class sip tenant 234
!This should be CUBE internal interface name. In this sample GigabitEthernet2/0/1 is the internal interface
voice-class sip bind control source-interface GigabitEthernet2/0/1
voice-class sip bind media source-interface GigabitEthernet2/0/1
voice-class sip requri-passing
dtmf-relay rtp-nte

CCA Partners and Edge Audio

Edge Audio works with any CCA partner. The configurations are the same, the main difference is that a CCA partner’s network is used where Webex PSTN audio would otherwise be used. The CCA Call Detail Record (CDR) shows any customer calls that connect to a meeting using Edge Audio. Click here for more information on the CCA CDR.

After a CCA partner submits an Edge Audio order, it’s up to the partner to decide if they will configure Edge Audio, or will work with a customer administrator and have them set up Edge Audio.

Customize Dial-in Interactive Voice Response (IVR) Prompt Language

The IVR prompts for calls that route over Edge Audio using dial-in numbers from a CCA Partner will default to English. If you want to setup an Edge Audio Webex site with an IVR system that is in a language other than English, then you must provide your customer with an updated LUA script that identifies what dial-in numbers are associated with what language.

To update the language in the LUA Script, you must add/ change the Locale tag. For more information on the local tag see this article: https://help.webex.com/article/4zjt9m

First you will need a copy of the LUA Script for the site that you want to update. You can download a copy of the LUA script from Webex Site Administration, Control Hub, or the CCA Portal.

After you download the LUA script, open it in a text editor, and follow the steps here to add the locale tag to the right part of the script. Once the locale tags have been added, you will need send it to your customer. The customer will then need to follow the steps here to add it to the Unified CM.

Change The Default IVR Language Prompt for One or More CCA Dial-in Phone Numbers

You can update the IVR prompt for Edge Audio Webex sites to play in a language other than english. The task below explains how to change the default IVR language from English to another language for all CCA dial-in numbers.

Before you begin

Download the LUA script from Site Administration, Control Hub, or the CCA Portal. Don't use word-processing applications like Microsift Word to edit the Lua Script.

1

Open the Lua Script in a text editor.

2

Scroll to the Update Request URI with Edge Audio URL and site uuid section and choose.

  • One IVR language for all phone numbers: The code below shows where to place the locale tag in the LUA script. This code shows the French (fr_FR) locale tag but you would use the language that you want the IVR to play in. The locale tag must be.
    -- Update Request URI with Webex Express URL and site uuid
    if phoneNumber == "NUMBER_NEEDS_CUSTOM_LANUAGE" then
    local newRequestURI = string.gsub(requestURI, "sip:(.+)@(.*)", "sip:%1@cca.example.webex.com;locale=fr_FR;x-cisco-site-uuid=6f861ef80b622085e053000000000000”)
    msg:setRequestUri(newRequestURI)
    end
  • One IVR language for one phone number, and a different language for all other phone numbers: The code below shows where to place the locale tag in the LUA script for one number. Then beneath the else tag, add the locale tag for the language to play all other IVR prompts in.
     -- Update Request URI with Webex Express URL and site uuid
        if phoneNumber == "NUMBER_NEEDS_CUSTOM_LANUAGE" then 
            local newRequestURI = string.gsub(requestURI, "sip:(.+)@(.*)", "sip:%1@cca.example.webex.com;locale=fr_FR;x-cisco-site-uuid=6f861ef80b622085e053000000000000”)
            msg:setRequestUri(newRequestURI)
        else
            local newRequestURI = string.gsub(requestURI, "sip:(.+)@(.*)", "sip:%1@cca.example.webex.com;x-cisco-site-uuid=6f861ef80b622085e053000000000000")
            msg:setRequestUri(newRequestURI)
        end
  • Multiple IVR languages for different phone numbers: The code below shows where to place the locale tag in the LUA script. The code shows French (fr_FR) as the first assigned language. Add a code block else beneath that with elseif and the appropriate locale tag if you want to use other IVR languages with other phone numbers.
    Use this
        -- Update Request URI with Webex Express URL and site uuid
        if phoneNumber == "NUMBER1_NEEDS_CUSTOM_LANUAGE" then 
            local newRequestURI = string.gsub(requestURI, "sip:(.+)@(.*)", "sip:%1@cca.example.webex.com;locale=fr_FR;x-cisco-site-uuid=6f861ef80b622085e0537326e00a3c4f")
            msg:setRequestUri(newRequestURI)
        elseif phoneNumber == "NUMBER2_NEEDS_CUSTOM_LANUAGE" then
            local newRequestURI = string.gsub(requestURI, "sip:(.+)@(.*)", "sip:%1@cca.example.webex.com;locale=en_US;x-cisco-site-uuid=6f861ef80b622085e0537326e00a3c4f")
            msg:setRequestUri(newRequestURI)
        else
            local newRequestURI = string.gsub(requestURI, "sip:(.+)@(.*)", "sip:%1@ccax.qa.webex.com;x-cisco-site-uuid=6f861ef80b622085e0537326e00a3c4f")
            msg:setRequestUri(newRequestURI)
        end
    
3

Save the Lua script and send it to your customer to upload to their Unified CM.