[Asterisk-Dev] Request for comments on CTI integration

Nicolas Gudino nicolas at house.com.ar
Thu Jul 15 06:23:53 MST 2004


Sunrise Ltd wrote:

> Nicolas Gudino wrote:
>>Check the Flash Operator Panel, its not exactly the same
> kind of
>>program, but very similar. There is a server, writen in
> perl, that
>>connects to the manager port to catch up events, and it
> also
>>listens to clients (in this case swf flash movies) that
> displays
>>information about channel status and also can trigger
> actions
>>like transfers and hangups.
> Thanks. I had a look at your demo and read through the
> documentation. It really looks like a nice *operator* app,
> just as it is intended. But I wouldn't want to recommend
> it to clients for ordinary staff. It would seem overkill.
> Keep in mind we are only looking to get information, not
> to exercise control.
> Also, Flash is a definite no go here. None of the
> applications we need to integrate with are web based.
> Also, we want to reduce the required infrastructure to an
> absolute minimum. It has to be ultra-feather-light-weight.
> Running a web server is not always what customers want to
> do on their telephony servers for security and other
> reasons.
> Also, we will eventually be looking at running the client
> on cell phones. Japanese cell phones have a technology
> called iAppli which is Java based but minimalistic, like
> 16KB maximum size per applet. I would expect the client to
> fit into 2-4 KB if not less.
> The notification messages should also be
> ultra-feather-light. All that is needed should be no more
> than ...
> 1) event code
> 2) event reference number (unique)
> 3) origin of call (network name and caller's number)
> 4) transferred via (if TRANSFER event)
> 5) destination (if client subscribed to notifications for
> multiple destinations)

I know that the panel is not the application you are looking for, but
the op_server.pl part is.

Its a daemon that connects to the asterisk manager port, the one you
will need to extract the info OUT from asterisk. It also listens for
clients, *any* type of client. In my case are flash clients, but you
might write your own client in any language you want to receive those

The daemon parses all the asterisk events, they are *many*. My clients
only want to know when to turn a led to red or green, extract the caller
id, etc. Most of the events are not sent to the clients... The protocol
I use is awfull, its xml because flash wants XML, but it would be really
easy to change it to a bytecode or whatever your client need.

Look at the op_server.pl part. Not the flash part. Write a client that
just connects to the op_server.pl and that writes what it receives to
standard output... I know that my perl is hard to read and follow, but
the server part that you need is there. Just write other clients and

My point is that you don't need to write new asterisk applications or
modify existing ones. With the manager interfase you can extract all the
info and serve it processed to your clients...

The op_server.pl is maybe a starting point for your own daemon.

Best regards,

Nicolas Gudino
House Internet S.R.L.
Buenos Aires - Argentina

More information about the asterisk-dev mailing list