“FreePBX 16 + Asterisk 19 + nginx + Ubuntu Core 22” → Ring Groups - all ok
Installed on “Ubuntu Core 24 + nginx + Asterisk 22 + FreePBX 17” → Ring Groups - not ok (Declined). 2 users and 1 group, default (zero) settings - no trunks, incoming, etc.
Installed on “Ubuntu Core 24 + nginx + Asterisk 22 + FreePBX 17”. We upload backups from “FreePBX 16 + Asterisk 19 + nginx + Ubuntu Core 22” in “Ubuntu Core 24 + nginx + Asterisk 22 + FreePBX 17” → Ring Groups - not ok.
Installed on “Debian 12 + install script github” → Ring Groups - all ok. 2 users and 1 group, default (zero) settings - no trunks, incoming, etc. Making a backup of the settings. We upload them to “Ubuntu Core 24 + nginx + Asterisk 22 + FreePBX 17” → Ring Groups - not ok.
In “extensions_additional.conf” on test server:
exten => 1010,1(cid),Gosub(macro-user-callerid,s,1())
exten => 1010,n,Set(__MCGROUP=${EXTEN})
exten => 1010,n,Gosub(macro-blkvm-setifempty,s,1())
exten => 1010,n,GotoIf($["${GOSUB_RETVAL}" = "TRUE"]?skipov)
exten => 1010,n,Gosub(macro-blkvm-set,s,1(reset))
exten => 1010,n,Set(__NODEST=)
exten => 1010,n(skipov),Set(RRNODEST=${NODEST})
exten => 1010,n(skipvmblk),Set(__NODEST=${EXTEN})
exten => 1010,n,GosubIf($[${DB_EXISTS(RINGGROUP/1010/changecid)} = 1 & "${DB(RINGGROUP/1010/changecid)}" != "default" & "${DB(RINGGROUP/1010/changecid)}" != ""]?sub-rgsetcid,s,1())
exten => 1010,n,Set(__CWIGNORE=TRUE)
exten => 1010,n,Set(__PICKUPMARK=${EXTEN})
exten => 1010,n,Gosub(sub-record-check,s,1(rg,1010,dontcare))
exten => 1010,n,Set(RingGroupMethod=hunt)
exten => 1010,n,Set(__ALT_CONFIRM_MSG=${IF($[${LEN(${VQ_CONFIRMMSG})}>1]?${IF($["${VQ_CONFIRMMSG}"!="0"]?${VQ_CONFIRMMSG}: )}:)})
exten => 1010,n,GotoIf($[$["${RG_CONFIRM}"="1"] | $[${LEN(${VQ_CONFIRMMSG})}>1]]?RGVQANNOUNCE:NORGVQANNOUNCE)
exten => 1010,n(RGVQANNOUNCE),Gosub(macro-dial-confirm,s,1(20,${DIAL_OPTIONS}Q(NO_ANSWER),310,1010))
exten => 1010,n,Goto(gosubhere)
exten => 1010,n(NORGVQANNOUNCE),Gosub(macro-dial,s,1(20,${DIAL_OPTIONS}Q(NO_ANSWER),310))
exten => 1010,n(gosubhere),Gosub(sub-record-cancel,s,1())
exten => 1010,n,Set(RingGroupMethod=)
exten => 1010,n,GotoIf($["foo${RRNODEST}" != "foo"]?nodest)
exten => 1010,n,Set(__CWIGNORE=)
exten => 1010,n,Set(__PICKUPMARK=)
exten => 1010,n,Set(__NODEST=)
exten => 1010,n,Gosub(macro-blkvm-clr,s,1())
exten => 1010,n,Goto(app-blackhole,hangup,1)
exten => 1010,n(nodest),Noop(SKIPPING DEST, CALL CAME FROM Q/RG: ${RRNODEST})
exten => h,1,Gosub(macro-hangupcall,s,1())
;--== end of [ext-group] ==--;
Call 309 to group
root@ats:~# asterisk -rvvvvvv
Asterisk 22.7.0, Copyright (C) 1999 - 2025, Sangoma Technologies Corporation and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 22.7.0 currently running on ats (pid = 944)
== Using SIP RTP Audio TOS bits 184
== Using SIP RTP Audio TOS bits 184 in TCLASS field.
== Using SIP RTP Audio CoS mark 5
== Using SIP RTP Video TOS bits 136
== Using SIP RTP Video TOS bits 136 in TCLASS field.
== Using SIP RTP Video CoS mark 4
-- Executing [1010@from-internal:1] Gosub("PJSIP/309-00000004", "macro-user-callerid,s,1()") in new stack
-- Executing [s@macro-user-callerid:1] Set("PJSIP/309-00000004", "TOUCH_MONITOR=1770636258.26") in new stack
-- Executing [s@macro-user-callerid:2] Set("PJSIP/309-00000004", "CHANCONTEXT=") in new stack
-- Executing [s@macro-user-callerid:3] Set("PJSIP/309-00000004", "CHANCONTEXT=") in new stack
-- Executing [s@macro-user-callerid:4] Set("PJSIP/309-00000004", "CHANEXTENCONTEXT=309-00000004") in new stack
-- Executing [s@macro-user-callerid:5] Set("PJSIP/309-00000004", "CHANEXTEN=309-00000004") in new stack
-- Executing [s@macro-user-callerid:6] Set("PJSIP/309-00000004", "CALLERID(number)=309") in new stack
-- Executing [s@macro-user-callerid:7] Set("PJSIP/309-00000004", "AMPUSER=309") in new stack
-- Executing [s@macro-user-callerid:8] Set("PJSIP/309-00000004", "HOTDESCKCHAN=309-00000004") in new stack
-- Executing [s@macro-user-callerid:9] Set("PJSIP/309-00000004", "HOTDESKEXTEN=309") in new stack
-- Executing [s@macro-user-callerid:10] Set("PJSIP/309-00000004", "HOTDESKCALL=0") in new stack
-- Executing [s@macro-user-callerid:11] ExecIf("PJSIP/309-00000004", "0?Set(HOTDESKCALL=1)") in new stack
-- Executing [s@macro-user-callerid:12] ExecIf("PJSIP/309-00000004", "0?Set(CALLERID(name)=)") in new stack
-- Executing [s@macro-user-callerid:13] GotoIf("PJSIP/309-00000004", "0?report") in new stack
-- Executing [s@macro-user-callerid:14] ExecIf("PJSIP/309-00000004", "1?Set(REALCALLERIDNUM=309)") in new stack
-- Executing [s@macro-user-callerid:15] Set("PJSIP/309-00000004", "AMPUSER=309") in new stack
-- Executing [s@macro-user-callerid:16] GotoIf("PJSIP/309-00000004", "0?limit") in new stack
-- Executing [s@macro-user-callerid:17] Set("PJSIP/309-00000004", "AMPUSERCIDNAME=external") in new stack
-- Executing [s@macro-user-callerid:18] ExecIf("PJSIP/309-00000004", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
-- Executing [s@macro-user-callerid:19] GotoIf("PJSIP/309-00000004", "0?report") in new stack
-- Executing [s@macro-user-callerid:20] Set("PJSIP/309-00000004", "AMPUSERCID=309") in new stack
-- Executing [s@macro-user-callerid:21] Set("PJSIP/309-00000004", "__DIAL_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-user-callerid:22] Set("PJSIP/309-00000004", "CALLERID(all)="external" <309>") in new stack
-- Executing [s@macro-user-callerid:23] ExecIf("PJSIP/309-00000004", "0?Set(CUSDIAL=)") in new stack
-- Executing [s@macro-user-callerid:24] ExecIf("PJSIP/309-00000004", "0?Set(CALLERID(all)="external" <309>)") in new stack
-- Executing [s@macro-user-callerid:25] GotoIf("PJSIP/309-00000004", "0?limit") in new stack
-- Executing [s@macro-user-callerid:26] ExecIf("PJSIP/309-00000004", "0?Set(GROUP(concurrency_limit)=309)") in new stack
-- Executing [s@macro-user-callerid:27] ExecIf("PJSIP/309-00000004", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:28] NoOp("PJSIP/309-00000004", "Macro depricated!! To keep the same line numbers") in new stack
-- Executing [s@macro-user-callerid:29] NoOp("PJSIP/309-00000004", "Macro depricated !! To keep the same line numbers") in new stack
-- Executing [s@macro-user-callerid:30] GotoIf("PJSIP/309-00000004", "0?continue") in new stack
-- Executing [s@macro-user-callerid:31] ExecIf("PJSIP/309-00000004", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
-- Executing [s@macro-user-callerid:32] Set("PJSIP/309-00000004", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:33] GotoIf("PJSIP/309-00000004", "1?continue") in new stack
-- Goto (macro-user-callerid,s,49)
-- Executing [s@macro-user-callerid:49] Set("PJSIP/309-00000004", "CALLERID(number)=309") in new stack
-- Executing [s@macro-user-callerid:50] Set("PJSIP/309-00000004", "CALLERID(name)=external") in new stack
-- Executing [s@macro-user-callerid:51] GotoIf("PJSIP/309-00000004", "0?cnum") in new stack
-- Executing [s@macro-user-callerid:52] Set("PJSIP/309-00000004", "__MCNUM=309") in new stack
-- Executing [s@macro-user-callerid:53] Set("PJSIP/309-00000004", "__MCNAME=external") in new stack
-- Executing [s@macro-user-callerid:54] Set("PJSIP/309-00000004", "__MCEXTEN=309") in new stack
-- Executing [s@macro-user-callerid:55] Set("PJSIP/309-00000004", "__MCORGCHAN=PJSIP/309-00000004") in new stack
-- Executing [s@macro-user-callerid:56] Set("PJSIP/309-00000004", "CDR(cnam)=external") in new stack
-- Executing [s@macro-user-callerid:57] Set("PJSIP/309-00000004", "CDR(cnum)=309") in new stack
-- Executing [s@macro-user-callerid:58] Return("PJSIP/309-00000004", "") in new stack
-- Executing [1010@from-internal:2] Set("PJSIP/309-00000004", "__MCGROUP=1010") in new stack
-- Executing [1010@from-internal:3] Gosub("PJSIP/309-00000004", "macro-blkvm-setifempty,s,1()") in new stack
-- Executing [s@macro-blkvm-setifempty:1] GotoIf("PJSIP/309-00000004", "1?init") in new stack
-- Goto (macro-blkvm-setifempty,s,4)
-- Executing [s@macro-blkvm-setifempty:4] Set("PJSIP/309-00000004", "__BLKVM_CHANNEL=PJSIP/309-00000004") in new stack
-- Executing [s@macro-blkvm-setifempty:5] Set("PJSIP/309-00000004", "SHARED(BLKVM,PJSIP/309-00000004)=TRUE") in new stack
-- Executing [s@macro-blkvm-setifempty:6] Set("PJSIP/309-00000004", "GOSUB_RETVAL=TRUE") in new stack
-- Executing [s@macro-blkvm-setifempty:7] Return("PJSIP/309-00000004", "TRUE") in new stack
-- Executing [1010@from-internal:4] GotoIf("PJSIP/309-00000004", "1?skipov") in new stack
-- Goto (from-internal,1010,7)
-- Executing [1010@from-internal:7] Set("PJSIP/309-00000004", "RRNODEST=") in new stack
-- Executing [1010@from-internal:8] Set("PJSIP/309-00000004", "__NODEST=1010") in new stack
-- Executing [1010@from-internal:9] GosubIf("PJSIP/309-00000004", "0?sub-rgsetcid,s,1()") in new stack
-- Executing [1010@from-internal:10] Set("PJSIP/309-00000004", "__CWIGNORE=TRUE") in new stack
-- Executing [1010@from-internal:11] Set("PJSIP/309-00000004", "__PICKUPMARK=1010") in new stack
-- Executing [1010@from-internal:12] Gosub("PJSIP/309-00000004", "sub-record-check,s,1(rg,1010,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("PJSIP/309-00000004", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("PJSIP/309-00000004", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("PJSIP/309-00000004", "NOW=1770636258") in new stack
-- Executing [s@sub-record-check:4] Set("PJSIP/309-00000004", "__DAY=09") in new stack
-- Executing [s@sub-record-check:5] Set("PJSIP/309-00000004", "__MONTH=02") in new stack
-- Executing [s@sub-record-check:6] Set("PJSIP/309-00000004", "__YEAR=2026") in new stack
-- Executing [s@sub-record-check:7] Set("PJSIP/309-00000004", "__TIMESTR=20260209-142418") in new stack
-- Executing [s@sub-record-check:8] Set("PJSIP/309-00000004", "__FROMEXTEN=309") in new stack
-- Executing [s@sub-record-check:9] Set("PJSIP/309-00000004", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("PJSIP/309-00000004", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("PJSIP/309-00000004", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("PJSIP/309-00000004", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("PJSIP/309-00000004", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("PJSIP/309-00000004", "2?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("PJSIP/309-00000004", "0?sub-record-check,rg,1") in new stack
-- Executing [s@sub-record-check:18] NoOp("PJSIP/309-00000004", "Generic rg Recording Check - 309 1010") in new stack
-- Executing [s@sub-record-check:19] Gosub("PJSIP/309-00000004", "recordcheck,1(dontcare,rg,1010)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("PJSIP/309-00000004", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("PJSIP/309-00000004", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("PJSIP/309-00000004", "") in new stack
-- Executing [s@sub-record-check:20] Return("PJSIP/309-00000004", "") in new stack
-- Executing [1010@from-internal:13] Set("PJSIP/309-00000004", "RingGroupMethod=hunt") in new stack
-- Executing [1010@from-internal:14] Set("PJSIP/309-00000004", "__ALT_CONFIRM_MSG=") in new stack
-- Executing [1010@from-internal:15] GotoIf("PJSIP/309-00000004", "0?RGVQANNOUNCE:NORGVQANNOUNCE") in new stack
-- Goto (from-internal,1010,18)
-- Executing [1010@from-internal:18] Gosub("PJSIP/309-00000004", "macro-dial,s,1(20,HhTtrQ(NO_ANSWER),310)") in new stack
-- Executing [s@macro-dial:1] NoOp("PJSIP/309-00000004", "Blind Transfer: , Attended Transfer: , User: 309, Alert Info: ") in new stack
-- Executing [s@macro-dial:2] ExecIf("PJSIP/309-00000004", "1?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial:3] ExecIf("PJSIP/309-00000004", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial:4] ExecIf("PJSIP/309-00000004", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial:5] ExecIf("PJSIP/309-00000004", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [s@macro-dial:6] AGI("PJSIP/309-00000004", "agi://127.0.0.1/dialparties.agi") in new stack
[2026-02-09 14:24:18] WARNING[9588][C-00000004]: res_agi.c:2203 handle_connection: Connecting to '127.0.0.1:4573' failed for url 'agi://127.0.0.1/dialparties.agi': Connection refused
[2026-02-09 14:24:18] WARNING[9588][C-00000004]: res_agi.c:2263 launch_netscript: Couldn't connect to any host. FastAGI failed.
-- Executing [s@macro-dial:7] GotoIf("PJSIP/309-00000004", "0?") in new stack
-- Executing [s@macro-dial:8] NoOp("PJSIP/309-00000004", "Returned from dialparties with no extensions to call and DIALSTATUS: ") in new stack
-- Executing [s@macro-dial:9] Return("PJSIP/309-00000004", "") in new stack
-- Executing [1010@from-internal:19] Gosub("PJSIP/309-00000004", "sub-record-cancel,s,1()") in new stack
-- Executing [s@sub-record-cancel:1] Return("PJSIP/309-00000004", "") in new stack
-- Executing [1010@from-internal:20] Set("PJSIP/309-00000004", "RingGroupMethod=") in new stack
-- Executing [1010@from-internal:21] GotoIf("PJSIP/309-00000004", "0?nodest") in new stack
-- Executing [1010@from-internal:22] Set("PJSIP/309-00000004", "__CWIGNORE=") in new stack
-- Executing [1010@from-internal:23] Set("PJSIP/309-00000004", "__PICKUPMARK=") in new stack
-- Executing [1010@from-internal:24] Set("PJSIP/309-00000004", "__NODEST=") in new stack
-- Executing [1010@from-internal:25] Gosub("PJSIP/309-00000004", "macro-blkvm-clr,s,1()") in new stack
-- Executing [s@macro-blkvm-clr:1] Set("PJSIP/309-00000004", "SHARED(BLKVM,PJSIP/309-00000004)=") in new stack
-- Executing [s@macro-blkvm-clr:2] Set("PJSIP/309-00000004", "GOSUB_RETVAL=") in new stack
-- Executing [s@macro-blkvm-clr:3] Return("PJSIP/309-00000004", "") in new stack
-- Executing [1010@from-internal:26] Goto("PJSIP/309-00000004", "app-blackhole,hangup,1") in new stack
-- Goto (app-blackhole,hangup,1)
-- Executing [hangup@app-blackhole:1] NoOp("PJSIP/309-00000004", "Blackhole Dest: Hangup") in new stack
-- Executing [hangup@app-blackhole:2] Hangup("PJSIP/309-00000004", "") in new stack
== Spawn extension (app-blackhole, hangup, 2) exited non-zero on 'PJSIP/309-00000004'
ats*CLI>
Why is that?