apitelephonyivrjain-sipjtapi

Looking into IVR software development


The company I work for is looking for an IVR implementation that is highly compatible with any potential PBX/IVR or PBX combo OR to provide our own hosting solution.

So the idea would be to create an application that interfaces to any potential platform and provide call control and voice dialog / interaction for the IVR.

Technologies I've looked at so far (we would like to use Java) are Java Telephony API (JTAPI) the JAIN-JCC (Java Call Control) API and others. The basic gist of these API's make sense to me, but what I cannot put together is exactly how the application I would create for call control and voice IVR / VXML would interface in a platform independent way to the phone system. How exactly am I to get the call from the phone system?

These API's and libraries seem to leave this question unanswered which leads me to believe that a platform independent solution isn't possible and that it's always going to be implementation specific. There's also JAIN-SIP, if I can convert all calls to SIP then maybe I can create a generic call control / IVR application this way.

If I've uttered any ignorances here or misunderstandings please forgive me, I am completely new to any kind of telecom technology - anyone who wants to set me straight? I'd be very very grateful, the connections on the detail implementation level are very very fuzzy at this point and sometimes I need a little hand holding. Any help or pushes in the right direction would be helpful.

I've been pouring over specs and API's for the last week. :)

EDIT - I've forgotten to mention that we prefer to develop this in house if at all possible and smart in terms of cost/benefit - not really looking to spend money on a integrated platform if at all possible - thats my job :)


Solution

  • I worked for VoiceGenie a few years ago: they made (I'm using the past tense here only because I don't know what they're doing now, not because they're no longer doing it) a VoiceXML engine, which:

    They hired me to interface their box to call control systems: and the first system I did that for was Cisco's (conversely, I see that VoiceGenie are now owned by Genesys). Their engine also supported non-VoiceXML applications, e.g. it exposed a Java application interface.

    In conclusion:

    I'm not a product manager, system engineer, network architect, domain expert in this field.


    BUT they all generally support a handful of protocols and API's

    Some supported only a proprietary, ad/or some support one or more standards.

    So the idea is to interface to the API or protocol that is supported the most.

    I'd question the business case for that, but I reckon that you ought to find and talk with a telephony engineer, who has specific domain expertise and product/implementation knowledge. I encountered what I posted above by working as a software developer, but I don't have the domain expertise.

    Would that be SIP?

    SIP is a protocol, not an API. This stuff is in layers, for example as an application you might use:

    Cisco only had one (proprietary) protocol I could use, to talk to their "Intelligent Contact Management" (i.e. call centre) system. And Genesys I think had a closed, proprietary API/protocol.

    If so then would my call control and IVR solution be best implemented as a SIP front end to a JTAPI application or some variant?

    I'm confused about what you want to do, where in the stack you want to be (not that I could say anything useful if I did know).

    I think that maybe you ought to be talking with vendors: to find out what they can do for you (unless you're trying to complete with them, which would be difficult).

    Can you narrow down what "any potential PBX/IVR or PBX combo" means?