Missed Calls after Announcement

Hey all!

Happy new Year!

I have a specific problem that I can’t seem to solve.
I want to use the app-missedcall-hangup macro again after the announcement has finished.

To explain, I have a setup where missed calls go to an announcement that says no one could pick up the call. I would like to be able to run the macro again from the missed call module after the announcement has finished so that I can send the missed call messages.

My thought was to maybe add a GosubIf($[“${CHANNEL(UNIQUEID)}”!=“${MASTER_CHANNEL(CHANNEL(UNIQUEID))}”]?app-missedcall-hangup) to the crm-hangup-custom. The concern is just that I’m fairly new to Asterisk and FreePBX and I don’t really see the scope of this change or if there is a simpler solution.

I greatly appreciate your help or tipps!

Are you sending the caller to the announcement via the Alternate Destination?

We’re handling it through the “Destination if no answer” option where we select the announcement.

Did you see my answer?

You need to show some logs of this happening…

END OF "********* Missed Call Summary *********"
<PJSIP/133-00002d3f>AGI Tx >> HANGUP
    -- Executing [133@app-missedcall-hangup:8] Return("PJSIP/133-00002d3f", "") in new stack
  == Spawn extension (from-internal, 10, 1) exited non-zero on 'PJSIP/133-00002d3f'
    -- PJSIP/133-00002d3f Internal Gosub(app-missedcall-hangup,133,1) complete GOSUB_RETVAL=
    -- PJSIP/133-00002d3f Internal Gosub(crm-hangup,s,1) start
    -- Executing [s@crm-hangup:1] NoOp("PJSIP/133-00002d3f", "Sending Hangup to CRM") in new stack
    -- Executing [s@crm-hangup:2] NoOp("PJSIP/133-00002d3f", "HANGUP CAUSE: 0") in new stack
    -- Executing [s@crm-hangup:3] ExecIf("PJSIP/133-00002d3f", "0?Set(__CRM_VOICEMAIL=)") in new stack
    -- Executing [s@crm-hangup:4] NoOp("PJSIP/133-00002d3f", "MASTER CHANNEL: 1737451043.27804 = 1737451003.27796") in new stack
    -- Executing [s@crm-hangup:5] GotoIf("PJSIP/133-00002d3f", "1?return") in new stack
    -- Goto (crm-hangup,s,8)
    -- Executing [s@crm-hangup:8] Return("PJSIP/133-00002d3f", "") in new stack
  == Spawn extension (from-internal, 10, 1) exited non-zero on 'PJSIP/133-00002d3f'
    -- PJSIP/133-00002d3f Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
    -- Executing [s@macro-dial:31] Set("PJSIP/green-00002d3b", "DIALSTATUS=NOANSWER") in new stack
    -- Executing [s@macro-dial:32] GosubIf("PJSIP/green-00002d3b", "0?NOANSWER,1()") in new stack
    -- Executing [s@macro-dial:33] NoOp("PJSIP/green-00002d3b", "Returning since nobody answered") in new stack
    -- Executing [s@macro-dial:34] MacroExit("PJSIP/green-00002d3b", "") in new stack
    -- Executing [10@ext-group:20] Gosub("PJSIP/green-00002d3b", "sub-record-cancel,s,1()") in new stack
    -- Executing [s@sub-record-cancel:1] Return("PJSIP/green-00002d3b", "") in new stack
    -- Executing [10@ext-group:21] Set("PJSIP/green-00002d3b", "RingGroupMethod=") in new stack
    -- Executing [10@ext-group:22] GotoIf("PJSIP/green-00002d3b", "0?nodest") in new stack
    -- Executing [10@ext-group:23] Set("PJSIP/green-00002d3b", "__NODEST=") in new stack
    -- Executing [10@ext-group:24] Macro("PJSIP/green-00002d3b", "blkvm-clr,") in new stack
    -- Executing [s@macro-blkvm-clr:1] Set("PJSIP/green-00002d3b", "SHARED(BLKVM,PJSIP/green-00002d3b)=") in new stack
    -- Executing [s@macro-blkvm-clr:2] Set("PJSIP/green-00002d3b", "GOSUB_RETVAL=") in new stack
    -- Executing [s@macro-blkvm-clr:3] MacroExit("PJSIP/green-00002d3b", "") in new stack
    -- Executing [10@ext-group:25] Goto("PJSIP/green-00002d3b", "app-announcement-14,s,1") in new stack
    -- Goto (app-announcement-14,s,1)
    -- Executing [s@app-announcement-14:1] GotoIf("PJSIP/green-00002d3b", "1?begin") in new stack
    -- Goto (app-announcement-14,s,4)
    -- Executing [s@app-announcement-14:4] NoOp("PJSIP/green-00002d3b", "Playing announcement busy_test") in new stack
    -- Executing [s@app-announcement-14:5] Playback("PJSIP/green-00002d3b", "custom/busy_2,noanswer") in new stack
    -- <PJSIP/green-00002d3b> Playing 'custom/busy_2.slin' (language 'de_DE')
    -- Started music on hold, class 'default', on channel 'Local/139@from-queue-00001fb0;2'
  == Spawn extension (app-announcement-14, s, 5) exited non-zero on 'PJSIP/green-00002d3b'
    -- PJSIP/green-00002d3b Internal Gosub(crm-hangup,s,1) start
    -- Executing [s@crm-hangup:1] NoOp("PJSIP/green-00002d3b", "Sending Hangup to CRM") in new stack
    -- Executing [s@crm-hangup:2] NoOp("PJSIP/green-00002d3b", "HANGUP CAUSE: 21") in new stack
    -- Executing [s@crm-hangup:3] ExecIf("PJSIP/green-00002d3b", "0?Set(__CRM_VOICEMAIL=)") in new stack
    -- Executing [s@crm-hangup:4] NoOp("PJSIP/green-00002d3b", "MASTER CHANNEL: 1737451003.27796 = 1737451003.27796") in new stack
    -- Executing [s@crm-hangup:5] GotoIf("PJSIP/green-00002d3b", "0?return") in new stack
    -- Executing [s@crm-hangup:6] Set("PJSIP/green-00002d3b", "__CRM_HANGUP=1") in new stack
    -- Executing [s@crm-hangup:7] AGI("PJSIP/green-00002d3b", "agi://127.0.0.1/sangomacrm.agi") in new stack
