Third-Party GUID Capture

Overview

The Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording feature provides support for the transmission of globally unique identifiers (GUIDs) received from a third-party private branch exchange (PBX) to the recording server using an established Session Initiation Protocol (SIP) session, making Cisco Unified Border Element (CUBE) recording more interoperable with third-party vendors.

Enterprise call control systems such as the Cisco Unified Communications Manager (CUCM) use globally unique identifiers (GUIDs) to correlate the multiple call legs of a single call. The call can then be forwarded or transferred, creating additional call legs associated with the same GUID. When recording is configured, CUBE initiates a SIP session with a recorder server and forks the media packets it receives or transmits, along with participant information like called number, calling number, Remote Party ID (RPID), and P-Asserted-Identity (PAI).

While the Cisco-Guid header (used by CUCM) is transmitted to the recording server, third-party GUIDs are not. Third-party GUIDs can be received through an INVITE message or a 200 OK message, depending on whether the third-party PBX is initiating the call [caller] or receiving the call [callee].

Forwarding the GUID to the recording server enables correlation between call records of the PBX and the recording server.

Feature Information

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording

Feature Name

Releases

Feature Information

Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording

Baseline Functionality

The Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording feature provides support for the transmission of globally unique identifiers (GUIDs) received from a third-party private branch exchange (PBX) to the recording server via an established SIP session, making CUBE recording more interoperable with third-party vendors.

Restrictions for Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording

  • The third-party GUID must be received through an INVITE message or a 200 OK message (depending on whether the third-party PBX is initiating the call [caller] or receiving the call [callee]). No other request type, including re-invites, is supported.

  • The third-party GUID can be received only through the primary inbound call leg or the primary outbound call leg.

Cofigure Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording

To capture the third-party GUID and forward it to the recording server, you need to copy a third-party GUID header that CUBE receives, configure a SIP copylist for that header, and apply it to the primary inbound and outbound call leg dial peers. A SIP profile is configured to copy this incoming header to a user-defined variable and apply it to an outgoing header on the recording leg dial peer.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. voice class sip-copylist tag
  4. sip-header ThirdParty-GUID-headername
  5. exit
  6. dial-peer voice inbound-dialpeer-tag voip
  7. voice class sip-copylist tag
  8. exit
  9. dial-peer voice outbound-dialpeer-tag voip
  10. voice class sip-copylist tag
  11. exit
  12. voice class sip-profiles profile-id
  13. request INVITE peer-header sip GUID-header-to-copy copy header-value-to-match copy-variable
  14. request INVITE sip-header header-to-add add header-value-to-add
  15. request INVITE sip-header GUID-header-to-modify modify header-value-to-match header-value-to-replace
  16. exit
  17. dial-­peer voice recorder-dial-peer-tag voip
  18. voice-class sip profiles profile-tag
  19. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 3

voice class sip-copylist tag

Example:


Device(config)# voice class sip-copylist 100

Configures a list of entities to be sent to a peer call leg and enters voice class configuration mode.

Step 4

sip-header ThirdParty-GUID-headername

Example:


Device(config-class)# sip-header Third-Party-GUID
Specifies that the third-party GUID header must be copied from the inbound dial-peer leg to the outbound dial-peer call leg.

Step 5

exit

Example:


Device(config-class)# exit

Exits voice class configuration mode.

Step 6

dial-peer voice inbound-dialpeer-tag voip

Example:

Device(config)# dial-peer voice 2 voip

Enters inbound dial-peer configuration mode.

Step 7

voice class sip-copylist tag

Example:


Device(config-dial-peer)# voice class sip-copylist 100

Applies the copy list to the dial peer.

Step 8

exit

Example:

Device(config-dial-peer)# exit

Exits to global configuration mode.

Step 9

dial-peer voice outbound-dialpeer-tag voip

Example:

Device(config)# dial-peer voice 3 voip

Enters outbound dial-peer configuration mode.

Step 10

voice class sip-copylist tag

Example:


Device(config-dial-peer)# voice class sip-copylist 100

Applies the copy list to the dial peer.

Step 11

exit

Example:


Device(config-dial-peer)# exit

Exits to global configuration mode.

Step 12

voice class sip-profiles profile-id

Example:


Device(config)# voice class sip-profiles 10

Creates a SIP profile and enters voice class configuration mode.

