"No translator path exists for channel type Local" when using Find Me/Follow Me

Hoping someone can give me some ideas. I just configured a FreePBX system, and would like to use the FindMe/FollowMe feature to send calls to cell phones. I have done this many times before without issue, but something is not right in this instance. Whenever I call from one extension to another extension that has FM/FM enabled, i get reorder tone, and the error on the console as follows:

-- Executing [s@macro-dial:23] ExecIf("PJSIP/399-0000003a", "0?Set(ds=Local/FMPR-399@from-internal&Local/FMGL-7xxxxxxxx0#@from-internal,27,HhTtrIM(auto-blkvm)g)") in new stack
-- Executing [s@macro-dial:24] Dial("PJSIP/399-0000003a", "Local/FMPR-399@from-internal&Local/FMGL-7xxxxxxxx0#@from-internal,27,HhTtrIM(auto-blkvm)b(func-apply-sipheaders^s^1),") in new stack

[2021-03-28 22:41:35] ERROR[15773][C-00000030]: translate.c:1396 ast_translator_best_choice: Cannot determine best translation path since one capability supports no formats
[2021-03-28 22:41:35] WARNING[15773][C-00000030]: core_local.c:992 local_request_with_stream_topology: No translator path exists for channel type Local (native (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|testlaw|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)) to (nothing)
[2021-03-28 22:41:35] WARNING[15773][C-00000030]: app_dial.c:2596 dial_exec_full: Unable to create channel of type ā€˜Localā€™ (cause 0 - Unknown)
[2021-03-28 22:41:35] ERROR[15773][C-00000030]: translate.c:1396 ast_translator_best_choice: Cannot determine best translation path since one capability supports no formats
[2021-03-28 22:41:35] WARNING[15773][C-00000030]: core_local.c:992 local_request_with_stream_topology: No translator path exists for channel type Local (native (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|testlaw|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)) to (nothing)
[2021-03-28 22:41:35] WARNING[15773][C-00000030]: app_dial.c:2596 dial_exec_full: Unable to create channel of type ā€˜Localā€™ (cause 0 - Unknown)
ā€“ No devices or endpoints to dial (technology/resource)
ā€“ Executing [s@macro-dial:25] Set(ā€œPJSIP/399-0000003aā€, ā€œDIALSTATUS=CHANUNAVAILā€) in new stack
ā€“ Executing [s@macro-dial:26] GosubIf(ā€œPJSIP/399-0000003aā€, ā€œ0?CHANUNAVAIL,1()ā€) in new stack

Reading the other posts about this error has not been very helpful as they all seem to reference SIP or PJSIP channels, and not the Local channel.

Reading the error, it appears that the Local channel does not have a codec assigned so it cannot translate the call???

IF i call into the system from the outside, and dial the extension, then the call follows the followme just fine. The issue is only when making the call from an internal extension.

Any help is much appreciated!

I seem to remember you need a /n appended to a local channel dialstring to keep it in the call path.

aha!

https://wiki.asterisk.org/wiki/display/AST/Local+Channel+Modifiers

I ran into this recently debugging a soft client configured for SRTP. If you disable SRTP on the calling device, does it work then?

We have a new FreePBX installation and FindMeFollowMe does not work with the same error. Weā€™ve also tried a custom extension dialing the outside number, adding the extension in the FindMeFollowMe instead of the outside number didnā€™t work either ā€“ same error as above.

What happens when you try the two suggested solutions?

We donā€™t use SRTP and Iā€™m not sure how you can add a /n on a find follow me that is entered like:

NXXNXXXXXX#

in the find me follow me list.

Actually, according to the logs, FreePBX already uses the /n:

agi://127.0.0.1/dialparties.agi: Built External dialstring component for 7195551212: Local/7195551212@from-internal/n

(numbers have been changed to protect the innocent)

Does anyone have any ideas on this? This is an instance on AWS, so not sure that that would make any difference. The find-me-follow-me is a pretty critical feature and even trying to create a custom extension that dials the outbound number and adding just that extension on the find-me-follow-me breaks with the same error.

There is currently a patch up for Asterisk[1] which would probably resolve the issue. Itā€™s not going to make this current release, but next one so probably 6-8 weeks out. If you provide a SIP trace of the calling party then it may be possible to confirm if the patch would fix it.

[1] https://gerrit.asterisk.org/c/asterisk/+/15808

Iā€™ve built Asterisk from scratch with that patch and can confirm that this fixes the issue. The FMFM is a pretty major feature ā€“ I hope that you might have a patch out sooner than 5 or 6 weeks.

Any way we can get a patch sooner than 6 to 8 weeks?

The patch is in the Asterisk source code for the next set of releases. We donā€™t cut one off releases for stuff like this, and the issue itself has been in the tree for a few months at this point so itā€™s not a recent regression. FreePBX could pull in the fix if they wanted, but I donā€™t manage that project. It also doesnā€™t impact a large number of users. It requires a particular scenario to occur.

The particular scenario is with a device offering multiple audio streams. We accept only one, and the rest are removed/rejected streams.

Do we know what release it was introduced? Could folks just drop back a release or two if they donā€™t need latest for some other reason?

According to the JIRA issue[1]ā€¦ the functionality which introduced this issue was released in 16.12.0, 17.6.0, and 18.0.0 so anything before those would be fine.

[1] https://issues.asterisk.org/jira/browse/ASTERISK-28938

1 Like

Great, thanks!

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