SIP Trunk Recording Gateway-based Integration
Overview
Why choose this method?
- Your corporate security policies prevent your CUCM servers from communicating with the 9Line CURRI service hosted in the 9Line cloud.
- Your CUCM cluster is not reliably maintaining a connection to the 9Line cloud.
- Your engineering preference.
Considerations
9Line's call monitoring features rely on CURRI to monitor 911 calls. You cannot utilize this method if you need to monitor emergency calls.
Room kits, including those integrated with Webex Cloud, may not reliably broadcast their device name using this method. In this case, you must create static routes in the 9Line system for the room kit. Refer to Static Routes for information on configuring static routes.
Prerequisites
CUCM SIP Trunk requirements
To use this deployment method, you must first modify the default SIP Trunk configuration in CUCM. By default, CUCM does not send the device name for devices in its calls. By modifying the recording information section of the SIP Trunk, it will instruct CUCM to insert the device name into the "Contact" header of the SIP INVITE.

SIP trunk recording settings
SBC requirements
Your SBC must support the ability to copy information from the inbound SIP INVITE originating from CUCM, to the outbound SIP INVITE destined for 9Line. In creating the guidance in this document, 9Line tested functionality on Cisco CUBE platforms using IOS-XE 17.6.1a.
Other SBC platforms support the same capability as copy lists by other names, such as Audiocodes Message Manipulation.
Configuration Overview
- Create a SIP copy list to specify the values which should be copied from the incoming INVITE.
- Apply the SIP copy list to the incoming dial peer anchoring the call from CUCM.
- Create the SIP Profile with instructions to modify the Contact header.
- Assign the SIP Profile to the outgoing dial peer towards 9Line.
- Note the header passthrough list is for customers with Webex using HELD; it does not participate in the modification of the Contact header.
For further information on the SIP copy list feature, please refer to the Cisco IOS guide: Cisco: Copying SIP Headers.
Cisco CUBE Configuration Example
Please test these configurations in a lab environment or during a maintenance window before you apply the configuration to your production system.
- The instance numbers for profiles, copy lists, dial-peers, and so on are listed for illustrative purposes only.
- This is an abbreviated configuration; please refer to Cisco CUBE and ASA Firewall Configuration Example for more detailed guidance.
- Customers with Premium Support can contact 9Line for assistance with configuration of supported SBC platforms Premium Support Service Guide .
Example Contact Header in the CUCM INVITE
We will use this Contact header to demonstrate how to provide the device name to 9Line. In the header, we can observe the device name is populated as one of the parameters to the Contact header. We will extract the device name and then insert it into the INVITE to 9Line.
Contact: <sip:[email protected]:5060;transport=tcp>;+u.sip!devicename.ccm.cisco.com="CSFUSER";bfcp;DeviceName="CSFUSER"
Example Contact Header in the INVITE towards 9Line
In the example configuration, we will configure the copy list "1" to copy the Contact header from the incoming INVITE CUCM presents to the CUBE. This incoming call is anchored to dial-peer "1" because it matches the incoming called number of 933.
The outgoing dial peer "933" is configured with a SIP Profile instructing the CUBE to use the copied Contact header, modify it, and send the modified header to 9Line. This is necessary because, by default, CUBE will not send the device name information in the Contact header.
Our resulting Contact header on the outbound INVITE to 9Line will contain the Contact header generated by the CUBE and also the parameter for the device name making the call.
Contact: <sip:[email protected]:5060;transport=tcp>;DeviceName="CSFUSER"
Example CUBE Configuration
The configuration example below illustrates this configuration. Take note of the listed steps in the commented configuration.
! STEP 1. CREATE A SIP COPYLIST THAT INCLUDES THE CONTACT HEADER
!
voice class sip-copylist 1
sip-header Contact
!
! STEP 2. APPLY THE COPYLIST TO THE INCOMING DIAL-PEER FROM CUCM
!
dial-peer voice 1 voip
description Incoming Calls from CUCM
session protocol sipv2
session transport tcp
incoming called-number 933
voice-class sip copy-list 1
voice-class sip bind control source-interface GigabitEthernet1
voice-class sip bind media source-interface GigabitEthernet1
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
! STEP 3. ADD THE CONFIGURATION FROM RULE 10 AND 20 TO YOUR SIP PROFILE FOR THE OUTGOING DIAL-PEER
!
voice class sip-profiles 911
rule 10 request INVITE peer-header sip Contact copy "(;DeviceName=.*)" u07
rule 20 request INVITE sip-header Contact modify "<sip:(.*)@(.*)>" "<sip:\1@\2>\u07"
rule 100 request ANY sip-header From modify "10.9.1.1" "20.30.40.50"
rule 110 request ANY sip-header Via modify "10.9.1.1" "20.30.40.50"
rule 120 request ANY sip-header Remote-Party-ID modify "10.9.1.1" "20.30.40.50"
rule 130 request ANY sip-header Contact modify "10.9.1.1" "20.30.40.50"
rule 200 request ANY sdp-header Audio-Connection-Info modify "10.9.1.1" "20.30.40.50"
rule 210 request ANY sdp-header Connection-Info modify "10.9.1.1" "20.30.40.50"
rule 220 request ANY sdp-header Session-Owner modify "10.9.1.1" "20.30.40.50"
rule 230 request ANY sdp-header Audio-Attribute modify "a=inactive" "a=sendrecv"
rule 240 request ANY sdp-header Audio-Attribute modify "a=sendonly" "a=sendrecv"
rule 250 request ANY sdp-header Audio-Attribute modify "a=recvonly" "a=sendrecv"
!
! STEP 4. ENSURE THE SIP PROFILE IS APPLIED TO YOUR OUTGOING DIAL-PEER FACING 9LINES PUBLIC IPs
!
dial-peer voice 933 voip
description Outgoing 933 call to 9Line
destination-pattern 933
session protocol sipv2
session target ipv4:9line.sbc.ip.address
session transport tcp
voice-class sip profiles 911
voice-class sip options-keepalive profile 1
voice-class sip bind control source-interface GigabitEthernet1
voice-class sip bind media source-interface GigabitEthernet1
voice-class sip audio forced
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
Updated 7 months ago