cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
382
Views
1
Helpful
9
Replies

CUBE: How to Trigger HTTP POST on SIP INVITE Events?

Jeevan P Rai
Level 1
Level 1

Hello Cisco Community experts,

I'm seeking guidance on implementing webhook functionality in Cisco Unified Border Element (CUBE) for our enterprise deployment. We need CUBE to send an HTTP POST request to an external API endpoint whenever a SIP INVITE message is received.

Our specific requirements:

  1. CUBE should detect SIP INVITE messages as they're processed
  2. Extract the Call-ID header from these messages
  3. Send an HTTP POST request to our webhook endpoint
  4. Include our authentication token in an Authorization header
  5. Include the Call-ID in a custom X-Sip-Call-Id header

This needs to happen in real-time when the INVITE is processed, not through delayed syslog monitoring or external scripts.

Our environment is an enterprise CUBE deployment on physical hardware running current IOS XE software. Is there a way to implement this directly in CUBE? If so, what's the correct configuration to achieve this?

If this functionality requires specific licensing or isn't directly possible in CUBE, what's the recommended approach with minimal latency for an enterprise production environment?

Thank you in advance for your help!

9 Replies 9

What is it you are trying to accomplish from a business perspective? I don't know how to do what you describe, but there might be another way to do it if you provide more information on the business goal.

Jeevan P Rai
Level 1
Level 1

Thanks for your response, Elliot.

From a business perspective, we need to implement this webhook functionality for CRM integration and call validation purposes. When calls come into our system through the CUBE, we need to immediately notify our CRM platform so it can:

  1. Match incoming caller information with customer records
  2. Prepare agent screens with relevant customer data before the call is answered
  3. Track call metrics in real-time for our business analytics
  4. Validate calls against our security rules before connecting them

The key requirement is that this happens with minimal latency - ideally as soon as the SIP INVITE is received. Solutions that rely on syslog or post-call processing introduce too much delay for our user experience requirements.

We've implemented similar integrations with other systems, but need to know if CUBE can directly trigger these webhooks, or if we need to architect our solution differently with Cisco equipment.

Does that help clarify our business goals? I'm still interested in the specific CUBE configuration if it's possible, but open to alternative approaches that would meet these real-time notification needs.

Thanks, that clarifies it quite a bit. What contact center platform are you using? What you are describing sounds like it is more suited to the contact center than the CUBE. I am assuming you have some calls that come in that are not destined for the contact center. In that case, you would be making the queries you describe in the CUBE that would fail and be unnecessary. I know what you describe can be done in CCX and CCE as I have seen that sort of thing done there. I haven't had the opportunity to do it in WxCC yet, but I am sure it is capable doing that as well.

Jeevan P Rai
Level 1
Level 1

Thanks for your insights, Elliot. I understand your point about contact center platforms, but our implementation is a bit different.
We actually have a custom middleware server that needs to receive notifications directly from the SBC/CUBE when SIP INVITEs occur. Here's why we need this at the SBC level:

We process ALL calls passing through our network infrastructure, not just contact center calls. This includes internal calls, calls to regular business lines, and contact center calls.
We're implementing this solution across multiple SBCs in different environments, some with different contact center platforms and some with no contact center at all.
Our middleware server handles various functions including CRM integration, security checks, and analytics that need to happen before calls reach their destination (whether that's a contact center or regular business phone).
Having the webhook triggered directly from the SBC gives us a consistent integration point regardless of the downstream systems.

While contact center platforms do have integration capabilities, they only process calls specifically routed to them. Our solution needs to capture ALL call events at the network edge, which is why we need the webhook functionality directly in the CUBE.
Is there a way to configure the CUBE to trigger HTTP POST requests on SIP INVITEs? Or would you recommend a different approach for implementing this across diverse environments?

I don't know how to make a CUBE trigger an HTTP POST, but perhaps someone else does. The options that come to mind would require a different way of dealing with that. What seems like the best possible option would be to AAA and have the CUBE attempt to authorize the call via RADIUS. That will likely send the most information to the RADIUS server. The RADIUS server could be configured to always authorize the call (Radius-Accept), and then perform the other actions you want. It would likely require some coding, but you could use one of the open source RADIUS server packages as a starting point.

I don't know the a syslog message or an SNMP trap would accomplish what you want.

Another idea would be configuring a SPAN session on the provider facing interface, and then whatever host receives the SPAN traffic could parse out the relevant INVITE messages.

Thanks for suggesting the SPAN approach, Elliot. That's an interesting non-intrusive option that wouldn't impact call processing.
We'd need to:

Configure port mirroring on our network equipment
Set up a packet capture server
Use a tool like Wireshark, SIPp, or a custom script to parse SIP messages
Trigger our HTTP POST when INVITEs are detected

The advantage is that it wouldn't affect call flows at all. The challenges might be ensuring we don't miss packets and dealing with any encrypted SIP traffic.
I'm still interested in whether there's a direct webhook capability in CUBE itself, but the SPAN approach could be a good fallback option. It also gives us flexibility to capture other SIP events beyond just INVITEs if needed.
Has anyone implemented something similar or know of good tools for real-time SIP packet analysis that could trigger webhooks?

Jeevan P Rai
Level 1
Level 1

Thank you, Elliot! The RADIUS approach is definitely interesting and might work for our needs.
Some questions about implementing this:

Would the RADIUS authentication add significant delay to call setup time?
Can we configure CUBE to "fail open" if the RADIUS server doesn't respond quickly?
Does the RADIUS request from CUBE include the SIP Call-ID and other headers we need?

I'm concerned about adding a critical dependency to our call flow, but if properly implemented with fallbacks and redundancy, this could be viable.
We'd need to customize a RADIUS server (likely FreeRADIUS) to extract the call information and forward it to our API endpoint via HTTP POST. I'm comfortable with the coding aspect if that's what it takes.
I'm still hoping someone might know if there's a direct way to trigger HTTP POST requests from CUBE on SIP INVITEs without the RADIUS intermediary step, but I appreciate your creative alternative approach. It's always good to have options!
Does anyone else have experience with direct HTTP POST triggers from CUBE for SIP events?

You can have more than 1 RADIUS server in a group to give yourself redundancy. I don't know about failing open or what info it sends as it has been 15 years or more since I did RADIUS authentication for calls.

Edit: This link might be a good place to start

https://www.cisco.com/c/en/us/td/docs/ios/voice/cdr/developer/manual/cdrdev/cdradius.html