Find Me/Follow Me Caller ID Issue

Hello all…

I am having an issue with the Find Me/Follow Me. I know that these systems are not designed for multi-tenant scenarios, but I setup one server for two customers. One of the customers likes to have the Find Me/Follow Me feature on their extensions, where, if they don’t answer after 10 seconds, it will keep ringing the extension and also dial out to their cell phone. Here lies the problem I am facing and I am at a loss. I am putting the cell phone to dial as NXXNXXXXX#. This dials the phone just fine, but it keeps displaying my other customer’s (wrong) CID when it reaches the cell phone.

It doesn’t matter what mode I select under Change External CID Configuration, it still displays the wrong CID. I checked the trunk and outbound route settings, but I couldn’t find anything relevant that pertains to this issue. By the way, both customers have their own trunk and outbound route configured.

But wait, this gets weirder: If I dial an extension that has a follow me/find me feature enabled internally, it will display the correct CID on the cell phone. It’s only on external calls.

Any help will be greatly appreciated.

Configuration:

PIAF Installed Version = 3.0.6.7 under KVM
FreePBX Version = 13.0.188
Running Asterisk Version = 12.8.1
Asterisk Source Version = 12.8.1
Dahdi Source Version = 2.10.0.1
Libpri Source Version = 1.4.15
Operating System = CentOS release 6.8 (Final)
Kernel Version = 2.6.32-504.12.2.el6.x86_64 - 64 Bit

Caller ID is problematic because there are so many places it can go wrong.

If it is set correctly on the phone and the outbound route is set to NOT override the extension, it can be at the extension (probably not in this case, but included for completeness).

If it is set correctly on the outbound route and the trunk is set to NOT override the outbound route, it can be at the Outbound Route.

If it is set correctly on the trunk and the provider allows foreign caller IDs, it can be the trunk definition.

If your provider does not allow foreign caller ID or manages your CID for you (PSTN connections, for example, usually don’t allow for foreign caller ID), it could be at the provider.

I posted a note yesterday about setting the caller ID on a divert call - you could try setting up something like that (run your FMFM through a fake extension that calls “SetCallerID” and push the connection out through a provider that honors foreign caller ID). While it’s kind of a pain in the neck, it ends up being conceptually simple and easy to replicate).

Thanks Dave for that. I was looking for the “lock” icon that appears when you have the force CID on the trunk and I didn’t see it, which is why I assumed the trunk had “Allow Any CID”. But it didn’t. I fixed that. However, this lead me to realize another problem:

Follow Me/Find Me is using the wrong trunk. I checked the asterisk logs and when I do an internal call to an extension that has the follow me feature, it uses the correct trunk for that extension group. When I dial from the outside and the call gets routed to that extension that has the follow me feature, it uses a different trunk. How can you force the use of a specific trunk with Find Me/Follow Me?

Reread this, It actually answers your question.

the first question is whether you have one or two trunks and if those trunks are with the same provider?

assuming you are using the same provider for both trunks, make things easy for yourself. be sure to set the proper outbound cid in all extensions, setup a single outbound route for all allowed dial patterns that does not override the extension settings, and make sure that the trunk (you only really need one trunk but it may require some work on the trunk provider side to route all numbers into one trunk) does not override the extension setting either.
the create two additional outbound routes, one that requires a 9 and one that requires an 8 and set the proper caller id in each trunk. the set all fmfm to use either the 9 or 8 prefix.

Thanks for the reply Bob and @cynjut . I have two trunks and they are with different providers. I guess I could create an outbound route that matches a prefix and have FMFM dial the number with a prefix so it is forced to use that route. However, shouldn’t this get done “automatically” given that the extension is specified to use a specific route? (using Extension Route Module). Why does FMFM override that and dials the first trunk that it matches?

someone from sangoma is better placed to answer that question, however experience has taught us that the fmfm does not follow the rules of a “normal” extension and that if you want a specific caller id or if you want the original caller id passed, you have to do it through outbound routes/trunks