Custom ringback MoH for extensions

I want to configure a custom ringback tone for extensions. So: when someone calls an extention directly internally, or when an outside caller ends up calling an extension through an IVR or queue, I want to play a custom ringback that I have recorded and created a MoH class for (with only that file in it).

I don’t want to use queue’s per extension or other tricks, I’d rather write some custom config file. I realize this is not part of the regular GUI functionality, but it would be really cool if I could override the config to use my custom ringback MoH.

Could I even write some custom config that would span a range of extensions?

Enable FMFM for the extension and change the ‘Play Music On Hold’ to the desired recording. As long as FMFM remains enabled, that’s the ringback that callers will hear. External calls that ring direct to an extension may need ‘force answer’ enabled on the inbound route, that’s something you’ll need to test.

Cool. Will that play during the initial ring time or during the ring time of the ‘follow me’?

I think both, but if not just set initial ring time to 0.

Initial tests have good results! Custom MoH works on both initial ring as FMFM ring
No, the MoH only works on the follow-me, not on the initial ringtime

1 Like

That would be expected, this is a followme setting so until FollowMe is used, the setting doesn’t apply. Until that call hits the followme, it won’t playback the MoH for the extension.

I’m not sure why you can’t just add m(class) into the Asterisk Dial Options, for a normal extension. You may have to look at logs to work out the standard dial options settings.

I’m not sure you understand how FollowMe is done in FreePBX because it doesn’t use the FollowMe app in Asterisk. This is a completely different way of doing it compared to that. But yes, it does do this but it only does it once it is in followme contexts to dial the destinations. There will not be the extensions custom music on hold until it hits the followme rules and the Dial() is generated.

So the caller, until they hit this FM route will hear normal ringing or whatever MoH was set before this and then they will hear the MoH set by (overriding existing) FollowMe.

I don’t think you understand that the OP is posting multiple topics on the same underlying requirement, and follow me was a suggested solution at an earlier stage. I don’t think they want followme for the followme functionality, but rather because it was a way of getting custom MoH set through the GUI, and custom MoH ringback was, in turn the suggested solution to how to provide comfort messages whilst a normal extension was ringing.

I do, I even commented in the other topic. You suggested added the m(music) option to handle this, I’m just telling you that when the MoH option is set in FollowMe that is exactly what it does when it Dial()'s the extension list, it adds the m(music) option to the dial string. So your suggestion was to use an option that is already being used.

What I’m suggesting is adding it directly on the first Dial, which appears to be possible, although you have to set all the other required options, explicitly, at the same time.

Where does one set it in the first dial? The call flow is Incoming Routes (could set it here but it’s not actually per extension at this point) → Destination is an Extension which then hits the from-did context which checks FollowMe first then the extension.

Once it is in FollowMe, the pre-ring settings is how long to ring the extension before initiating FollowMe meaning that pre-ring could be 30 seconds to give me time to answer then kick into FM list to ring other extensions or my cell phone. Once you are now “following me” I can set custom music on hold that could be “Please wait we are connecting your call…” or actual music.

If the goal here is to no really have pre-ring and immediately force the call to the FM destination, then you don’t set the Destination to the Extension you set the Destination to FollowMe which will then give you an list of extensions but it forces them directly to the FM routes (even if FM is disabled on the extension). Many people don’t enabled FM directly but use the Alternate Destinations to Force FollowMe based on the status of the call. It avoids all the pre-ring stuff as well.

It appears to me that you can set it in

for the extension.

@luke1982 all preceding arguments aside, the easiest thing is to set FMFM initial ringtime to zero and include the initial extension in the ring group of FMFM. The phone will immediately ring at the user’s desk and the calling party will hear the custom-defined MOH regardless of the call being internal or external.

Kudos to @lgaetz for his suggestion.

Very interesting. So I could use the already present dial options and add m(moh-classname) to override them and use the custom MoH as dialback tone on this particular extension?

I agree, but I’ve run into an issue with the FM ringtime. I’m not afraid to use more advanced options but the FM is definitely the easies, yes. Let’s see which one works best for me. At least I have options.