Hello All, My name is Nicholas Gill. I have been asked to investigate the possibility of adding third party call control and monitoring (in the form of a CSTA [1] interface) to sipXecs.
I have been playing with sipX over the last few days [2] and after looking at the architecture, i realise that a centralised structure (as is common with most legacy PBX systems (and a precursor to implementing 3pcc)) doesn't really fit in this scenario. Even given this, some form of call control could be generally useful in a number of scenarios. I can see in the roadmap that a form of 3pcc is planned for the ACD module, but this does not cover normal user extensions and calls which is useful for the implementation of UserPortals and other CRM integration/screen pop applications. Essentially system-wide CSTA would be a superset of the desired functionality for the ACD, CSTA generally uses the ASN.1 BER [3] however Phase III introduces an XML encoding that (i believe) would meet the requirements described, while additionally providing flexibility for other applications. I can imagine that such a CSTA interface could leverage uaCSTA (with UA's that support it) to provide remote AnswerCall and other requests that require interaction of the UA, however i don't know where i may start looking at this or what the best way to approach this may be.. My experience with SIP and uaCSTA so far is limited to reading their specifications (although uaCSTA is really very similar to CSTA Phase III with which i am very familiar), and my experience with sipX is even more limited. Any help about approaches to implementing this or ideas if it's even feasible are most welcome. Browsing sipXcallLib looks promising, esp. cp/Connection.h which appears to have most of the requests, events and call states that would be used in implementing a csta interface, however i am not sure where this library fits into the sipx architecture. In any case, any ideas about how this would be planned/implemented are most welcome. Thanks, -nick [1] CSTA is an interface for computer applications to monitor and control subscribers in a phone system. ref: http://www.ecma-international.org/publications/standards/Ecma-269.htm A pointless example of what a CSTA application may look like: // an example object that represents a connection to a telephony switch CSwitchInterface sipx_switch(); sipx_switch.AddEventListener(this); sipx_switch.Connect("172.16.0.10", "CSTA user", "CSTA pass"); // Initiate a call from 200 to 201 sipx_switch.MakeCall("200", "201"); virtual void OnEventCallControlCallDelivered(ConnectionID conn_id, const string& calling, const string& called, etc...) { // conn_id is a Device/Call identifier combination sipx_switch.AnswerCall(conn_id); } [2] I have setup a computer with sipX along with Asterisk (acting as a gateway to a 4 port BRI interface), very, very fun to have called my home phone from ekiga and transfer to a grandstream! [3] Basic Encoding Rules - a binary way of encoding ASN.1 structures _______________________________________________ sipx-dev mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-dev Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
