I have a custom application (written in ASP.NET) that is used by a customer service rep to register customer service requests. In this custom application I want to capture the callers phone number automatically, as soon as the rep answers the phone at his extension. How can we accomplish this.
* We are using CUCM 11.x
* Totally new to programming with CUCM API.
So please could you provide some basic instructions, to get started on this.
JTAPI might be a bit heavy for your ASP.NET application if all you need is the calling number. You can do this and stay entirely web based.
I would recommend you look at the Cisco CURRI API. It's a XML formatted HTTP interface that fires an event on every call received on an extension, route pattern, or translation pattern. Really simple to configure and develop with, and since it's web based, you will be able to natively receive it from within your ASP.NET application.
Cisco Docs - with full examples of requests and responses
1. A keep-alive flow - This flow tells CUCM your CURRI endpoint ready for events. This is outlined in the above docs.
2. A request/response flow - When CURRI sends you a request event you would return a simple continue policy response message (see the example in the docs), and just take the phone number from the XML request for your own application usage.
From there, in your own app, you might want to build status indicators to know if you the keepalive is healthy, and alerts when it goes down, etc.
If you don't want to develop your own CURRI or JTAPI integration, and want something pre-made for CURRI that can trigger customizable webhooks with CURRI realtime call data, I have a product that does this - https://calltelemetry.com