cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
662
Views
1
Helpful
2
Replies

Outgoing call to CUCM numbers via API request from third-party app

santoshsingh
Level 1
Level 1

Dear Fellow devs,

We got a customer requirement who has the CUCM setup and we as a SaaS service provider want to connect to their CUCM and deliver the phone call message to their end users.

Our application is on the cloud so we need some kind of API which can be called to initiate voice calls to CUCU devices (in bulk as well).

The calls should be made by a bot user who can read a text message to the end user (TTS) and optionally play a recorded voice file.

Further end users are requested to acknowledge the message by pressing a key on the phone and that should send a callback request to the SaaS application and the response is recorded.

This whole implementation is very similar to Twilio voice API.

So far, I have tried JTAPI API to make voice call but it requires two active devices to be present and didn't find any way to send TTS message.

If someone can be any help in this be really appreciated.

2 Replies 2

alptechexpert
Level 1
Level 1

To connect your SaaS service to a customer's CUCM and deliver phone call messages, you can consider using the following approaches:
JTAPI API: Although you mentioned that JTAPI API requires two active devices to be present, it is still a viable option for making voice calls. You can explore the possibility of sending TTS messages using JTAPI API and then use the API to initiate the call. However, you may need to look into third-party solutions or custom integrations to handle the TTS aspect.
Cisco's AXL API: The Administrative XML (AXL) API is a powerful provisioning API that can help extend Cisco Unified Communications Manager (Unified CM). You can use the AXL API to manage and control various aspects of the CUCM, including making voice calls. You can find resources and examples on how to use the AXL API with SOAPUI and PowerShell in this YouTube video.
Cisco's AST API: The AST API is another option for interacting with CUCM. It wraps RIS queries and allows you to read alerts from RTMT. You can explore the AST API documentation and examples to see if it suits your requirements.
Third-party solutions: There are various third-party solutions available for automating calls within Cisco CUCM, such as the project mentioned in this DXNET article. These solutions can help you handle high-severity tickets and automate call processes.
To send TTS messages and handle callbacks, you may need to integrate your SaaS service with a third-party TTS service or use a custom solution that can handle these tasks. Additionally, you can explore the possibility of using webhooks or other integration methods to connect your SaaS service with the customer's CUCM and handle callbacks effectively.

Jonathan Schulenberg
Hall of Fame
Hall of Fame

If your sole objective is calling a DN on CUCM and providing some sort of IVR treatment - touch tone, ASR/TTS, or NLP - I’d deploy a SIP SBC (Cisco CUBE or otherwise; there are OSS options such as Kamailio) in the DMZ with a public IP you can reach over the public internet, configure it to accept calls from your SaaS solution, and then send the call on to CUCM on the internal network. The firewall should restrict connections to your IPs and the incoming SIP trunk on CUCM must not have access to any off-net/PSTN route patterns to avoid toll fraud! This would let you use commodity cloud services for TTS, be PBX-agnostic so you could reuse your design/efforts, and require nothing on-prem that you need to maintain. The customer should own that SBC so they’re responsible for keeping it secure.

JTAPI would require an on-prem VM to run the TSP and your IVR application including TTS. The only advantage I see is the ability to remotely control a user’s phone, eg to originate a call from their phone on speakerphone without them doing anything.

All of the other APIs only initiate a call - they don’t actually handle it - and would require an on-prem VM to make the API call or a reverse proxy in the DMZ. CUCM should never be accessible from the public internet.