Follow me broken after update to 2.11.0(11.13.1)

It appears every extension in our system with the follow me feature enabled has been affected, while any other extension works without issue. All extensions can make outbound calls, but when calling an extension with Follow Me enabled, we get the unavailable voicemail for that extension.

The problem occurred immediately upon updating from FPBX-2.11.0(11.11.0) to FPBX-2.11.0(11.13.1) using the available scripts. I can see some differences in extensions_additional.conf but am not sure what to make of it. Shooting in the dark, hope someone can point us in the right direction so we have Follow Me working again.

For example, the scripts modified entries for extension 111 as follows (but not limited to):

exten => 111,hint,SIP/111&Custom:DND111,CustomPresence:111 exten => *21111,1,Goto(app-fmf-toggle,*21,1) exten => *21111,hint,Custom:FOLLOWME111 exten => *76111,1,Goto(app-dnd-toggle,*76,1) exten => *76111,hint,Custom:DEVDND111 exten => *85111,1,Macro(parked-call,,default) exten => *85111,hint,Custom:PARK111
from the original:

Modifications and additional lines in [app-fmf-toggle] context:

exten => sstate,1,Set(DEVICES=${DB(AMPUSER/${AMPUSER}/device)}) exten => sstate,n,GotoIf($["${DEVICES}" = "" ]?return) exten => sstate,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)}) exten => sstate,n,Set(ITER=1) exten => sstate,n(begin),Set(DEVICE_STATE(Custom:FOLLOWME${CUT(DEVICES,&,${ITER})})=${STATE}) exten => sstate,n,Set(ITER=$[${ITER} + 1]) exten => sstate,n,GotoIf($[${ITER} <= ${LOOPCNT}]?begin) exten => sstate,n(return),Return()

Previous to this, entries &Custom:DND111 or Custom:FOLLOWME and similar did not exist. Tried uninstalling and reinstalling the follow me module and recreating follow me links, as well related extensions. No go. Obviously some new type of call routing mechanism implemented by FreePBX into Asterisk (or by the Asterisk core itself).

When calling an extension with follow me enabled (dialing 1801 from 1805), dialparties.agi is involved:

