Steven Sokol
2003-Nov-20 10:05 UTC
[Asterisk-Users] Missing Manager Events/Actions: Hold, Reconnect, Conference
This may be better off on the developer list, but I thought I would see if I was way off-base before I went there. I am working on a manager CTI client (currently for windows but with hopes of porting it elsewhere later). [Hold/Reconnect] I have many of the features working. I can originate calls (using the call-in/call-out originate that the manager provides) display call-related information (caller ID, source device, etc), record calls using monitor, drop calls, transfer calls using redirect. The one thing I can't seem to figure out is what state the call is in once it is connected. Asterisk doesn't send state change messages (NewState) to indicate that the call has been held or reconnected. I also can't find any way in the manager to place an active call on hold or to reconnect a held call. Am I missing something? Does anybody know how hard it would be to add those events/actions? Looking at the source, it doesn't look too difficult to create the events and/or actions. What I don't understand is where the event trigger would be added to the pbx core code. Obviously Asterisk knows when a call is put on hold -- it starts MOH for the held channel. Would that be the best place to insert the event code? [Conference] As for Conference, is there any direct way to execute these from within the manager? A way to 1) add a new party to an existing call or 2) bridge two existing calls terminated at the same station? Obviously calls can be transferred into a meet-me or something like that, but is there a better, cleaner way? [Related Call on Transfer] Many CTI systems offer a "related call ID" for linking a new call segment with an old call segment on transfer. I.e. when I am transferred from agent A to agent B and a new call is created, the new call's NewChannel event would include a RelatedCall field which would hold the unique ID of the original call. [Connect To Application] One last thing I would like to try to implement in the manager is a notification that a call is successfully "connected" to an application (i.e. voicemail). Currently whenever a call is established to an application (i.e. I go to check my voicemail) I get events related to the state of my station, including NewExtension events that show I have called an extension. But I never receive anything like a Link message to show that I am successfully connected to an application. Could we add AppLink and AppUnlink messages? Or perhaps additional parameters to Link and Unlink to indicate that we are linked to an application rather than a physical endpoint? Should I take this to the developer list or enter it into the bug tracker? Has anybody else built a series of patches to handle these issues? Should I give up and go home? Thanks, Steve