Is This Application Possible With Asterisk?

Home » Asterisk Users » Is This Application Possible With Asterisk?
Asterisk Users No Comments

Hi list!

Is the following application possible with Asterisk with the default functionality that is currently implemented?

1. User dials in via PSTN / SIP.
2. System announces random but individual PIN to user.
3. If there are no other users, user gets put through to a party by Asterisk dialing out via SIP and the user gets connected to that person. Let’s call that person callee.
4. If the callee is already in a conversation, a new user (caller) gets put into a waiting mode (QUEUE?). Only 1 user can speak with the callee simultaneously. There is only a single callee, so there can always be only one conversation.
5. Each user has 15 minutes talk time with the callee.
6. Once the talk time is up, that user gets disconnected and the next user in the queue gets connected to the callee. (The user that is waiting the longest)
7. If a user in waiting mode should get disconnected for whatever reason, he can redial and enter the PIN to take back his previous position in the queue.
8. While in waiting mode, every user eavesdrops to the conversation between the callee and the currently talking user (CHANSPY and/or CONFBRIDGE LISTEN-ONLY).
9. If the user gets tired of eavesdropping on the conversation and to make his waiting time more entertaining, he can press a digit while in waiting mode to enter a conference that is going on between all users in waiting mode who entered the conference (CONFBRIDGE).
10. Difficulty: even when currently in a conference, a user must get automatically connected (or, at least, notified) to the callee when the callee is available now and the user is the next one in the queue.

My doubts:

Is queueing the right approach? I know there is a queue functionality in Asterisk but I’m not sure if it can be used for the above mentioned purpose. Can a user join a conference while being in the queue / in waiting mode?
And when he exits the conference, can he take his old place in the queue again?
How to send the user to the callee once the callee is available again and if the user should still be in the conference?

Thank you so much! 🙂
Regards Markus