Fresh Installation with static official IP-Address. No calls to extension (snom phone). Firewall checked

dear community,

i have now installed a fresh “freepbx” system with a static wan ip-address.
all working fine, firewall are completely open (only the system firewall from freepbx is active (also have tried to disable)).

my phones are in another network connected without vpn to the freepbx machine.

i have now 2 snom phones d785 provisioned via endpoint manager.

now if i call e.g. from outside to a extension what is linked with the snom phone, the call will exited instantly.

i dont have added anything on the local network thins.

local network (where are the snom phones placed) 192.168.0.0/24.

basicaliy i have allways used vpn for this setups, but this time i tried to do without vpn.

can anybody tells me how i can configure the freepbx correctly?

want use 2 or 3 snom phones on different subnets (home office) and the micro sip clients for mobile devices.

what i have done wrong?

if i now call the number linked to the extension, i got this message in asterisk log:


> 0x7f66b0052250 – Probation passed - setting RTP source address to XX.XX.XX.XX:17932
– AGI Script Executing Application: (DIAL) Options: (SIP/0089235413/+4XXXXXXXXX,60,HiL(3600000:61000:30000))
> Limit Data for this call:
> timelimit = 3600000 ms (3600.000 s)
> play_warning = 61000 ms (61.000 s)
> play_to_caller = yes
> play_to_callee = no
> warning_freq = 30000 ms (30.000 s)
> start_sound =
> warning_sound = timeleft
> end_sound =
[2022-02-18 22:11:53] WARNING[20392][C-00001662]: sip/config_parser.c:819 sip_parse_nat_option: nat=yes is deprecated, use nat=force_rport,comedia instead
[2022-02-18 22:11:53] WARNING[20392][C-00001662]: chan_sip.c:31084 build_peer: no value given for outbound proxy on line 0 of sip.conf
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/0089235413/+4XXXXXXXX
– Got SIP response 503 “Service Unavailable” back from XX.XX.XX.XX:5160
– SIP/0089235413-00002c13 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)

but if i call a extension (like playback) all is working fine instantly.

if i infront of the phone and call out, also the call in works without problems. only after a time i have the problems.

thank you so much

It’s being rejected by the SNOM.

503 is a catch-all error so doesn’t provide much information.

Passing a full international PSTN number, as the URI user part, to a phone, is unusual, but I would expect 404 (not found), rather than 503. Why are you doing this, and how?

Also, you seem to have less than the default level of logging for FreePBX (no dialplan). In addition, you will need to issue “sip set debug on” at the CLI to have a chance of working out why the SNOM didn’t like it.

Dear david 55,

sorry i have done the debug from one instance higher, here i have now the debug log direct from freepbx system where the extensions are connected, can you help me with that log?

thank you

