|
CTI for Asterisk I have seen a few and they are all commercial. For this reason I have decided to initiate a project to develop a client-server solution that meets a series of requirements CTI base. The project is based on a simple concept: the AstCTIServer connects to Asterisk Manager Interface with one single connection and intercepts Asterisk Events that are relevant for it's clients. These events include:
*- Answer - A call is answered *- Exten - A new extension of the dialplan is executed *- Newchannel - A new channel is built from asterisk *- Newstate - A channel is changing it's status *- Newcallerid - A callerid event *- Link - Two channels are bound *- Hangup - A call has been closed Each of this events brings useful information. In particular, is important to notice that we can send informations from the dialplan to the AstCTIClient using the dialplan Set function: using the special calldata variable. This variable is grabbed by the AstCTIServer and sent to the AstCTIClient when the Link event occurs. AstCTIClient is configured to receive events for a specified technology/extension: ex. SIP/201. The AstCTIClient will register - using TCP/IP sockets - on AstCTIServer and will receive relevant Asterisk events that happens on an active channel for the technology/extension for which it's registered. Newstate events are used from AstCTIServer to notify AstCTIClient of channel status changes. Newcallerid events are used to notify the CallerId of inbound calls. Link events will indicates that the call is answered Project Architecture: CTI Server *- Platform development:. Net 2.0 / Mono on GNU/Linux *- Integration with the Asterisk Manager Interface (single connection) *- Multithread engine for the management of numerous CTI clients *- Configuration Files to manage operating parameters *- Mudulable Log File *- Updated MySql.Data CTI Client *- Platform development:. Net 2.0 for Windows *- Authentication on CTI Server *- Attractive and user-friendly GUI *- Ability to manage the display Caller ID / Caller ID Name *- Ability to originate callson different Outbound contextes *- Advanced Configuration Interface *- Ability to manage different telephone campaigns through the *- takeover of the “context” *- Ability to launch diversified applications for telephone campaign *- Each application can be parameterized. Different variables are *- supported for expansion, including a special variable “calldata” *- to transfer information from dialplan of CTI asterisk to Client *- Localization Support (Italian / English / Spanish / Mexican / *- French / Russian). More translations welcome! *- Integrated configurable Web browser *- Registry settings to block configuration for users and/or outbound contextes System Requirements: AstCTIServer *- A working Asterisk 1.4.x installation :) *- I suggest Mono on server side, but you can use also a separate *- Windows Server with a .NET 2.0 installation for AstCTIServer; *- MySQL Connector/Net *- MySQL 5.x database Server AstCTIClient *- Windows XP / Windows Vista *- Microsoft .NET 2.0 *- MySQL Connector/Net Download it now! |