Listen for extension while MOH is playing

I am hoping this is possible, I would like to know how to or what to set up so when the MOH is playing if a person dials an extension it will route to that extension. The least amount of pieces the better.

More than one piece but I suggest background() concatenated to waitexten()

background() gets the MSD (most significant digit), then the LSDs (least . . .) are added to it by waitexten(), then you goto() all whilst the file(s) played are your choice of files ( no streaming here)

Is this an edit that will be to a conf file and if so what files do I need to edit or is this done in the web gui?

Reading your deleted posts. It sounds like you want to setup a simple IVR…?

Would like to be able to enable extensions during MOH so if a person dials an extension while on hold it will pick it up. The MOH plays when first calling in and waiting for the next available person to answer and not when someone has answered and put the caller on hold. When I used FreePBX years ago it was already enabled on the system and I just changed the announcement, but I do not remember what it was called or how I did it.

That would be a simple IVR with direct dialing enabled and MOH selected as your ‘announcement’ and a timeout of 0
and a forced strict timeout

When would the Background()/Waitexten() be used then?

Not if its an incoming call sent to an IVR. Breaking out from an arbitrary ‘send to MOH’ as you priginally asked for would likely need those.

So my use cases are the following, if you could point me in the direction of which of the two solutions posted I should use for each case that would be great

case 1 - calling the main line and a message/MOH starts playing and waits for an extension if dialed by the caller while playing the MOH/message ( guessing IVR for this one )

case 2 - a person picks up a call and then places it on hold, while on hold the MOH plays and listens for a dialed extension if dialed by the caller ( guessing WaitExten() for this one, but what file or where in the gui should I go to? )

User an IVR but send the caller back to the IVR instead of putting them “On Hold”

Could you tell me where that setting is that when a person presses hold it sends the caller to the IVR instead of hold? What if the person goes to pick up the call again? I think I saw the setting last night, but want to do this right so I figure I would ask first.

the ivr has a number, transfer the caller to that number. how change your hold button depends on your phone

What is another solution? The IVR solution sounds great for the main line, but for when a person puts a caller on hold it sounds like half of the solution wont work. The phones are polycom VVX 311.

An IVR for the main line makes sense, is there anyway to set listen for extension to the piece serving the MOH?

No, there isn’t.

Did you try ‘the other half’ ?

Are you polycom’s using a phone based hold or a server based hold?

I took over the system from someone who was not here when I was given it so trying to untangle what they did in addition to making new changes. What is the best way to tell if phone vs server?

You would look into your polycom phone provisioning {mac}.cfg file and see what the ‘hold’ button is mapped to, if you don’t use provisioning, do it in the phone’s inbuilt http server web page. Polycom calls a bi-directional button that shows the ‘hints’ returned as ‘Automata’ but ‘speed-dial’ might be a good starting point,

(Second guessing, If you expect an easy GUI fix, you are SOL, I would thus ask if you feel little ‘out of your depth here?’ as what you are trying to achieve needs a deep knowledge of ‘lots of things’ , Polycoms,Asterisk,FreePBX and customer expectations. None particularly hard but in toto you need to understand all the interactions. Yes you can! but have you RTFM’s yet? )

I am good with FreePBX and how it works, this use case is something new that I have not done before, mostly having to re-learn where things are as last time I used FreePBX it was a couple of years ago and much has changed. The solution seems easy enough, just need to set it up and tweak as needed. Whenever I ask if something is possible I usually get 2-3 different options to work with which is why I asked if there was another solution. The Background()/WaitExten() cmd are new to me hence the questions about it.


will help to further your journey.