-- Executing [[email protected]:12] Return("SIP/1805-0000006f", "") in new stack -- Executing [[email protected]:19] Set("SIP/1805-0000006f", "RingGroupMethod=ringallv2-prim") in new stack -- Executing [[email protected]:20] Set("SIP/1805-0000006f", "_FMGRP=1801") in new stack -- Executing [[email protected]:21] GotoIf("SIP/1805-0000006f", "1?doconfirm") in new stack -- Goto (from-internal,1801,24) -- Executing [[email protected]:24] Macro("SIP/1805-0000006f", "dial-confirm,25,m(Pleasant-Standard),1801-17808687456#,1801") in new stack -- Executing [[email protected]:1] Set("SIP/1805-0000006f", "DB(RG/1801/SIP/1805-0000006f)=RINGING") in new stack -- Executing [[email protected]:2] Set("SIP/1805-0000006f", "__UNIQCHAN=SIP/1805-0000006f") in new stack -- Executing [[email protected]:3] Set("SIP/1805-0000006f", "USE_CONFIRMATION=TRUE") in new stack -- Executing [[email protected]:4] Set("SIP/1805-0000006f", "RINGGROUP_INDEX=1801") in new stack -- Executing [[email protected]:5] Set("SIP/1805-0000006f", "FORCE_CONFIRM=") in new stack -- Executing [[email protected]:6] Set("SIP/1805-0000006f", "ARG4=") in new stack -- Executing [[email protected]:7] Macro("SIP/1805-0000006f", "dial,25,m(Pleasant-Standard),1801-17808687456#") in new stack -- Executing [[email protected]:1] GotoIf("SIP/1805-0000006f", "1?dial") in new stack -- Goto (macro-dial,s,3) -- Executing [[email protected]:3] AGI("SIP/1805-0000006f", "dialparties.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi dialparties.agi: Starting New Dialparties.agi -- <SIP/1805-0000006f>AGI Script dialparties.agi completed, returning 0 -- Executing [[email protected]:4] NoOp("SIP/1805-0000006f", "Returned from dialparties with no extensions to call and DIALSTATUS: ") in new stack -- Executing [[email protected]:8] NoOp("SIP/1805-0000006f", "Deleting: RG/1801/SIP/1805-0000006f RINGING") in new stack -- Executing [[email protected]:9] Set("SIP/1805-0000006f", "USE_CONFIRMATION=") in new stack -- Executing [[email protected]:10] Set("SIP/1805-0000006f", "RINGGROUP_INDEX=") in new stack -- Executing [[email protected]:25] Set("SIP/1805-0000006f", "RingGroupMethod=") in new stack -- Executing [[email protected]:26] GotoIf("SIP/1805-0000006f", "0?nodest") in new stack -- Executing [[email protected]:27] Set("SIP/1805-0000006f", "__NODEST=") in new stack -- Executing [[email protected]:28] Set("SIP/1805-0000006f", "__PICKUPMARK=") in new stack -- Executing [[email protected]:29] Macro("SIP/1805-0000006f", "blkvm-clr,") in new stack -- Executing [[email protected]:1] Set("SIP/1805-0000006f", "SHARED(BLKVM,SIP/1805-0000006f)=") in new stack -- Executing [[email protected]:2] Set("SIP/1805-0000006f", "GOSUB_RETVAL=") in new stack -- Executing [[email protected]:3] MacroExit("SIP/1805-0000006f", "") in new stack -- Executing [[email protected]:30] Set("SIP/1805-0000006f", "DIALSTATUS=NOANSWER") in new stack -- Executing [[email protected]:31] Goto("SIP/1805-0000006f", "ext-local,1801,dest") in new stack -- Goto (ext-local,1801,3) -- Executing [[email protected]:3] Set("SIP/1805-0000006f", "__PICKUPMARK=") in new stack -- Executing [[email protected]:4] Macro("SIP/1805-0000006f", "vm,1801,NOANSWER,") in new stack -- Executing [[email protected]:1] Macro("SIP/1805-0000006f", "user-callerid,SKIPTTL") in new stack -- Executing [[email protected]:1] Set("SIP/1805-0000006f", "TOUCH_MONITOR=1415908629.125") in new stack -- Executing [[email protected]:2] Set("SIP/1805-0000006f", "AMPUSER=1805") in new stack -- Executing [[email protected]:3] GotoIf("SIP/1805-0000006f", "8?report") in new stack -- Goto (macro-user-callerid,s,16) -- Executing [[email protected]:16] GotoIf("SIP/1805-0000006f", "1?continue") in new stack -- Goto (macro-user-callerid,s,30) -- Executing [[email protected]:30] Set("SIP/1805-0000006f", "CALLERID(number)=1805") in new stack
When calling an extension without follow me (dialing 1806 from 1805), the context remains in [macro-dial-one]:

-- Executing [[email protected]:12] Return("SIP/1805-0000005c", "") in new stack -- Executing [[email protected]:7] GotoIf("SIP/1805-0000005c", "1?macrodial") in new stack -- Goto (macro-exten-vm,s,13) -- Executing [[email protected]:13] GosubIf("SIP/1805-0000005c", "0?clrheader,1()") in new stack -- Executing [[email protected]:14] Macro("SIP/1805-0000005c", "dial-one,,,1806") in new stack -- Executing [[email protected]:1] Set("SIP/1805-0000005c", "DEXTEN=1806") in new stack -- Executing [[email protected]:2] Set("SIP/1805-0000005c", "DIALSTATUS_CW=") in new stack -- Executing [[email protected]:3] GosubIf("SIP/1805-0000005c", "0?screen,1()") in new stack -- Executing [[email protected]:4] GosubIf("SIP/1805-0000005c", "0?cf,1()") in new stack -- Executing [[email protected]:5] GotoIf("SIP/1805-0000005c", "1?skip1") in new stack -- Goto (macro-dial-one,s,8) -- Executing [[email protected]:8] GotoIf("SIP/1805-0000005c", "0?nodial") in new stack -- Executing [[email protected]:9] GotoIf("SIP/1805-0000005c", "0?continue") in new stack