Connected to Asterisk 16.20.0 currently running on freepbx (pid = 2231)
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
       > 0x7f5e1c041370 -- Strict RTP learning after remote address set to: XX.XX.XX.XX:18840
    -- Executing [[email protected]:1] Set("SIP/A2B-00000046", "__DIRECTION=INBOUND") in new stack
    -- Executing [[email protected]:2] Gosub("SIP/A2B-00000046", "sub-record-check,s,1(in,+4XXXXXXXXXXXX,dontcare)") in new stack
    -- Executing [[email protected]:1] GotoIf("SIP/A2B-00000046", "0?initialized") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "__REC_STATUS=INITIALIZED") in new stack
    -- Executing [[email protected]:3] Set("SIP/A2B-00000046", "NOW=1645273985") in new stack
    -- Executing [[email protected]:4] Set("SIP/A2B-00000046", "__DAY=19") in new stack
    -- Executing [[email protected]:5] Set("SIP/A2B-00000046", "__MONTH=02") in new stack
    -- Executing [[email protected]:6] Set("SIP/A2B-00000046", "__YEAR=2022") in new stack
    -- Executing [[email protected]:7] Set("SIP/A2B-00000046", "__TIMESTR=20220219-123305") in new stack
    -- Executing [[email protected]:8] Set("SIP/A2B-00000046", "__FROMEXTEN=unknown") in new stack
    -- Executing [[email protected]:9] Set("SIP/A2B-00000046", "__MON_FMT=wav") in new stack
    -- Executing [[email protected]:10] NoOp("SIP/A2B-00000046", "Recordings initialized") in new stack
    -- Executing [[email protected]:11] ExecIf("SIP/A2B-00000046", "0?Set(ARG3=dontcare)") in new stack
    -- Executing [[email protected]:12] Set("SIP/A2B-00000046", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [[email protected]:13] ExecIf("SIP/A2B-00000046", "0?Set(REC_STATUS=NO)") in new stack
    -- Executing [[email protected]:14] GotoIf("SIP/A2B-00000046", "2?checkaction") in new stack
    -- Goto (sub-record-check,s,17)
    -- Executing [[email protected]:17] GotoIf("SIP/A2B-00000046", "1?sub-record-check,in,1") in new stack
    -- Goto (sub-record-check,in,1)
    -- Executing [[email protected]:1] NoOp("SIP/A2B-00000046", "Inbound Recording Check to +4XXXXXXXXXXXX") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "FROMEXTEN=unknown") in new stack
    -- Executing [[email protected]:3] ExecIf("SIP/A2B-00000046", "13?Set(FROMEXTEN=+4XXXXXXXXXXX)") in new stack
    -- Executing [[email protected]:4] Gosub("SIP/A2B-00000046", "recordcheck,1(dontcare,in,+4XXXXXXXXXXXX)") in new stack
    -- Executing [[email protected]:1] NoOp("SIP/A2B-00000046", "Starting recording check against dontcare") in new stack
    -- Executing [[email protected]:2] Goto("SIP/A2B-00000046", "dontcare") in new stack
    -- Goto (sub-record-check,recordcheck,3)
    -- Executing [[email protected]:3] Return("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:5] Return("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:3] Set("SIP/A2B-00000046", "CHANNEL(tonezone)=de") in new stack
    -- Executing [[email protected]:4] Set("SIP/A2B-00000046", "__FROM_DID=+4XXXXXXXXXXXX") in new stack
    -- Executing [[email protected]:5] Set("SIP/A2B-00000046", "returnhere=1") in new stack
    -- Executing [[email protected]:6] Gosub("SIP/A2B-00000046", "app-blacklist-check,s,1()") in new stack
    -- Executing [[email protected]:1] GotoIf("SIP/A2B-00000046", "0?blacklisted") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "CALLED_BLACKLIST=1") in new stack
    -- Executing [[email protected]:3] Return("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:7] Set("SIP/A2B-00000046", "CDR(did)=+4XXXXXXXXXXXX") in new stack
    -- Executing [[email protected]:8] GotoIf("SIP/A2B-00000046", "0?") in new stack
    -- Executing [[email protected]:9] ExecIf("SIP/A2B-00000046", "0 ?Set(CALLERID(name)=+4XXXXXXXXXXX)") in new stack
    -- Executing [[email protected]:10] Set("SIP/A2B-00000046", "__MOHCLASS=") in new stack
    -- Executing [[email protected]:11] Set("SIP/A2B-00000046", "__REVERSAL_REJECT=FALSE") in new stack
    -- Executing [[email protected]:12] GotoIf("SIP/A2B-00000046", "1?post-reverse-charge") in new stack
    -- Goto (from-trunk,+4XXXXXXXXXXXX,14)
    -- Executing [[email protected]:14] NoOp("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:15] Set("SIP/A2B-00000046", "__CALLINGNAMEPRES_SV=allowed_not_screened") in new stack
    -- Executing [[email protected]:16] Set("SIP/A2B-00000046", "__CALLINGNUMPRES_SV=allowed_not_screened") in new stack
    -- Executing [[email protected]:17] Set("SIP/A2B-00000046", "CALLERID(name-pres)=allowed_not_screened") in new stack
    -- Executing [[email protected]:18] Set("SIP/A2B-00000046", "CALLERID(num-pres)=allowed_not_screened") in new stack
    -- Executing [[email protected]:19] NoOp("SIP/A2B-00000046", "CallerID Entry Point") in new stack
    -- Executing [[email protected]:20] Set("SIP/A2B-00000046", "__CRM_DIRECTION=INBOUND") in new stack
    -- Executing [[email protected]:21] Set("SIP/A2B-00000046", "__CRM_SOURCE=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:22] Set("SIP/A2B-00000046", "__CRM_LINKEDID=1645273985.213") in new stack
    -- Executing [[email protected]:23] AGI("SIP/A2B-00000046", "agi://127.0.0.1/sangomacrm.agi,true") in new stack
    -- <SIP/A2B-00000046>AGI Script agi://127.0.0.1/sangomacrm.agi completed, returning 0
    -- Executing [[email protected]:24] ExecIf("SIP/A2B-00000046", "1?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)") in new stack
    -- Executing [[email protected]:25] Goto("SIP/A2B-00000046", "from-did-direct,10,1") in new stack
    -- Goto (from-did-direct,10,1)
    -- Executing [[email protected]:1] GotoIf("SIP/A2B-00000046", "1?ext-local,10,1:followme-check,10,1") in new stack
    -- Goto (ext-local,10,1)
    -- Executing [[email protected]:1] Set("SIP/A2B-00000046", "__RINGTIMER=15") in new stack
    -- Executing [[email protected]:2] ExecIf("SIP/A2B-00000046", "0?Set(__CWIGNORE=)") in new stack
    -- Executing [[email protected]:3] Macro("SIP/A2B-00000046", "exten-vm,novm,10,0,0,0") in new stack
    -- Executing [[email protected]:1] Macro("SIP/A2B-00000046", "user-callerid,") in new stack
    -- Executing [[email protected]:1] Set("SIP/A2B-00000046", "TOUCH_MONITOR=1645273985.213") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "CHANCONTEXT=") in new stack
    -- Executing [[email protected]:3] Set("SIP/A2B-00000046", "CHANCONTEXT=") in new stack
    -- Executing [[email protected]:4] Set("SIP/A2B-00000046", "CHANEXTENCONTEXT=A2B-00000046") in new stack
    -- Executing [[email protected]:5] Set("SIP/A2B-00000046", "CHANEXTEN=A2B-00000046") in new stack
    -- Executing [[email protected]:6] Set("SIP/A2B-00000046", "CALLERID(number)=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:7] Set("SIP/A2B-00000046", "AMPUSER=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:8] Set("SIP/A2B-00000046", "HOTDESCKCHAN=A2B-00000046") in new stack
    -- Executing [[email protected]:9] Set("SIP/A2B-00000046", "HOTDESKEXTEN=A2B") in new stack
    -- Executing [[email protected]:10] Set("SIP/A2B-00000046", "HOTDESKCALL=0") in new stack
    -- Executing [[email protected]:11] ExecIf("SIP/A2B-00000046", "0?Set(HOTDESKCALL=1)") in new stack
    -- Executing [[email protected]:12] ExecIf("SIP/A2B-00000046", "0?Set(CALLERID(name)=)") in new stack
    -- Executing [[email protected]:13] GotoIf("SIP/A2B-00000046", "0?report") in new stack
    -- Executing [[email protected]:14] ExecIf("SIP/A2B-00000046", "1?Set(REALCALLERIDNUM=+4XXXXXXXXXXX)") in new stack
    -- Executing [[email protected]:15] Set("SIP/A2B-00000046", "AMPUSER=") in new stack
    -- Executing [[email protected]:16] GotoIf("SIP/A2B-00000046", "0?limit") in new stack
    -- Executing [[email protected]:17] Set("SIP/A2B-00000046", "AMPUSERCIDNAME=") in new stack
    -- Executing [[email protected]:18] ExecIf("SIP/A2B-00000046", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
    -- Executing [[email protected]:19] GotoIf("SIP/A2B-00000046", "1?report") in new stack
    -- Goto (macro-user-callerid,s,28)
    -- Executing [[email protected]:28] NoOp("SIP/A2B-00000046", "Macro Depth is 2") in new stack
    -- Executing [[email protected]:29] GotoIf("SIP/A2B-00000046", "1?report2:macroerror") in new stack
    -- Goto (macro-user-callerid,s,30)
    -- Executing [[email protected]:30] GotoIf("SIP/A2B-00000046", "0?continue") in new stack
    -- Executing [[email protected]:31] ExecIf("SIP/A2B-00000046", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
    -- Executing [[email protected]:32] Set("SIP/A2B-00000046", "__TTL=64") in new stack
    -- Executing [[email protected]:33] GotoIf("SIP/A2B-00000046", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,49)
    -- Executing [[email protected]:49] Set("SIP/A2B-00000046", "CALLERID(number)=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:50] Set("SIP/A2B-00000046", "CALLERID(name)=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:51] GotoIf("SIP/A2B-00000046", "0?cnum") in new stack
    -- Executing [[email protected]:52] Set("SIP/A2B-00000046", "CDR(cnam)=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:53] Set("SIP/A2B-00000046", "CDR(cnum)=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:54] Set("SIP/A2B-00000046", "CHANNEL(language)=de_DE") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "RingGroupMethod=none") in new stack
    -- Executing [[email protected]:3] Set("SIP/A2B-00000046", "__EXTTOCALL=10") in new stack
    -- Executing [[email protected]:4] Set("SIP/A2B-00000046", "__PICKUPMARK=10") in new stack
    -- Executing [[email protected]:5] Set("SIP/A2B-00000046", "RT=") in new stack
    -- Executing [[email protected]:6] ExecIf("SIP/A2B-00000046", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
    -- Executing [[email protected]:7] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
    -- Executing [[email protected]:8] ExecIf("SIP/A2B-00000046", "0?Gosub(ext-intercom,*8010,1())") in new stack
    -- Executing [[email protected]:9] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
    -- Executing [[email protected]:10] ExecIf("SIP/A2B-00000046", "0?ChanSpy(PJSIP/10,q)") in new stack
    -- Executing [[email protected]:11] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:12] ExecIf("SIP/A2B-00000046", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:13] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:14] ExecIf("SIP/A2B-00000046", "0?Gosub(ext-intercom,*8010,1())") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:15] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:16] ExecIf("SIP/A2B-00000046", "0?ChanSpy(PJSIP/10,q)") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:17] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:18] ExecIf("SIP/A2B-00000046", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
    -- Executing [[email protected]:19] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:20] ExecIf("SIP/A2B-00000046", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:21] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
