[Asterisk-Dev] 3rd party call control / CSTA , JTAPI orTAPIinterfaces

alex at pilosoft.com alex at pilosoft.com
Mon Dec 20 07:52:36 MST 2004


On Mon, 20 Dec 2004, Schaefer, Mark wrote:

> I'm not whining.  I'm saying that from the perspective of a
> telecommunications company, it is a MAJOR weakness of a "switch vendor"
> to not have a call control API.
Again, you seem to have special needs for call control API, namely, it has 
to be compatible with Genesys. Well, put up a bounty for it, and someone 
might write one. 

But don't say Asterisk has no call control API - it has. It just isn't
what you want.

> >From a business perspective I can tell you this.  Switches are
> >considered a commodity.  We can buy Avaya, we can buy Nortel, we can
> >buy Cisco.  They all have call control API's and they all interface
> >with Genesys, which we use as our call routing software.  There would
> >be some major problems to fix to put Asterisk in a production
> >environment - since our switch vendors sign up for liability if their
> >products fail.  They also sign up for SLA's that I don't think
> >Asterisk/Digium could meet.  (For example, when's the last time you
> >added a T1 card to an Asterisk box while it was servicing your
> >production call volume?)
OK, so PC with PCI cards does not match reliability of your class4 switch. 
Surprise surprise. 

Oh, and what was the last time you read warranty documents from your 
favorite switch vendor where they allegedly "signed up for liability". I 
think are up for a real surprise there too.

> My personal recommmendation on a call control API is this: make a
> low-level C interface - the whole Asterisk system is built on C.  If
> someone wants to build TAPI, JTAPI, or whatever on top if it, that
> should be an additional interface layer.  Having a telnet-level
> interface to the switch is too cumbersome for programmers who want to
> move calls around.
TCP is just a mechanism to attach your application to asterisk. It *has* 
to be TCP (or UDP) in order to separate your call control host from your 
switch host. You want to have a C API? Just write a wrapper for socket 
stuff necessary for TCP and make some nice functions to do callbacks based 
on events you get from Asterisk using Manager.


> Also, the call control could be an application.  You could divide the
> switch into two pieces, one set of route points gets sent through based
> on the switch rules in existance (like a direct number to a desk phone).  
> Other calls would get dumped on an application that would notify a
> routing server and then wait to be routed.
I ask again: What's wrong with the Manager API? You can already do that 
with Manager and suitable dialplan. 

It appears that you fundamentally do not understand how asterisk works,
and you would be better served by reading wiki and posting to -users.

For examples what you can do with manager, see wiki:
http://www.voip-info.org/wiki-Asterisk+manager+API
http://www.voip-info.org/wiki-Asterisk+manager+experience

See this:
http://search.cpan.org/~xantus/POE-Component-Client-Asterisk-Manager/Manager.pm

I would suppose the last one (albeit it is Perl) is somewhat close to the 
API you would like.

-alex




More information about the asterisk-dev mailing list