Agent functionality without queues

Hello Asterisk Forum users,
I attended Astricon last fall and was very impressed with Asterisk. I am porting my apps and customers to Asterisk.
This posting may be in the wrong topic area. If it is please redirect me to where I should be posting. I tried to create a topic in the development forum, but was unable to.

This is my first asterisk application. I have done a lot of reading and debugging to get my first customer setup. I am using the AMI combined with the Dialplan to manage an incoming call centre.

I am using AsteriskNow 1.7.1

I am trying to port my customer from software I wrote for her Toshiba system. I convinced the customer that Asterisk was the way to go and now I am trying to develop an interface to the legacy system. The CTI software for the Toshiba allows the agents to see all incoming calls and to answer them in any order they prefer. (All calls are answered by a live person before being placed on hold. This is what my customer’s, customers want.)

The first hurdle.
My current users never touch the phone, all call control is done through the PC using the mouse.
I have purchased Aastra 6731i phones and Grandstream GPX2120 phones. So far I have not been able to answer the user’s phone directly. I can send calls to their phone and they have to answer manually. I figured out how to activate auto-answer using SIP headers but that only gives me intercom auto-answer. I cannot control the user’s phone, so I have decided to change my game plan and have the user open a channel which remains opened for their shift and we bridge callers to their channel. I thought about using meetme() but I the server does not have any telephony cards in it and according to the documents that I read, meet me needs a timer that is provided by a telephony card. This leads me to the second hurdle which I need to get over.

The second hurdle.
I have been trying to replicate the agent/queue functionality. The concept being that user/agent would dial an extension to login and thereby create a channel that I could control and redirect through the AMI. I can leave the agent listing to MOH or I can use the Wait() application. The fly in the ointment occurs when I connect the agent with the first caller. When the callers channel hangs up, so does my agents channel. I tried redirecting the agents channel back to MOH on receiving a hangup event, but the event message comes after both calls are gone. I tried adding extra steps in the dialplan to prevent fallthrough but dialplan execution stops when either party hangs up. I goggled to find a method to prevent the hang up from occurring and found postings which referenced channel variables that control hangup after bridge or transfer after bridge, but none of these worked.

How can I tap into the same functionality that Asterisk queue agents have? Where the agent is able to talk with many callers using their initial login channel?

Thanks for any help you can provide.


I found the SNOM 320 much better then the AASTRA. Everytime I change something on the AASTRA using the web interface I have to reboot the phone for the changes to take effect. The SNOM doesnt need to be rebooted I change the phone while users are busy and the next call reflects the changes.
The auto answer feature was easy to implement and I can have the call go to the headset.
I have built an AMI server and I redirect and control the calls as needed. I have click to answer, click to hold and click to end functionality. I am currently working out the bugs with my updated call client software.

When I have time I will write code to implement the needed functionality in Asterisk.