[2022-02-19 12:33:06] ERROR[9185][C-0000007a]: res_pjsip_header_funcs.c:622 func_read_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:22] Gosub("SIP/A2B-00000046", "sub-record-check,s,1(exten,10,dontcare)") in new stack
    -- Executing [[email protected]:1] GotoIf("SIP/A2B-00000046", "13?initialized") in new stack
    -- Goto (sub-record-check,s,10)
    -- Executing [[email protected]:10] NoOp("SIP/A2B-00000046", "Recordings initialized") in new stack
    -- Executing [[email protected]:11] ExecIf("SIP/A2B-00000046", "0?Set(ARG3=dontcare)") in new stack
    -- Executing [[email protected]:12] Set("SIP/A2B-00000046", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [[email protected]:13] ExecIf("SIP/A2B-00000046", "0?Set(REC_STATUS=NO)") in new stack
    -- Executing [[email protected]:14] GotoIf("SIP/A2B-00000046", "5?checkaction") in new stack
    -- Goto (sub-record-check,s,17)
    -- Executing [[email protected]:17] GotoIf("SIP/A2B-00000046", "1?sub-record-check,exten,1") in new stack
    -- Goto (sub-record-check,exten,1)
    -- Executing [[email protected]:1] NoOp("SIP/A2B-00000046", "Exten Recording Check between +4XXXXXXXXXXX and 10") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "CALLTYPE=external") in new stack
    -- Executing [[email protected]:3] ExecIf("SIP/A2B-00000046", "0?Set(CALLTYPE=)") in new stack
    -- Executing [[email protected]:4] Set("SIP/A2B-00000046", "CALLEE=dontcare") in new stack
    -- Executing [[email protected]:5] ExecIf("SIP/A2B-00000046", "0?Set(CALLEE=dontcare)") in new stack
    -- Executing [[email protected]:6] GotoIf("SIP/A2B-00000046", "1?callee") in new stack
    -- Goto (sub-record-check,exten,11)
    -- Executing [[email protected]:11] Gosub("SIP/A2B-00000046", "recordcheck,1(dontcare,external,10)") in new stack
    -- Executing [[email protected]:1] NoOp("SIP/A2B-00000046", "Starting recording check against dontcare") in new stack
    -- Executing [[email protected]:2] Goto("SIP/A2B-00000046", "dontcare") in new stack
    -- Goto (sub-record-check,recordcheck,3)
    -- Executing [[email protected]:3] Return("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:12] Return("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:23] GotoIf("SIP/A2B-00000046", "1?macrodial") in new stack
    -- Goto (macro-exten-vm,s,29)
    -- Executing [[email protected]:29] GosubIf("SIP/A2B-00000046", "0?clrheader,1()") in new stack
    -- Executing [[email protected]:30] Macro("SIP/A2B-00000046", "dial-one,,HhTtr,10") in new stack
    -- Executing [[email protected]:1] Set("SIP/A2B-00000046", "DEXTEN=10") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "__CRM_SOURCE=+4XXXXXXXXXXX") in new stack
    -- Executing [[email protected]:3] ExecIf("SIP/A2B-00000046", "0?Set(__EXTTOCALL=10)") in new stack
    -- Executing [[email protected]:4] Set("SIP/A2B-00000046", "DIALSTATUS_CW=") in new stack
    -- Executing [[email protected]:5] GosubIf("SIP/A2B-00000046", "0?screen,1()") in new stack
    -- Executing [[email protected]:6] GosubIf("SIP/A2B-00000046", "0?cf,1()") in new stack
    -- Executing [[email protected]:7] GotoIf("SIP/A2B-00000046", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,10)
    -- Executing [[email protected]:10] GotoIf("SIP/A2B-00000046", "0?nodial") in new stack
    -- Executing [[email protected]:11] GotoIf("SIP/A2B-00000046", "0?continue") in new stack
    -- Executing [[email protected]:12] Set("SIP/A2B-00000046", "EXTHASCW=") in new stack
    -- Executing [[email protected]:13] GotoIf("SIP/A2B-00000046", "1?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,14)
    -- Executing [[email protected]:14] GotoIf("SIP/A2B-00000046", "0?docfu:skip3") in new stack
    -- Goto (macro-dial-one,s,18)
    -- Executing [[email protected]:18] GotoIf("SIP/A2B-00000046", "1?next2:continue") in new stack
    -- Goto (macro-dial-one,s,19)
    -- Executing [[email protected]:19] GotoIf("SIP/A2B-00000046", "1?continue") in new stack
    -- Goto (macro-dial-one,s,27)
    -- Executing [[email protected]:27] GotoIf("SIP/A2B-00000046", "0?nodial") in new stack
    -- Executing [[email protected]:28] GosubIf("SIP/A2B-00000046", "1?dstring,1():dlocal,1()") in new stack
    -- Executing [[email protected]:1] Set("SIP/A2B-00000046", "DSTRING=") in new stack
    -- Executing [[email protected]:2] Set("SIP/A2B-00000046", "DEVICES=10") in new stack
    -- Executing [[email protected]:3] ExecIf("SIP/A2B-00000046", "0?Return()") in new stack
    -- Executing [[email protected]:4] ExecIf("SIP/A2B-00000046", "0?Set(DEVICES=0)") in new stack
    -- Executing [[email protected]:5] Set("SIP/A2B-00000046", "LOOPCNT=1") in new stack
    -- Executing [[email protected]:6] Set("SIP/A2B-00000046", "ITER=1") in new stack
    -- Executing [[email protected]:7] Set("SIP/A2B-00000046", "THISDIAL=PJSIP/10") in new stack
    -- Executing [[email protected]:8] GotoIf("SIP/A2B-00000046", "0?docheck") in new stack
    -- Executing [[email protected]:9] NoOp("SIP/A2B-00000046", "Debug: Found PJSIP Destination PJSIP/10") in new stack
    -- Executing [[email protected]:10] GotoIf("SIP/A2B-00000046", "0?doset") in new stack
    -- Executing [[email protected]:11] NoOp("SIP/A2B-00000046", "Debug: Updating PJSIP Destination with PJSIP_DIAL_CONTACTS") in new stack
    -- Executing [[email protected]:12] Set("SIP/A2B-00000046", "THISDIAL=") in new stack
    -- Executing [[email protected]:13] ExecIf("SIP/A2B-00000046", "1?Set(DIALSTATUS=CHANUNAVAIL)") in new stack
    -- Executing [[email protected]:14] GotoIf("SIP/A2B-00000046", "1?skipset") in new stack
    -- Goto (macro-dial-one,dstring,16)
    -- Executing [[email protected]:16] Set("SIP/A2B-00000046", "ITER=2") in new stack
    -- Executing [[email protected]:17] GotoIf("SIP/A2B-00000046", "0?begin") in new stack
    -- Executing [[email protected]:18] ExecIf("SIP/A2B-00000046", "1?Return()") in new stack
    -- Executing [[email protected]:29] GotoIf("SIP/A2B-00000046", "1?nodial") in new stack
    -- Goto (macro-dial-one,s,61)
    -- Executing [[email protected]:61] NoOp("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:62] ExecIf("SIP/A2B-00000046", "0?Set(DIALSTATUS=NOANSWER)") in new stack
    -- Executing [[email protected]:63] NoOp("SIP/A2B-00000046", "Returned from dial-one with nothing to call and DIALSTATUS: CHANUNAVAIL") in new stack
    -- Executing [[email protected]:64] MacroExit("SIP/A2B-00000046", "") in new stack
    -- Executing [[email protected]:31] Set("SIP/A2B-00000046", "SV_DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [[email protected]:32] GosubIf("SIP/A2B-00000046", "0?docfu,1()") in new stack
    -- Executing [[email protected]:33] GosubIf("SIP/A2B-00000046", "0?docfb,1()") in new stack
    -- Executing [[email protected]:34] Set("SIP/A2B-00000046", "DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [[email protected]:35] ExecIf("SIP/A2B-00000046", "0?MacroExit()") in new stack
    -- Executing [[email protected]:36] GotoIf("SIP/A2B-00000046", "1?s-CHANUNAVAIL,1") in new stack
    -- Goto (macro-exten-vm,s-CHANUNAVAIL,1)
    -- Executing [[email protected]:1] GotoIf("SIP/A2B-00000046", "0?exit,1") in new stack
    -- Executing [[email protected]:2] PlayTones("SIP/A2B-00000046", "congestion") in new stack
    -- Executing [[email protected]:3] Congestion("SIP/A2B-00000046", "10") in new stack
  == Spawn extension (macro-exten-vm, s-CHANUNAVAIL, 3) exited non-zero on 'SIP/A2B-00000046' in macro 'exten-vm'
  == Spawn extension (ext-local, 10, 3) exited non-zero on 'SIP/A2B-00000046'
    -- Executing [[email protected]:1] Macro("SIP/A2B-00000046", "hangupcall,") in new stack
    -- Executing [[email protected]:1] GotoIf("SIP/A2B-00000046", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [[email protected]:3] ExecIf("SIP/A2B-00000046", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [[email protected]:4] NoOp("SIP/A2B-00000046", " montior file= ") in new stack
    -- Executing [[email protected]:5] GotoIf("SIP/A2B-00000046", "1?skipagi") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [[email protected]:7] Hangup("SIP/A2B-00000046", "") in new stack
  == Spawn extension (macro-hangupcall, s, 7) exited non-zero on 'SIP/A2B-00000046' in macro 'hangupcall'
  == Spawn extension (ext-local, h, 1) exited non-zero on 'SIP/A2B-00000046'
    -- SIP/A2B-00000046 Internal Gosub(crm-hangup,s,1) start
    -- Executing [[email protected]:1] NoOp("SIP/A2B-00000046", "Sending Hangup to CRM") in new stack
    -- Executing [[email protected]:2] NoOp("SIP/A2B-00000046", "HANGUP CAUSE: 34") in new stack
    -- Executing [[email protected]:3] ExecIf("SIP/A2B-00000046", "0?Set(__CRM_VOICEMAIL=)") in new stack
    -- Executing [[email protected]:4] NoOp("SIP/A2B-00000046", "MASTER CHANNEL: 1645273985.213 = 1645273985.213") in new stack
    -- Executing [[email protected]:5] GotoIf("SIP/A2B-00000046", "0?return") in new stack
    -- Executing [[email protected]:6] Set("SIP/A2B-00000046", "__CRM_HANGUP=1") in new stack
    -- Executing [[email protected]:7] AGI("SIP/A2B-00000046", "agi://127.0.0.1/sangomacrm.agi") in new stack
    -- <SIP/A2B-00000046>AGI Script agi://127.0.0.1/sangomacrm.agi completed, returning 0
    -- Executing [[email protected]:8] Return("SIP/A2B-00000046", "") in new stack
  == Spawn extension (ext-local, h, 1) exited non-zero on 'SIP/A2B-00000046'
    -- SIP/A2B-00000046 Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=

Network config:

Outgoing also all Ports open vom local Firewall.
Incoming no NAT-Port set. Is this needed? Currently only the phone connecting to to freepbx outside.

And here also the “Settings for the Phone coming from endpoint manager”
config.tgz (11.2 KB)

This is a different failure mode from the 503 at the start of the thread. In this case no phones are registered to the AOR. For this one, you need to look at why the phone isn’t registering, or why the registration is failing.

Okay thank you. How i can debug that?

The 2nd Snom Phone is a “M300” Mobile device, and now also its seems gone:

Is there a possibility to also track this? Can i also add the M300 to the automatic provisioning?

now it looks that the extension 20 is gone:

10 Minutes before:
Endpoint: 10/10 Not in use 0 of inf
Endpoint: 20/20 Not in use 0 of inf

Now (1Snom D785 and M300 20 = DECT M300) - about 10 minutes later:
Endpoint: 10/10 Unavailable
Endpoint: 20/20 Unavailable

then sometimes the endpoint 20 is then present, and then gone away.

did i have problems here because the phones not in the same net as the freepbx?

Thank you so much

SNOM M300 is a SIP/DECT gateway.

You are using a deprecated channel driver, and there will be no valid reason for doing this for the SNOM, so you should move to chan_pjsip. However, the CLI commands “sip show peer” and “sip show peers” should tell you whether the SNOM is registered, and “sip set debug on” should show you the protocol exchanges (in the full log) so you an see what is happening during the registrations.

What do you mean by “not in the same net as FreePBX”. Do you really mean sub-network? is there any NAT involved, and where?

Like most internet protocols, SIP has no problem if everything is on the single, global, internet. However, NAT complicates things, outbound NAT at one site combined with inbound NAT at the other complicates things even more, and FreePBX being on disjoint networks would also complicate things more. Not being on the same internet (or one connected via NAT), would, obviously, stop communication entirely.

Generally, if the route from Asterisk crosses a NAT boundary from private to public, you need to configure the public IP address and the local networks. If it crosses a public to private NAT boundary, ideally you need to do the same at the other end, however, FreePBX defaults to enabling some controlled protocol violations that work round a failure of the remote system to do this.

Obviously, if the FreePBX sub-network is physically remote from the SNOM sub-network, it will increase the chances that the network will overload and lose packets.

thank you david, okay i wil try to change that for the dect.

now basically: the main network where my freepbx is placed is a static ip address at a datacenter.
my snom phone is anywhere else on the internet behinde a business static internet access.

is it possible (without vpn) to getting this things working? currently i always have installed a “firewall where the snom phones are placed” and opened a connection via openVPN to my freepbx server. here i dont had this problems.

what is a normal regular fresh setup or how to install it when

  1. freepbx is on a data center hosted
  2. snom devices at another location behind a nat firewall

freepbx + phones in same network? or via vpn accessible?
is there no configuration possible that i can e.g. give my snom phone to a privat internetaccess without setup vpn? that means if i give my configured snom phone to another network that i can plug it there and can normal work with them? without vpn? or is that not possible?

e.g. it can be that the snome phones are on a private internet with dynamic ip address and no open ports.

what did you recommend me? using always openVPN on the phones to the main pbx? or how a normal setup looks like if i only want host freepbx in a datacenter and the snom devices behind nat routers elsewhere?

thank you so much

Using something like OpenVPN is always the preferred solution when there are multiple NATs involved. SIP wasn’t originally designed to cope with NAT, although operating it from behind NAT is very common.

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