Newbie: Don't understand the queue design concept

I'm very new to Asterisk.
I'm building a very simple setup for a 10 employee office that has a sales and support departments.

When a call comes in, the caller gets few choices: Enter an ext, Press 1 for sales, Press 2 for support. There are 3 people who can pickup calls for sales, and 3 people who can pickup calls for support.

When a caller selects "1" for sales, I want all 3 phones start ringing until one of the sales people picks up the phone and gets the call. Meanwhile, I need the caller to hear hold music and some promotional recordings. Same thing applies to the support extension.

The call queues seem to be the way to go to achieve this result, however there are few things that I don't understand. There have to be agents "logged" into the queue to receive the calls. When an agent logs into the queue, he can no longer hang up, otherwise the he'll be logged out of the queue. This doesn't work for me, as I want the phone to just start ringing when there is an incoming call.

The ring group option also seems to be able to do what I need, but I have not been able to insert hold music into the ring group.

All in all, I just don't seem to get the idea on how to develop the queue in a way that I need and if it is even possible.

Any help appreciated!
alexkinkAsked:
Who is Participating?
 
palnerConnect With a Mentor Commented:
Hi alexkink,

To your questions:

I'm very new to Asterisk.I'm building a very simple setup for a 10 employee office that has a sales and support departments.

Asterisk is perfect for this.
When a call comes in, the caller gets few choices: Enter an ext, Press 1 for sales, Press 2 for support. There are 3 people who can pickup calls for sales, and 3 people who can pickup calls for support.When a caller selects "1" for sales, I want all 3 phones start ringing until one of the sales people picks up the phone and gets the call. Meanwhile, I need the caller to hear hold music and some promotional recordings. Same thing applies to the support extension.
Ok... three things to set up here... queues.conf and extensions.conf.

Basically you want to add something to queues.conf such as this:

[sales]
music=default
memberdelay = 0
strategy=ringall
timeout=45
retry=30
wrapuptime=15
maxlen = 0
periodic-announce-frequency = 90; seconds between periodic sales announcements
periodic-announce = my-sound-file; sound file to play for periodic announdments

This will create a queue called sales.

In extensions.conf, add something such as:

exten => 1,1,Queue(sales)

This will send someone to the sales queue on a press of 1 during a background statement (for example).

The call queues seem to be the way to go to achieve this result, however there are few things that I don't understand. There have to be agents "logged" into the queue to receive the calls. When an agent logs into the queue, he can no longer hang up, otherwise the he'll be logged out of the queue. This doesn't work for me, as I want the phone to just start ringing when there is an incoming call.
What I like to do instead is an agent logon.... make a star code, something like *20 which then logs that agent into the queue... something like:

exten => *20,1,Set(SIPUSER=${CUT(CHANNEL,-,1)})
exten => *20,n,Set(SIPUSER=${CUT(SIPUSER,/,2)})
exten => *20,n,AddQueueMember(sales,Local/${sipuser}@extensions/n)
exten => *20,n,Playback(something)

That will log the agent in and their phone will ring when someone gets in the queue. They won't have to leave the phone open.

To logoff, something like:

exten => *21,1,Set(SIPUSER=${CUT(CHANNEL,-,1)})
exten => *21,n,Set(SIPUSER=${CUT(SIPUSER,/,2)})
exten => *21,n,RemoveQueueMember(sales,Local/${sipuser}@extensions/n)
exten => *21,n,Playback(something)

The ring group option also seems to be able to do what I need, but I have not been able to insert hold music into the ring group.
The above set-up should play music while the caller is on hold waiting for the sales person to answer.

All in all, I just don't seem to get the idea on how to develop the queue in a way that I need and if it is even possible.

Any help appreciated!

You're on the right track. Sometimes... it just takes a little playing to get it...
0
 
aleghartCommented:
Have you considered trying Switchvox? Digium bought them because they had the best private Asterisk developed product.

Switchvox configuration and maintenance is tons easier.  Never a command line.  Never a config file.  It is all handled through a web interface.

Not trying to knock Asterisk, as it is the base system for Switchvox.  But...big difference between and end-user and an integrator.

Switchvox has a free version that would probably fit your needs:
http://www.switchvox.com/sv?page=free_edition_faq

excerpts:

How many user extensions can I create in Switchvox Free Edition and how many simultaneous phone calls can it make?
15 virtual, IP, or analog phone extensions can be created in Switchvox Free Edition. A virtual extension is used for employees that don't have an analog or IP phone connected to the system, like those that work remotely using their mobile phones, and they're also used for general voicemail boxes. It can handle 8 concurrent phone calls (8 people on the phone at one time).

Can I install it on my own hardware?
Yes, but if you'd like to use it in a production environment, or you suspect you might want to upgrade to a fully supported, more advanced version of Switchvox, like Switchvox SOHO or SMB, please use a server from our Certified Hardware List.

Do I need a dedicated server?
Yes! Once installed, Switchvox Free Edition will be the only software that runs on your machine, so make sure that you don't put your Switchvox Free Edition CD into a computer that has anything valuable on it because it will be over written during the installation procedure.


I have the full call-center version.  I built the call groups, queues, IVR menu structures myself.  I had some experience flow-charting a previous system (Toshiba).  So understanding the concepts are more important than clicking buttons.  You can really mess up a caller experience by bad routing.


0
 
palnerCommented:

(I said there were three things to modify... I meant 2) ;)
0
 
alexkinkAuthor Commented:
Thank you very much! This actually worked out perfectly
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.