Follow Me to External Mobile Phone

So I’ve stumbled across a few threads along these lines, and think I have things configured correctly on my FreePBX 13 server. Yet only internal callers get forwarded out to the desk user’s cell phone. I opened a ticket with my SIP trunking provider to see if there is still some restriction on their end.

Here is a screen shot of the Follow Me configuration. I would assume the External CID Configuration → Dialed Number would mean that we would be sending the SIP trunking provider one of our assigned DID’s.

Here are a couple of other files, a SIP debug of where the external caller doesn’t follow out to the cell phone, along with an Asterisk debug of where I tried to set the No Answer Destination to be a Misc. Destination (the cell phone number).

SIP Debug = SIP Debug - Pastebin.com
Asterisk Log = Asterisk Log - Pastebin.com

I must be missing something simple, but I’m hitting a brick wall. Any suggestions?

I heard back from the SIP trunking provider after they placed some test calls. They didn’t see the Follow Me coming back out to the defined cell phone. So I don’t think the calls are even reaching them, taking CID restrictions off the plate…

And here is what the dial-plan for this FMFM entry looks like:

root@localhost:~ $ asterisk -x “dialplan show FMGL-16142665582#@from-internal
[ Included context ‘findmefollow-ringallv2’ created by ‘pbx_config’ ]
‘_FMGL-.’ => 1. Set(CDR_PROP(disable)=true) [pbx_config]
2. Set(DIALNUMS=${IF($[${LEN(${FMGL_DIAL})}>0]?${FMGL_DIAL}:${EXTEN:5})}) [pbx_config]
3. Set(ENDLOOP=$[${EPOCH} + ${FMPRERING} + 2]) [pbx_config]
[start] 4. GotoIf($["${SHARED(FM_DND,${FMUNIQUE})}" = “DND”]?dodnd) [pbx_config]
5. Wait(1) [pbx_config]
6. GotoIf($[${EPOCH} < ${ENDLOOP}]?start) [pbx_config]
7. Set(SHARED(FM_DND,${FMUNIQUE})=) [pbx_config]
[dodial] 8. Macro(dial,${FMGRPTIME},${DIAL_OPTIONS},${DIALNUMS}) [pbx_config]
9. Hangup() [pbx_config]
[dodnd] 20. Set(SHARED(FM_DND,${FMUNIQUE})=) [pbx_config]
21. GotoIf($["${FMPRIME}" = “FALSE”]?dodial) [pbx_config]
22. Hangup() [pbx_config]

-= 1 extension (12 priorities) in 1 context. =-

At a quick glace at the log it looks like your call is not leaving your server at all and almost looks like it’s trying to establish the call locally. I didn’t have a whole lot of time to look but wanted to respond because after looking at the log it was really bugging me.

[2020-06-26 14:53:03] VERBOSE[8051][C-0000b626] pbx.c: Executing [16142665582@from-internal:5] Playback("Local/16142665582@from-internal-00000091;2", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack

It appears that the external call didn’t match any Outbound Routes. Are you using anything that could restrict a call to 16142665582 such as Class of Service, Extension Routing, or routes with extension numbers in the CallerID field?

The 1614 initial part of the number is our local area code. We have a our SIP service provider as the sole outbound trunks. And all internal extensions can dial locally just fine using that pattern. This 513 extension can dial the 1614… cell phone number just fine from the desk phone.

Just seems weird in that the configuration looks like it should work. So I’m at a loss as to the root cause. It’s like FreePBX doesn’t even try to dial out. Something is stopping it from doing so. Perhaps the Asterisk log contains the obvious explanation, but I’m blind to it :frowning:

…forgot to point out that this all works fine if I dial x513 for another internal extension. The calls ring into 513 and then follow along to the cell phone. It’s only if I dial the DID number from the outside where the calls just hit x513 and send over to voice mail. The system doesn’t even attempt to ring out.

I am running Asterisk 13.18.4. Not a new revision I know. Although we’ve run into no significant bugs so far that point to the need to update. Other than perhaps this new bug if that’s really what it is. :slight_smile:

Okay, I ran across this post --> FollowMe issues with external calls. And followed two suggestions. I create the Follow Me to provide an outbound CID of our main DID number that’s associated with the trunk. And I also create an outbound route for caller ID NXXNXXXXXX since it’s not an internal extension outdialing.

I made a test call it appears in the SIP provider’s CDR logs that the inbound call from my own cell phone delivered internally, and then the logs show that there was an outbound call to the Follow Me cell phone. All I heard was 5 seconds of dead air before the call was disconnected. Not sure if that was just the user hanging up on me. :slight_smile:

Here’s the PasteBin on the Asterisk logs for the test call --> https://pastebin.com/5TRDGCnn.

When you call the FM from outside, the number of the original caller is used to match your Outbound Routes. I suspect that they are somehow restricted. Are you using any module whose purpose is restricting outbound calling? Or, does the route for 1614 have a CallerID in the match pattern?

I added an outbound route pattern to match Caller ID NXXNXXXXXX so that it allowed to dial 16142665582. My external test call indeed forwarded out to the user’s cell phone. I see the call in our SIP trunking provider’s CDR logs. I was connected and just heard a few seconds of dead air. No one saying hello or any background noise. Then the call disconnected. At least the call went out through the system this time!

Here is where I added the dial pattern, which presumably should allow any NXXNXXXXXX caller ID to outdial full 10-digit phone numbers though the trunk. And I saw it go out to my SIP trunking provider. I’m going to call it a night and regroup later…lol.

For the most part, VSP’s will not understand 7 digit dialing, (they often support more than one area-code and don’t know which one you are calling from)

Always ‘normalize’ both inbound and outbound numbers to suit your callers and your trunking

In most major US cities, you will need to dial 1NXXNXXXXXX, even if you are call the guy next-door, In more rustic locales NXXNXXXXXX is used for for in-state and 1NXXNXXXXXX for out of state and your local ‘white pages’ directory will so state, BUT your VSP might not accept NXXNXXXXXX so YOU will need to do all ‘normalizations’ , i.e. your clients need to dial exactly as their parents did, they will see on their VOIP phone incoming numbers exactly as what their parents did, and when they ‘redial’ it just works.

It works fine now. I tested it out on my own desk extension doing a FMFM to my cell phone. Calling from an external landline the call came through to my cell and had two-way audio.

To ensure a proper handoff I enabled the Call Confirm option. Once I picked up the call on my cell I hit 1 and the handoff was good.

For anyone else who runs into this scenario, the steps I followed in order to get FMFM to properly function for an external destination were:

  • Set a fixed External CID in FMFM that is one that the SIP trunking provider would expect to be accepting. In case the provider won’t allow spoofed CID’s outside of their assignments.
  • Ensured that there are Outbound Routes for what in essence is an external caller coming in and dialing out through the system (i.e. - NXXNXXXXXX caller ID being able to match dial patterns of 1NXXNXXXXXX and NXXNXXXXXX).
  • Enabled Call Confirm on the FMFM so that the call handoff is absolute.

Thanks all for bearing with me as I struggled with what should be a relatively simple exercise :slight_smile:

P.S. - @dicko: I didn’t share an entire screen shot of my outbound routes, but I automatically prepend a leading 1 for any NXXNXXXXXX pattern being sent by my callers. So that should cover any potential ambiguity.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.