AGI Tx >> agi_network: yes
AGI Tx >> agi_network_script: sangomacrm.agi
<PJSIP/green-00002d3b>AGI Tx >> agi_request: agi://127.0.0.1/sangomacrm.agi
<PJSIP/green-00002d3b>AGI Tx >> agi_channel: PJSIP/green-00002d3b
<PJSIP/green-00002d3b>AGI Tx >> agi_language: de_DE
<PJSIP/green-00002d3b>AGI Tx >> agi_type: PJSIP
<PJSIP/green-00002d3b>AGI Tx >> agi_uniqueid: 1737451003.27796
<PJSIP/green-00002d3b>AGI Tx >> agi_version: 20.5.2
<PJSIP/green-00002d3b>AGI Tx >> agi_callerid: PhoneNumber
<PJSIP/green-00002d3b>AGI Tx >> agi_calleridname: CallerIDName
<PJSIP/green-00002d3b>AGI Tx >> agi_callingpres: 0
<PJSIP/green-00002d3b>AGI Tx >> agi_callingani2: 0
<PJSIP/green-00002d3b>AGI Tx >> agi_callington: 0
<PJSIP/green-00002d3b>AGI Tx >> agi_callingtns: 0
<PJSIP/green-00002d3b>AGI Tx >> agi_dnid: CallDestinationNumber
<PJSIP/green-00002d3b>AGI Tx >> agi_rdnis: unknown
<PJSIP/green-00002d3b>AGI Tx >> agi_context: crm-hangup
<PJSIP/green-00002d3b>AGI Tx >> agi_extension: s
<PJSIP/green-00002d3b>AGI Tx >> agi_priority: 7
<PJSIP/green-00002d3b>AGI Tx >> agi_enhanced: 0.0
<PJSIP/green-00002d3b>AGI Tx >> agi_accountcode:
<PJSIP/green-00002d3b>AGI Tx >> agi_threadid: 140110613423872
<PJSIP/green-00002d3b>AGI Tx >>
    -- <PJSIP/green-00002d3b>AGI Script agi://127.0.0.1/sangomacrm.agi completed, returning 0
<PJSIP/green-00002d3b>AGI Tx >> HANGUP
    -- Executing [s@crm-hangup:8] Return("PJSIP/green-00002d3b", "") in new stack
  == Spawn extension (app-announcement-14, s, 5) exited non-zero on 'PJSIP/green-00002d3b'
    -- PJSIP/green-00002d3b Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=

This is the part where it goes into an announcement until the manual hang up. I am trying to create another missed call if the caller hangs up during the announcement or goes into terminate state.
Please let me know if you need additional information.