Skip to content

CUBE Integration using XCC API

Cisco Unified Border Element (CUBE) is a powerful VoIP gateway that provides secure voice and video connectivity between your organization and the outside world. Integrating CUBE with Call Telemetry allows you to enforce voice security rules, trigger alerts, and execute webhooks in real-time.

Our policy features can connect to Cisco Unified Border Element (CUBE) using the Extended Call Control Service (XCC) API. This guide will walk you through the process of integrating CUBE with Call Telemetry using the XCC API.

Feature Overview

This guide provides detailed information on integrating Cisco Unified Border Element (CUBE) with Call Telemetry using the Extended Call Control Service (XCC) API. XCC allows you to enforce Call Telemetry voice security rules, trigger alerts, and execute webhooks in real-time.

XCC (Extended Call Control Service) is a Cisco Native IOS API that allows external applications to interact with call control functions on CUBE routers. It provides real-time access to call information and enables dynamic call handling based on external logic, such as Call Telemetry policies.

It also has a built in keepalive and failback to ensure calls are not dropped if the connection to the external service is lost.

Cisco XCC API documentation

Feature Requirements

XCC Integration Process

Adding a Cisco CUBE XCC Integration

To integrate a Cisco CU BE with Call Telemetry using XCC:

  1. Log in to your Call Telemetry dashboard
  2. Navigate to Settings > CUBE Management
  3. Click Add CUBE

Screenshot of Adding a Cisco CUBE XCC Integration

Configuration Fields

  • CUBE Name: Unique, descriptive identifier (e.g., "HQ-CUBE-01")
  • XCC Hostname or IP Address: Address for Call Telemetry to establish the XCC connection
  • Enable XCC Integration: Activates/deactivates XCC integration
  • XCC Disconnect Code: SIP response code for blocking calls (e.g., 486 Busy, 603 Decline, 404 Not Found)
  • Blocking Response Timeout: Wait time (in seconds) for XCC blocking response
  • Blocking Timeout Action:
    • Continue Processing: Allow call to proceed
    • Release Call: End call attempt
  • XCC Keepalive Interval: Frequency (in seconds) of keepalive messages (Recommended: 10-30 seconds)
  • Admin Alerts for Restarts: Enable notifications for XCC application restarts
  • XCC Calling Number Field:
    • callingAddrData: Current calling number
    • origCallingAddrData: Original calling number before translations
  • XCC Called Number Field:
    • calledAddrData: Current called number
    • origCalledAddrData: Original called number before translations

XCC Traffic Policy Filtering

XCC can inspect Call Telemetry Policies in inbound and outbound directions. To configure which peers should be inspected, you can add the peer IP addresses to the "XCC Peer Filter" field.

This page determines the direction of the traffic that should be inspected.

For example, this screenshot shows 5 SIP Peers from Twilio as Inbound Peers. This means that all inbound calls from these peers will be inspected by Call Telemetry Policies.

If we put out Cisco Callmanager Clusters as Outbound Peers, this means that all outbound calls from these CUBES will be inspected by Call Telemetry Policies in an outbound direction (from the perspective of the CUBE).

TIP

Only inspect in one direction, leave the other blank. The default policy action is set to ignore and permit calls not matched.

Screenshot of XCC Peer Filter

Review settings and click "Submit" to add the CUBE to Call Telemetry.

XCC Application URL

After saving, re-open the edit page and an XCC Application URL will be generated. Configure this URL on your CUBE router to establish the XCC connection.

XCC Application URL

Configure the Cisco CUBE Router

After adding the CUBE in Call Telemetry, you will need to configure the XCC settings on your CUBE router. This configuration should be roughly as follows:

bash
uc wsapi
 probing interval keepalive 10
 provider xcc
  remote-url (use the url given on the Edit Page of the CUBE in Call Telemetry)
  no shutdown

XCC Network and Firewall Configuration

Ensure that your CUBE router can reach the Call Telemetry server over the network. This may require firewall rules or network configuration changes to allow the XCC connection.

CT needs to register to the CUBE on port 8090. A new TCP session will be created to handle the XCC connection, from the router to the CT server on port 80.

Verify CUBE Registration

Once configured, your CUBE should register with Call Telemetry automatically. To verify:

  1. Return to the CUBE Management page in Call Telemetry.
  2. Check the status of your CUBE. It should display as "Online" if everything is set up correctly.

CUBE XCC Health Status

CUBE Management

Viewing CUBE Status

The CUBE Management page provides an overview of all your integrated CUBE routers. You can see important information such as:

  • CUBE Name
  • XCC Hostname
  • Registration Status
  • Last Keepalive Time

CUBE Actions

For each CUBE XCC Service, you can perform the following actions:

  • View Logs: Access detailed event logs for troubleshooting and monitoring.
  • Reconnect: Attempt to re-establish the connection with Call Telemetry. Useful for troubleshooting registration issues.
  • Delete: Remove the CUBE integration (requires dialog confirmation).

Event Logging

The Event Logs page provides detailed information about CUBE events, including:

  • Timestamp
  • Event Type
  • Status
  • Message
  • Registration ID
  • Transaction ID
  • XCC Response
  • IP Address
  • Connection ID
  • Call ID
  • Calling/Called Numbers
  • XCC Disconnect Code

Use the search and filter options to quickly find specific events or troubleshoot issues. You can add custom filters based on event type, status, or other criteria, including multiple search conditions.

CUBE XCC Event Logs

Troubleshooting

If you encounter issues with your CUBE integration, try the following steps:

  1. Verify CUBE Configuration:

    • Check that the XCC configuration on the CUBE matches the settings in Call Telemetry.
    • Ensure the CUBE can reach the Call Telemetry server (ping test).
  2. Check Network Connectivity:

    • Verify firewall rules allow communication between CUBE and Call Telemetry.
    • Check for any network issues that might prevent successful registration.
  3. Review Event Logs:

    • Use the Event Logs page to identify any error messages or failed operations.
    • Look for patterns in events that might indicate configuration or network issues.
  4. Reconnect CUBE:

    • Use the "Reconnect" button on the CUBE Management page to force a new registration attempt.
  5. IOS Debugging:

    • On the CUBE, enable XCC debugging: debug wsapi xcc all
    • Monitor the debug output for any error messages or connection issues.