Question

If I'd like to control the IP phone from my web application, how should I begin?

Let's say I have a standalone IP phone connected to the provider of IP telephony services. On the other side I have a server-side web application for the sales support. I'd like to initiate a call on my phone from this web application, on the other side I'd like to get for instance a popup with a customer's data on the web browser, when my customer is calling me.

In old era we had a CTI (Computer Telephony Integration) standards like JTAPI and TAPI for that, what are the common standards (if any) in the era of IP telephony today?

Was it helpful?

Solution

You will probably still need to use some form of CTI integration to control the phone. It really depends on the type of phone you want to control as to how you go about this.

For example, Cisco IP phones can be controlled using TAPI and JTAPI integration into their Call Manager PBXs. Mitel phones can be controlled using their own API called MiTAI which talks with their ICPs.

If your IP phone is SIP you may be able to initiate a call to the provider as if it came from your phone and use the phone just for the audio handling.

For incoming calls you will need to decode the incoming IP information (again it could be SIP) so that you can use this to pop-up the required web pages.

I think you need to check with your IP telephony provider to see what sort of integration they may already provide or at least give you some more information about the type of IP phone you are using.

OTHER TIPS

  1. I found an ActiveX control that's packaged with a .NET GUI. I have used it as an embedded ActiveX control in a web page, too. http://www.opensipstack.org/solegy/releases/ossphone/070810/OSSPhoneSetup.msi

  2. You can use SIP headers to pass information, or you can use parameters that anyone can use. For example, sip:alice@atlanta.com;protocol=tcp;accountnumber=1234. The SIP communication will use TCP instead of UDP, because we specified it in the URL, and your application can look up the account information before you speak with the caller. Modern call languages (CCXML and VXML) use the aai (application to application information) header to pass CTI info.

You may find some still need to use CTI equipment if there are many telephony parties involved in your system (switch, ivr, call center, call recording, etc.)

Depending on the type of PBX you use, there are few protocols used to communicate. I believe CSTA is the most popular right now. You could check if your PBX supports it and if yes, then talk directly to it to control your IP phone.

If your PBX doesn't support CSTA you can check if it provides TAPI driver and communicate using this one.

Here is the CSTA standard documentation:

http://www.ecma-international.org/activities/Communications/TG11/cstaIII.htm

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top