[Asterisk-Users] Higher level API on top of the Manager API?
asterisk at stefan.de
asterisk at stefan.de
Thu Oct 7 02:03:55 MST 2004
Hi,
I am currently working on a java client library to make it
easier to use the Asterisk Manager API from java applications
(see http://asterisk-java.sf.net).
In its current state it contains only a 1:1 mapping of the
events, actions and responses supported by the Asterisk
Manager API to corresponding java objects and support for
sending and receiving these to/from the Asterisk server.
I noticed there is already a number of similar libraries
for various other languages that basically use the same approach.
For many applications it would probably be helpful to use
an additional abstraction on top of this low level interfacethat
knows about the basic conecepts of Asterisk and uses objects like
Call, Channel, Queue, QueueMember to represent them.
A central instance would handle the connection to the Asterisk
server(s) and hold a graph of these domain objects. It would
be responsible to
- change the state of the domain objects according to the events
received from Asterisk
- allow clients to query these objects easily
(e.g. getQueues(), getActiveCalls(), Queue.getMembers())
- translate changes made to these objects by a client to a
corresponding action of the Asterisk Manager API.
I think such a higher level API on top of the Manager API would
not be tied to a specific language as the requirements are
basically the same and it would be nice to have a common
abstraction that can be implemented in any language.
Therefore I appreciate your feedback on this issue, especially
on whether you consider such an additional abstraction useful,
what operations and concepts it should support and whether a unique
API for the most common languages (perl, python, php, java, ...)
would make sense.
Regards,
Stefan
More information about the asterisk-users
mailing list