I just tested all this and I found the issue. At every point of the follow-me call that ends as a missed call the missed call notify is fired off.
Here’s one leg of the Local channel having it fired off on:
-- Executing [FMPR@app-missedcall-hangup:1] NoOp("Local/FMPR-101@from-internal-00000006;1", "Dialed: FMPR") in new stack
-- Executing [FMPR@app-missedcall-hangup:2] NoOp("Local/FMPR-101@from-internal-00000006;1", "Caller: 100") in new stack
-- Executing [FMPR@app-missedcall-hangup:3] GotoIf("Local/FMPR-101@from-internal-00000006;1", "0?exit") in new stack
-- Executing [FMPR@app-missedcall-hangup:4] Set("Local/FMPR-101@from-internal-00000006;1", "EXTENNUM=FMPR") in new stack
-- Executing [FMPR@app-missedcall-hangup:5] Set("Local/FMPR-101@from-internal-00000006;1", "FEXTENNUM=FMPR") in new stack
-- Executing [FMPR@app-missedcall-hangup:6] GotoIf("Local/FMPR-101@from-internal-00000006;1", "0?exit") in new stack
-- Executing [FMPR@app-missedcall-hangup:7] AGI("Local/FMPR-101@from-internal-00000006;1", "agi://127.0.0.1/missedcallnotify.php,FMPR,,FMPR,0,,Local/FMPR-101@from-internal-00000006;1,,,,TRUE") in new stack
Problem here is the extension is set to FMPR so that’s not going to match an extension.
Here’s the second leg of the local channel having it fired off on:
-- Executing [Flowroute@app-missedcall-hangup:1] NoOp("PJSIP/Flowroute-00000022", "Dialed: Flowroute") in new stack
-- Executing [Flowroute@app-missedcall-hangup:2] NoOp("PJSIP/Flowroute-00000022", "Caller: 100") in new stack
-- Executing [Flowroute@app-missedcall-hangup:3] GotoIf("PJSIP/Flowroute-00000022", "0?exit") in new stack
-- Executing [Flowroute@app-missedcall-hangup:4] Set("PJSIP/Flowroute-00000022", "EXTENNUM=Flowroute") in new stack
-- Executing [Flowroute@app-missedcall-hangup:5] Set("PJSIP/Flowroute-00000022", "FEXTENNUM=Flowroute") in new stack
-- Executing [Flowroute@app-missedcall-hangup:6] GotoIf("PJSIP/Flowroute-00000022", "0?exit") in new stack
-- Executing [Flowroute@app-missedcall-hangup:7] AGI("PJSIP/Flowroute-00000022", "agi://127.0.0.1/missedcallnotify.php,Flowroute,,Flowroute,0,,PJSIP/Flowroute-00000022,,,,TRUE") in new stack
-- <PJSIP/Flowroute-00000022>AGI Script agi://127.0.0.1/missedcallnotify.php completed, returning 0
Again not going to match against the trunk name of Flowroute.
Executing [1313NXXXXXX@from@app-missedcall-hangup:1] NoOp("Local/1313NXXXXXX@from-internal-00000008;1", "Dialed: 1313NXXXXXX@from") in new stack
-- Executing [1313NXXXXXX@from@app-missedcall-hangup:2] NoOp("Local/1313NXXXXXX@from-internal-00000008;1", "Caller: 100") in new stack
-- Executing [1313NXXXXXX@from@app-missedcall-hangup:3] GotoIf("Local/1313NXXXXXX@from-internal-00000008;1", "0?exit") in new stack
-- Executing [1313NXXXXXX@from@app-missedcall-hangup:4] Set("Local/1313NXXXXXX@from-internal-00000008;1", "EXTENNUM=1313NXXXXXX") in new stack
-- Executing [1313NXXXXXX@from@app-missedcall-hangup:5] Set("Local/1313NXXXXXX@from-internal-00000008;1", "FEXTENNUM=13136NXXXXXX@from") in new stack
-- Executing [1313NXXXXXX@from@app-missedcall-hangup:6] GotoIf("Local/1313NXXXXXX@from-internal-00000008;1", "0?exit") in new stack
-- Executing [13136517001@from@app-missedcall-hangup:7] AGI("Local/1313NXXXXXX@from-internal-00000008;1", "agi://127.0.0.1/missedcallnotify.php,1313NXXXXXX@from,,1313NXXXXXX@from,0,,Local/1313NXXXXXX@from-internal-00000008;1,,,,TRUE") in new stack
-- <Local/1313NXXXXXX@from-internal-00000008;1>AGI Script agi://127.0.0.1/missedcallnotify.php completed, returning 0
Again not going to match on 1313NXXXXXX
Also firing here:
Executing [FMGL@app-missedcall-hangup:1] NoOp("Local/FMGL-1313NXXXXXX#@from-internal-00000007;1", "Dialed: FMGL") in new stack
-- Executing [FMGL@app-missedcall-hangup:2] NoOp("Local/FMGL-1313NXXXXXX#@from-internal-00000007;1", "Caller: 100") in new stack
-- Executing [FMGL@app-missedcall-hangup:3] GotoIf("Local/FMGL-1313NXXXXXX#@from-internal-00000007;1", "0?exit") in new stack
-- Executing [FMGL@app-missedcall-hangup:4] Set("Local/FMGL-1313NXXXXXX#@from-internal-00000007;1", "EXTENNUM=FMGL") in new stack
-- Executing [FMGL@app-missedcall-hangup:5] Set("Local/FMGL-1313NXXXXXX#@from-internal-00000007;1", "FEXTENNUM=FMGL") in new stack
-- Executing [FMGL@app-missedcall-hangup:6] GotoIf("Local/FMGL-1313NXXXXXX#@from-internal-00000007;1", "0?exit") in new stack
-- Executing [FMGL@app-missedcall-hangup:7] AGI("Local/FMGL-1313NXXXXXX#@from-internal-00000007;1", "agi://127.0.0.1/missedcallnotify.php,FMGL,,FMGL,0,,Local/FMGL-1313NXXXXXX#@from-internal-00000007;1,,,,TRUE") in new stack
-- <Local/FMGL-1313NXXXXXX#@from-internal-00000007;1>AGI Script agi://127.0.0.1/missedcallnotify.php completed, returning 0
Not going to match FMGL
And now it is routing back to the extension after follow-me has completed:
Executing [s@macro-hangupcall:1] Set("PJSIP/100-00000021", "__MCVMSTATUS=") in new stack
-- Executing [s@macro-hangupcall:2] Gosub("PJSIP/100-00000021", "app-missedcall-hangup,s,1()") in new stack
-- Executing [s@app-missedcall-hangup:1] NoOp("PJSIP/100-00000021", "Dialed: s") in new stack
-- Executing [s@app-missedcall-hangup:2] NoOp("PJSIP/100-00000021", "Caller: 100") in new stack
-- Executing [s@app-missedcall-hangup:3] GotoIf("PJSIP/100-00000021", "0?exit") in new stack
-- Executing [s@app-missedcall-hangup:4] Set("PJSIP/100-00000021", "EXTENNUM=s") in new stack
-- Executing [s@app-missedcall-hangup:5] Set("PJSIP/100-00000021", "FEXTENNUM=s") in new stack
-- Executing [s@app-missedcall-hangup:6] GotoIf("PJSIP/100-00000021", "0?exit") in new stack
-- Executing [s@app-missedcall-hangup:7] AGI("PJSIP/100-00000021", "agi://127.0.0.1/missedcallnotify.php,s,,s,0,,PJSIP/100-00000021,CHANUNAVAIL,,,TRUE") in new stack
-- <PJSIP/100-00000021>AGI Script agi://127.0.0.1/missedcallnotify.php completed, returning 0
However, even here it is being sent to the s
extension which isn’t going to match.
So basically the app-missedcall-hangup is being called 5 times and not once in the follow me flow or after is there a correct extension being tracked and sent to the module. So it never matches and thus never sends a notice.
This is a bug.