views:

654

answers:

4

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?

+1  A: 
  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:[email protected];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.)

But your pointers are used to control PC "softphones", not standalone ones, if I understand it correctly?
Janko Mivšek
+1  A: 

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.

Big GH
+1  A: 

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

zarzych
A: 

CTI is one type of technology that allows interactions on a telephone and a computer to be integrated or co-ordinated. As contact channels have expanded from voice to include email, web, and fax, the definition of CTI has expanded to include the integration of all customer contact channels (voice, email, web, fax, etc.) with computer systems. Thanks for the info.

call centers philippines