Step 13

request INVITE peer-header sip GUID-header-to-copy copy header-value-to-match copy-variable

Example:

Device(config-class)# request INVITE peer-header sip Third-Party-GUID copy "(.*)" u01
Copies headers from the INVITE message of the incoming dial peer into a copy variable.

Step 14

request INVITE sip-header header-to-add add header-value-to-add

Example:

Device(config-class)# request INVITE sip-header Unsupported add "Unsupported: Dummy Header"
Adds a SIP header to a SIP request.

Step 15

request INVITE sip-header GUID-header-to-modify modify header-value-to-match header-value-to-replace

Example:

Device(config-class)# request INVITE sip-header Unsupported modify ".*" "Third-Party-GUID: \u01" 
Modifies the outgoing header using the copy variable defined in the previous step.

Step 16

exit

Example:

Device(config-class)# exit

Exits to global configuration mode.

Step 17

dial-­peer voice recorder-dial-peer-tag voip

Example:

Device(config)# dial-peer voice 2 voip

Enters the dial peer configuration mode for the specified outbound recorder dial peer.

Step 18

voice-class sip profiles profile-tag

Example:


Device(config-dial-peer)# voice-class sip profiles 30

Applies the SIP profile to the recording dial peer.

Step 19

end

Example:


Device(config-dial-peer)# end

Exits to privileged EXEC mode.

Verify Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording

SUMMARY STEPS

  1. debug ccsip messages for an INVITE message
  2. debug ccsip messages for a 200 OK message

DETAILED STEPS


Step 1

debug ccsip messages for an INVITE message

Displays all Session Initiation Protocol (SIP) Service Provider Interface (SPI) messages for an INVITE message.

Example:

Received:
SIP/2.0 200 OK
Via:  SIP/2.0/UDP 9.44.29.32:5060;branch=z9hG4bK121F62
From: "sipp " <sip:1111000010@9.44.29.32>;tag=906F9C-21B9
To: "sut" <sip:4321@9.0.0.120>;tag=30050SIPpTag0111
Call-ID: 67B65D26-473711E3-8029B214-265DCDFE@9.44.29.32
CSeq:  101 INVITE
Contact: <sip:9.0.0.120:6019;transport=UDP>
Cisco-Guid: passthru
Content-Type: application/sdp
Content-Length:  108

Step 2

debug ccsip messages for a 200 OK message

Displays all Session Initiation Protocol (SIP) Service Provider Interface (SPI) messages for a 200 OK message.

Example:

Received:
SIP/2.0 200 OK
Via:  SIP/2.0/UDP 9.44.29.32:5060;branch=z9hG4bK121F62
From: "sipp " <sip:1111000010@9.44.29.32>;tag=906F9C-21B9
To: "sut" <sip:4321@9.0.0.120>;tag=30050SIPpTag0111
Call-ID: 67B65D26-473711E3-8029B214-265DCDFE@9.44.29.32
CSeq:  101 INVITE
Contact: <sip:9.0.0.120:6019;transport=UDP>
Cisco-Guid: passthru
Content-Type: application/sdp
Content-Length:  108


Configuration Examples for Third-Party GUID Capture for Correlation Between Calls and SIP-based Recording


! Create a copylist 
Device(config)# voice class sip-copylist 100
! GUID for third party PBX
Device(config-class)# sip-header Third-Party-GUID
!GUID for CUCM
Device(config-class)# sip-header Cisco-Guid
Device(config-class)# exit

! Apply copylist to inbound dial peer so that headers specified in copylist are copied
Device(config)# dial­peer voice 2 voip
Device(config-dial-peer)# voice class sip-copylist 100
Device(config-dial-peer)# exit

! SIP profile copies incoming third-party GUID to a variable from a peer header.  This variable 
! is then used modify outgoing headers
Device(config)# voice class sip-profiles 10
Device(config-class)# request INVITE peer-header sip Third-Party-GUID copy "(.*)" u01
Device(config-class)# request INVITE sip-header Unsupported add "Unsupported: Dummy Header"
Device(config-class)# request INVITE sip-header Unsupported modify ".*" "Third-Party-GUID: \u01" 
Device(config-class)# exit

! Apply SIP profile to outbound dial peer
Device(config)# dial-peer voice 2 voip
Device(config-dial-peer)# voice-class sip profiles 30