Remark: This is more like a configuration receipe combined with a (possible) feature request than a support request…
…a bit of history:
I’ve had users complaining that they want Follow Me to hit in only for external calls, but not for internal ones over and over again. I had no (real/simple) solution for them until today.
By reading the context help for Follow Me’s “Disable” checkbox which says “However, destinations that specify FollowMe come here”, I figured out that I could implement the desired behaviour by simply defining the Destination of my inbound route to the extension’s FollowMe. But wait - there are no FollowMe destinations in the current FreePBX (Why not? Or are there?)
So, here’s how to configure this anyway:
Create a Custom Destination, e.g. called "Follow Me " with destination “ext-findmefollow,FM,1”. So, that’s “Follow Me <899>” “findmefollow,FM899,1”, for example
Set the Inbound Route for to Custom Destination "Follow Me "
Disable Follow Me for
…you’re done!
Here’s the drawback: Until I figure out how to define an universal FollowMe function for that (not realy cool, either 'cause you need to have the configuration to which user’s Follow Me the call should be routed) or we get “Follow Me” Destinations in FreePBX (would be much nicer), you have to create a Custom Destination for each user you would like to have that for.
I think adding “Follow Me” Destinations shouldn’t be that problematic/difficult/etc. (unless my thinking is playing tricks on me and my approach isn’t correct…)
Any comments? Maybe I’ll come up with a patch and submit a feature request…
There used to be destinations to Follow-Me and destinations straight to a user’s extensions. This create so many problems with mis-configuration by users that it was removed in favor of he current mode. That change was done in 2.3 I think (would have to check to confirm).
As a result, I do not anticipate this changing, at least not the way it was (which is the patch you create). In order to avoid having your patch get clobbered you may want to create a separate module for yourself that creates the desired destination so that the next update does not break you.
The only way that I see potentially adding this that would avoid confusion is to leave it as it is today, but add a setting in the GUI and in the User Portal (ARI) GUI that allows a user to select this desired behavior (and defaults to the current behavior). Detecting if the call is internal or external is not too difficult, however, it may be difficult to avoid false readings in call transfer situations when you want it to act as an internal call but the originator was external. That would require some careful code and testing.
So if you want to have a shot at that mode, then it would be more likely we could entertain putting that in. (Since as mentioned, your patch is otherwise reverting to behavior that was very problematic in the past).
np - they were quite some time ago. If you look through some of the past migration scripts you will see that there is code in several modules that actually went through the pain of migrating the destinations that could have been set to a follow-me back to the extension, since otherwise the change would have broken the systems.
The user settable setting would be interesting and useful though.