ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

FreePBX 16 звонки за NAT

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

FreePBX 16 звонки за NAT

Сообщение gardvor » 27 фев 2023, 18:35

Добрый день

Есть такая ситуация

FreePBX 16, два экстеншна. Один регистрируется из внутренней сети c SIP телефона, второй и внешней через SIP клиента на смартфоне.

Для FreePBX на шлюзе проброшены UDP порты 5060 и 10000-20000.

FireWall FreePBX отключен

Проблема в том что не могу дозвониться с внутреннего экстеншна на внешний. Пакеты на шлюз не уходят.

Регистрация и прозвон с внешнего на внутренний проходят нормально.

Подскажите куда копать
gardvor
 
Сообщений: 4
Зарегистрирован: 27 фев 2023, 18:25

Re: FreePBX 16 звонки за NAT

Сообщение ded » 28 фев 2023, 12:28

Возможно не определены переменные externip или externhost.
Выражение
Проблема в том что не могу дозвониться с внутреннего экстеншна на внешний.
неинформативно, нужно по крайней мере наблюдать что происходит в консоли
asterisk -vvvvvvr
Внутренние номера созданы в chan_sip или chan_pjsip?
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX 16 звонки за NAT

Сообщение gardvor » 28 фев 2023, 18:36

externip определен стоит внешний ip шлюза
externhost не определен

Внутренние адреса созданы в chan_pjsip

Вывод консоли
[Показать] Спойлер:
== Using SIP RTP Audio TOS bits 184
== Using SIP RTP Audio TOS bits 184 in TCLASS field.
== Using SIP RTP Audio CoS mark 5
-- Executing [6665@from-internal:1] GotoIf("PJSIP/6666-00000019", "0?ext-local,*6665,1") in new stack
-- Executing [6665@from-internal:2] GotoIf("PJSIP/6666-00000019", "1?ext-local,6665,1:followme-check,6665,1") in new stack
-- Goto (ext-local,6665,1)
-- Executing [6665@ext-local:1] Set("PJSIP/6666-00000019", "__RINGTIMER=15") in new stack
-- Executing [6665@ext-local:2] ExecIf("PJSIP/6666-00000019", "0?Set(__CWIGNORE=)") in new stack
-- Executing [6665@ext-local:3] Macro("PJSIP/6666-00000019", "exten-vm,novm,6665,0,0,0") in new stack
-- Executing [s@macro-exten-vm:1] Macro("PJSIP/6666-00000019", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("PJSIP/6666-00000019", "TOUCH_MONITOR=1677592907.25") in new stack
-- Executing [s@macro-user-callerid:2] Set("PJSIP/6666-00000019", "CHANCONTEXT=") in new stack
-- Executing [s@macro-user-callerid:3] Progress("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-user-callerid:4] Set("PJSIP/6666-00000019", "CHANCONTEXT=") in new stack
-- Executing [s@macro-user-callerid:5] Set("PJSIP/6666-00000019", "CHANEXTENCONTEXT=6666-00000019") in new stack
-- Executing [s@macro-user-callerid:6] Set("PJSIP/6666-00000019", "CHANEXTEN=6666-00000019") in new stack
-- Executing [s@macro-user-callerid:7] Set("PJSIP/6666-00000019", "CALLERID(number)=6666") in new stack
-- Executing [s@macro-user-callerid:8] Set("PJSIP/6666-00000019", "AMPUSER=6666") in new stack
-- Executing [s@macro-user-callerid:9] Set("PJSIP/6666-00000019", "HOTDESCKCHAN=6666-00000019") in new stack
-- Executing [s@macro-user-callerid:10] Set("PJSIP/6666-00000019", "HOTDESKEXTEN=6666") in new stack
-- Executing [s@macro-user-callerid:11] Set("PJSIP/6666-00000019", "HOTDESKCALL=0") in new stack
-- Executing [s@macro-user-callerid:12] ExecIf("PJSIP/6666-00000019", "0?Set(HOTDESKCALL=1)") in new stack
-- Executing [s@macro-user-callerid:13] ExecIf("PJSIP/6666-00000019", "0?Set(CALLERID(name)=)") in new stack
-- Executing [s@macro-user-callerid:14] GotoIf("PJSIP/6666-00000019", "0?report") in new stack
-- Executing [s@macro-user-callerid:15] ExecIf("PJSIP/6666-00000019", "1?Set(REALCALLERIDNUM=6666)") in new stack
-- Executing [s@macro-user-callerid:16] Set("PJSIP/6666-00000019", "AMPUSER=6666") in new stack
-- Executing [s@macro-user-callerid:17] GotoIf("PJSIP/6666-00000019", "0?limit") in new stack
-- Executing [s@macro-user-callerid:18] Set("PJSIP/6666-00000019", "AMPUSERCIDNAME=sleptsov") in new stack
-- Executing [s@macro-user-callerid:19] ExecIf("PJSIP/6666-00000019", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
-- Executing [s@macro-user-callerid:20] GotoIf("PJSIP/6666-00000019", "0?report") in new stack
-- Executing [s@macro-user-callerid:21] Set("PJSIP/6666-00000019", "AMPUSERCID=6666") in new stack
-- Executing [s@macro-user-callerid:22] Set("PJSIP/6666-00000019", "__DIAL_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-user-callerid:23] Set("PJSIP/6666-00000019", "CALLERID(all)="sleptsov" <6666>") in new stack
-- Executing [s@macro-user-callerid:24] ExecIf("PJSIP/6666-00000019", "0?Set(CUSDIAL=6665)") in new stack
-- Executing [s@macro-user-callerid:25] ExecIf("PJSIP/6666-00000019", "0?Set(CALLERID(all)=6665)") in new stack
-- Executing [s@macro-user-callerid:26] GotoIf("PJSIP/6666-00000019", "0?limit") in new stack
-- Executing [s@macro-user-callerid:27] ExecIf("PJSIP/6666-00000019", "0?Set(GROUP(concurrency_limit)=6666)") in new stack
-- Executing [s@macro-user-callerid:28] ExecIf("PJSIP/6666-00000019", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:29] NoOp("PJSIP/6666-00000019", "Macro Depth is 2") in new stack
-- Executing [s@macro-user-callerid:30] GotoIf("PJSIP/6666-00000019", "1?report2:macroerror") in new stack
-- Goto (macro-user-callerid,s,31)
-- Executing [s@macro-user-callerid:31] GotoIf("PJSIP/6666-00000019", "0?continue") in new stack
-- Executing [s@macro-user-callerid:32] ExecIf("PJSIP/6666-00000019", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
-- Executing [s@macro-user-callerid:33] Set("PJSIP/6666-00000019", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:34] GotoIf("PJSIP/6666-00000019", "1?continue") in new stack
-- Goto (macro-user-callerid,s,50)
-- Executing [s@macro-user-callerid:50] Set("PJSIP/6666-00000019", "CALLERID(number)=6666") in new stack
-- Executing [s@macro-user-callerid:51] Set("PJSIP/6666-00000019", "CALLERID(name)=sleptsov") in new stack
-- Executing [s@macro-user-callerid:52] GotoIf("PJSIP/6666-00000019", "0?cnum") in new stack
-- Executing [s@macro-user-callerid:53] Set("PJSIP/6666-00000019", "CDR(cnam)=sleptsov") in new stack
> 0x7f201400f350 -- Strict RTP learning after remote address set to: 10.100.6.30:12392
-- Executing [s@macro-user-callerid:54] Set("PJSIP/6666-00000019", "CDR(cnum)=6666") in new stack
-- Executing [s@macro-user-callerid:55] Set("PJSIP/6666-00000019", "CHANNEL(language)=en") in new stack
-- Executing [s@macro-exten-vm:2] Set("PJSIP/6666-00000019", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("PJSIP/6666-00000019", "__EXTTOCALL=6665") in new stack
-- Executing [s@macro-exten-vm:4] Set("PJSIP/6666-00000019", "__PICKUPMARK=6665") in new stack
-- Executing [s@macro-exten-vm:5] Set("PJSIP/6666-00000019", "RT=") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:6] ExecIf("PJSIP/6666-00000019", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:7] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:8] ExecIf("PJSIP/6666-00000019", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
-- Executing [s@macro-exten-vm:9] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
-- Executing [s@macro-exten-vm:10] ExecIf("PJSIP/6666-00000019", "0?ChanSpy(PJSIP/6665,q)") in new stack
-- Executing [s@macro-exten-vm:11] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:12] ExecIf("PJSIP/6666-00000019", "0?ChanSpy(PJSIP/6665,q)") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:13] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:14] ExecIf("PJSIP/6666-00000019", "0?Gosub(ext-intercom,*806665,1())") in new stack
-- Executing [s@macro-exten-vm:15] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:16] ExecIf("PJSIP/6666-00000019", "0?Gosub(ext-intercom,*806665,1())") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:17] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
[2023-02-28 17:01:48] ERROR[16982][C-0000000f]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:18] Gosub("PJSIP/6666-00000019", "sub-record-check,s,1(exten,6665,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("PJSIP/6666-00000019", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("PJSIP/6666-00000019", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("PJSIP/6666-00000019", "NOW=1677592908") in new stack
-- Executing [s@sub-record-check:4] Set("PJSIP/6666-00000019", "__DAY=28") in new stack
-- Executing [s@sub-record-check:5] Set("PJSIP/6666-00000019", "__MONTH=02") in new stack
-- Executing [s@sub-record-check:6] Set("PJSIP/6666-00000019", "__YEAR=2023") in new stack
-- Executing [s@sub-record-check:7] Set("PJSIP/6666-00000019", "__TIMESTR=20230228-170148") in new stack
-- Executing [s@sub-record-check:8] Set("PJSIP/6666-00000019", "__FROMEXTEN=6666") in new stack
-- Executing [s@sub-record-check:9] Set("PJSIP/6666-00000019", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("PJSIP/6666-00000019", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("PJSIP/6666-00000019", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("PJSIP/6666-00000019", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("PJSIP/6666-00000019", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("PJSIP/6666-00000019", "5?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("PJSIP/6666-00000019", "1?sub-record-check,exten,1") in new stack
-- Goto (sub-record-check,exten,1)
-- Executing [exten@sub-record-check:1] NoOp("PJSIP/6666-00000019", "Exten Recording Check between 6666 and 6665") in new stack
-- Executing [exten@sub-record-check:2] Set("PJSIP/6666-00000019", "CALLTYPE=internal") in new stack
-- Executing [exten@sub-record-check:3] ExecIf("PJSIP/6666-00000019", "0?Set(CALLTYPE=)") in new stack
-- Executing [exten@sub-record-check:4] Set("PJSIP/6666-00000019", "CALLEE=dontcare") in new stack
-- Executing [exten@sub-record-check:5] ExecIf("PJSIP/6666-00000019", "0?Set(CALLEE=dontcare)") in new stack
-- Executing [exten@sub-record-check:6] GotoIf("PJSIP/6666-00000019", "0?callee") in new stack
-- Executing [exten@sub-record-check:7] GotoIf("PJSIP/6666-00000019", "1?caller") in new stack
-- Goto (sub-record-check,exten,13)
-- Executing [exten@sub-record-check:13] Set("PJSIP/6666-00000019", "RECMODE=dontcare") in new stack
-- Executing [exten@sub-record-check:14] Set("PJSIP/6666-00000019", "CALLERRECMODE=dontcare") in new stack
-- Executing [exten@sub-record-check:15] Set("PJSIP/6666-00000019", "CALEERECMODE=dontcare") in new stack
-- Executing [exten@sub-record-check:16] GotoIf("PJSIP/6666-00000019", "0?processnormal") in new stack
-- Executing [exten@sub-record-check:17] ExecIf("PJSIP/6666-00000019", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:18] ExecIf("PJSIP/6666-00000019", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:19] ExecIf("PJSIP/6666-00000019", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:20] ExecIf("PJSIP/6666-00000019", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:21] ExecIf("PJSIP/6666-00000019", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:22] ExecIf("PJSIP/6666-00000019", "1?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:23] Gosub("PJSIP/6666-00000019", "recordcheck,1(dontcare,internal,6665)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("PJSIP/6666-00000019", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("PJSIP/6666-00000019", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("PJSIP/6666-00000019", "") in new stack
-- Executing [exten@sub-record-check:24] Return("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-exten-vm:19] GotoIf("PJSIP/6666-00000019", "1?macrodial") in new stack
-- Goto (macro-exten-vm,s,25)
-- Executing [s@macro-exten-vm:25] GosubIf("PJSIP/6666-00000019", "0?clrheader,1()") in new stack
-- Executing [s@macro-exten-vm:26] Macro("PJSIP/6666-00000019", "dial-one,,HhTtr,6665") in new stack
-- Executing [s@macro-dial-one:1] Set("PJSIP/6666-00000019", "DEXTEN=6665") in new stack
-- Executing [s@macro-dial-one:2] Set("PJSIP/6666-00000019", "__CRM_SOURCE=6666") in new stack
-- Executing [s@macro-dial-one:3] ExecIf("PJSIP/6666-00000019", "0?Set(__EXTTOCALL=6665)") in new stack
-- Executing [s@macro-dial-one:4] Set("PJSIP/6666-00000019", "DIALSTATUS_CW=") in new stack
-- Executing [s@macro-dial-one:5] GosubIf("PJSIP/6666-00000019", "0?screen,1()") in new stack
-- Executing [s@macro-dial-one:6] GosubIf("PJSIP/6666-00000019", "0?cf,1()") in new stack
-- Executing [s@macro-dial-one:7] GotoIf("PJSIP/6666-00000019", "1?skip1") in new stack
-- Goto (macro-dial-one,s,10)
-- Executing [s@macro-dial-one:10] GotoIf("PJSIP/6666-00000019", "0?nodial") in new stack
-- Executing [s@macro-dial-one:11] GotoIf("PJSIP/6666-00000019", "0?continue") in new stack
-- Executing [s@macro-dial-one:12] Set("PJSIP/6666-00000019", "EXTHASCW=ENABLED") in new stack
-- Executing [s@macro-dial-one:13] GotoIf("PJSIP/6666-00000019", "0?next1:cwinusebusy") in new stack
-- Goto (macro-dial-one,s,25)
-- Executing [s@macro-dial-one:25] GotoIf("PJSIP/6666-00000019", "0?next3:continue") in new stack
-- Goto (macro-dial-one,s,27)
-- Executing [s@macro-dial-one:27] GotoIf("PJSIP/6666-00000019", "0?nodial") in new stack
-- Executing [s@macro-dial-one:28] GosubIf("PJSIP/6666-00000019", "1?dstring,1():dlocal,1()") in new stack
-- Executing [dstring@macro-dial-one:1] Set("PJSIP/6666-00000019", "DSTRING=") in new stack
-- Executing [dstring@macro-dial-one:2] Set("PJSIP/6666-00000019", "DEVICES=6665") in new stack
-- Executing [dstring@macro-dial-one:3] ExecIf("PJSIP/6666-00000019", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:4] ExecIf("PJSIP/6666-00000019", "0?Set(DEVICES=665)") in new stack
-- Executing [dstring@macro-dial-one:5] Set("PJSIP/6666-00000019", "LOOPCNT=1") in new stack
-- Executing [dstring@macro-dial-one:6] Set("PJSIP/6666-00000019", "ITER=1") in new stack
-- Executing [dstring@macro-dial-one:7] Set("PJSIP/6666-00000019", "THISDIAL=PJSIP/6665") in new stack
-- Executing [dstring@macro-dial-one:8] GotoIf("PJSIP/6666-00000019", "0?docheck") in new stack
-- Executing [dstring@macro-dial-one:9] NoOp("PJSIP/6666-00000019", "Debug: Found PJSIP Destination PJSIP/6665") in new stack
-- Executing [dstring@macro-dial-one:10] GotoIf("PJSIP/6666-00000019", "0?doset") in new stack
-- Executing [dstring@macro-dial-one:11] NoOp("PJSIP/6666-00000019", "Debug: Updating PJSIP Destination with PJSIP_DIAL_CONTACTS") in new stack
-- Executing [dstring@macro-dial-one:12] Set("PJSIP/6666-00000019", "THISDIAL=PJSIP/6665/sip:6665@ip_смартфона:52989;rinstance=93a95216dec582f0") in new stack
-- Executing [dstring@macro-dial-one:13] ExecIf("PJSIP/6666-00000019", "0?Set(DIALSTATUS=CHANUNAVAIL)") in new stack
-- Executing [dstring@macro-dial-one:14] GotoIf("PJSIP/6666-00000019", "0?skipset") in new stack
-- Executing [dstring@macro-dial-one:15] Set("PJSIP/6666-00000019", "DSTRING=PJSIP/6665/sip:6665@ip_смартфона:52989;rinstance=93a95216dec582f0&") in new stack
-- Executing [dstring@macro-dial-one:16] Set("PJSIP/6666-00000019", "ITER=2") in new stack
-- Executing [dstring@macro-dial-one:17] GotoIf("PJSIP/6666-00000019", "0?begin") in new stack
-- Executing [dstring@macro-dial-one:18] ExecIf("PJSIP/6666-00000019", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:19] Set("PJSIP/6666-00000019", "DSTRING=PJSIP/6665/sip:6665@ip_смартфона:52989;rinstance=93a95216dec582f0") in new stack
-- Executing [dstring@macro-dial-one:20] Return("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-dial-one:29] GotoIf("PJSIP/6666-00000019", "0?nodial") in new stack
-- Executing [s@macro-dial-one:30] GotoIf("PJSIP/6666-00000019", "0?skiptrace") in new stack
-- Executing [s@macro-dial-one:31] GosubIf("PJSIP/6666-00000019", "1?ctset,1():ctclear,1()") in new stack
-- Executing [ctset@macro-dial-one:1] Set("PJSIP/6666-00000019", "DB(CALLTRACE/6665)=6666") in new stack
-- Executing [ctset@macro-dial-one:2] Return("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-dial-one:32] Set("PJSIP/6666-00000019", "D_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-dial-one:33] GosubIf("PJSIP/6666-00000019", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
-- Executing [s@macro-dial-one:34] NoOp("PJSIP/6666-00000019", "Blind Transfer: , Attended Transfer: , User: 6666, Alert Info: ") in new stack
-- Executing [s@macro-dial-one:35] ExecIf("PJSIP/6666-00000019", "1?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:36] ExecIf("PJSIP/6666-00000019", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:37] ExecIf("PJSIP/6666-00000019", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:38] ExecIf("PJSIP/6666-00000019", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
-- Executing [s@macro-dial-one:39] ExecIf("PJSIP/6666-00000019", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
-- Executing [s@macro-dial-one:40] GosubIf("PJSIP/6666-00000019", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
-- Executing [s@macro-dial-one:41] ExecIf("PJSIP/6666-00000019", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [s@macro-dial-one:42] GosubIf("PJSIP/6666-00000019", "0?qwait,1()") in new stack
-- Executing [s@macro-dial-one:43] Set("PJSIP/6666-00000019", "__CWIGNORE=") in new stack
-- Executing [s@macro-dial-one:44] Set("PJSIP/6666-00000019", "__KEEPCID=TRUE") in new stack
-- Executing [s@macro-dial-one:45] GotoIf("PJSIP/6666-00000019", "0?usegoto,1") in new stack
-- Executing [s@macro-dial-one:46] GotoIf("PJSIP/6666-00000019", "0?godial") in new stack
-- Executing [s@macro-dial-one:47] Gosub("PJSIP/6666-00000019", "sub-presencestate-display,s,1(6665)") in new stack
-- Executing [s@sub-presencestate-display:1] Goto("PJSIP/6666-00000019", "state-available,1") in new stack
-- Goto (sub-presencestate-display,state-available,1)
-- Executing [state-available@sub-presencestate-display:1] Set("PJSIP/6666-00000019", "PRESENCESTATE_DISPLAY=(Доступен)") in new stack
-- Executing [state-available@sub-presencestate-display:2] Return("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-dial-one:48] Set("PJSIP/6666-00000019", "CONNECTEDLINE(name,i)=Sleptsov2 (Доступен)") in new stack
-- Executing [s@macro-dial-one:49] Set("PJSIP/6666-00000019", "CONNECTEDLINE(num)=6665") in new stack
-- Executing [s@macro-dial-one:50] Set("PJSIP/6666-00000019", "D_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-dial-one:51] Macro("PJSIP/6666-00000019", "dialout-one-predial-hook,") in new stack
-- Executing [s@macro-dialout-one-predial-hook:1] MacroExit("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-dial-one:52] ExecIf("PJSIP/6666-00000019", "0?Set(D_OPTIONS=HhtrI)") in new stack
-- Executing [s@macro-dial-one:53] ExecIf("PJSIP/6666-00000019", "0?Set(CWRING=r(callwaiting)):Set(CWRING=)") in new stack
-- Executing [s@macro-dial-one:54] NoOp("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-dial-one:55] ExecIf("PJSIP/6666-00000019", "0?Set(D_OPTIONS=HhTtrg)") in new stack
-- Executing [s@macro-dial-one:56] Dial("PJSIP/6666-00000019", "PJSIP/6665/sip:6665@ip_смартфона:52989;rinstance=93a95216dec582f0,,HhTtrb(func-apply-sipheaders^s^1)") in new stack
-- PJSIP/6665-0000001a Internal Gosub(func-apply-sipheaders,s,1) start
-- Executing [s@func-apply-sipheaders:1] ExecIf("PJSIP/6665-0000001a", "0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)") in new stack
-- Executing [s@func-apply-sipheaders:2] NoOp("PJSIP/6665-0000001a", "Applying SIP Headers to channel PJSIP/6665-0000001a") in new stack
-- Executing [s@func-apply-sipheaders:3] Set("PJSIP/6665-0000001a", "TECH=PJSIP") in new stack
-- Executing [s@func-apply-sipheaders:4] Set("PJSIP/6665-0000001a", "SIPHEADERKEYS=") in new stack
-- Executing [s@func-apply-sipheaders:5] While("PJSIP/6665-0000001a", "0") in new stack
-- Jumping to priority 11
-- Executing [s@func-apply-sipheaders:12] Return("PJSIP/6665-0000001a", "") in new stack
== Spawn extension (from-internal, 6665, 1) exited non-zero on 'PJSIP/6665-0000001a'
-- PJSIP/6665-0000001a Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
-- Called PJSIP/6665/sip:6665@ip_смартфона:52989;rinstance=93a95216dec582f0
> 0x7f201400f350 -- Strict RTP switching to RTP target address 10.100.6.30:12392 as source
== Using SIP RTP Audio TOS bits 184
== Using SIP RTP Audio TOS bits 184 in TCLASS field.
== Using SIP RTP Audio CoS mark 5
> 0x7f201400f350 -- Strict RTP learning complete - Locking on source address 10.100.6.30:12392
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dial-one:57] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
-- Executing [s@macro-dial-one:58] ExecIf("PJSIP/6666-00000019", "0?Set(DIALSTATUS=)") in new stack
-- Executing [s@macro-dial-one:59] GosubIf("PJSIP/6666-00000019", "0?s-CHANUNAVAIL,1()") in new stack
-- Executing [s@macro-dial-one:60] MacroExit("PJSIP/6666-00000019", "") in new stack
-- Executing [s@macro-exten-vm:27] Set("PJSIP/6666-00000019", "SV_DIALSTATUS=CHANUNAVAIL") in new stack
-- Executing [s@macro-exten-vm:28] GosubIf("PJSIP/6666-00000019", "0?docfu,1()") in new stack
-- Executing [s@macro-exten-vm:29] GosubIf("PJSIP/6666-00000019", "0?docfb,1()") in new stack
-- Executing [s@macro-exten-vm:30] Set("PJSIP/6666-00000019", "DIALSTATUS=CHANUNAVAIL") in new stack
-- Executing [s@macro-exten-vm:31] ExecIf("PJSIP/6666-00000019", "0?MacroExit()") in new stack
-- Executing [s@macro-exten-vm:32] GotoIf("PJSIP/6666-00000019", "1?s-CHANUNAVAIL,1") in new stack
-- Goto (macro-exten-vm,s-CHANUNAVAIL,1)
-- Executing [s-CHANUNAVAIL@macro-exten-vm:1] GotoIf("PJSIP/6666-00000019", "0?exit,1") in new stack
-- Executing [s-CHANUNAVAIL@macro-exten-vm:2] PlayTones("PJSIP/6666-00000019", "congestion") in new stack
-- Executing [s-CHANUNAVAIL@macro-exten-vm:3] Congestion("PJSIP/6666-00000019", "10") in new stack
== Spawn extension (macro-exten-vm, s-CHANUNAVAIL, 3) exited non-zero on 'PJSIP/6666-00000019' in macro 'exten-vm'
== Spawn extension (ext-local, 6665, 3) exited non-zero on 'PJSIP/6666-00000019'
-- Executing [h@ext-local:1] Macro("PJSIP/6666-00000019", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("PJSIP/6666-00000019", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("PJSIP/6666-00000019", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("PJSIP/6666-00000019", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'PJSIP/6666-00000019' in macro 'hangupcall'
== Spawn extension (ext-local, h, 1) exited non-zero on 'PJSIP/6666-00000019'


Тут
6666 экстеншн во внутренней сети
6665 экстеншн на sip клиенте на смартфоне

В обратную сторону вызов работает
Вот вывод консоли
[Показать] Спойлер:
== Using SIP RTP Audio TOS bits 184
== Using SIP RTP Audio TOS bits 184 in TCLASS field.
== Using SIP RTP Audio CoS mark 5
-- Executing [6666@from-internal:1] GotoIf("PJSIP/6665-0000001b", "0?ext-local,*6666,1") in new stack
-- Executing [6666@from-internal:2] GotoIf("PJSIP/6665-0000001b", "1?ext-local,6666,1:followme-check,6666,1") in new stack
-- Goto (ext-local,6666,1)
-- Executing [6666@ext-local:1] Set("PJSIP/6665-0000001b", "__RINGTIMER=15") in new stack
-- Executing [6666@ext-local:2] ExecIf("PJSIP/6665-0000001b", "0?Set(__CWIGNORE=)") in new stack
-- Executing [6666@ext-local:3] Macro("PJSIP/6665-0000001b", "exten-vm,6666,6666,0,0,0") in new stack
-- Executing [s@macro-exten-vm:1] Macro("PJSIP/6665-0000001b", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("PJSIP/6665-0000001b", "TOUCH_MONITOR=1677593944.27") in new stack
-- Executing [s@macro-user-callerid:2] Set("PJSIP/6665-0000001b", "CHANCONTEXT=") in new stack
-- Executing [s@macro-user-callerid:3] Progress("PJSIP/6665-0000001b", "") in new stack
-- Executing [s@macro-user-callerid:4] Set("PJSIP/6665-0000001b", "CHANCONTEXT=") in new stack
-- Executing [s@macro-user-callerid:5] Set("PJSIP/6665-0000001b", "CHANEXTENCONTEXT=6665-0000001b") in new stack
-- Executing [s@macro-user-callerid:6] Set("PJSIP/6665-0000001b", "CHANEXTEN=6665-0000001b") in new stack
-- Executing [s@macro-user-callerid:7] Set("PJSIP/6665-0000001b", "CALLERID(number)=6665") in new stack
-- Executing [s@macro-user-callerid:8] Set("PJSIP/6665-0000001b", "AMPUSER=6665") in new stack
-- Executing [s@macro-user-callerid:9] Set("PJSIP/6665-0000001b", "HOTDESCKCHAN=6665-0000001b") in new stack
-- Executing [s@macro-user-callerid:10] Set("PJSIP/6665-0000001b", "HOTDESKEXTEN=6665") in new stack
-- Executing [s@macro-user-callerid:11] Set("PJSIP/6665-0000001b", "HOTDESKCALL=0") in new stack
-- Executing [s@macro-user-callerid:12] ExecIf("PJSIP/6665-0000001b", "0?Set(HOTDESKCALL=1)") in new stack
-- Executing [s@macro-user-callerid:13] ExecIf("PJSIP/6665-0000001b", "0?Set(CALLERID(name)=)") in new stack
-- Executing [s@macro-user-callerid:14] GotoIf("PJSIP/6665-0000001b", "0?report") in new stack
-- Executing [s@macro-user-callerid:15] ExecIf("PJSIP/6665-0000001b", "1?Set(REALCALLERIDNUM=6665)") in new stack
-- Executing [s@macro-user-callerid:16] Set("PJSIP/6665-0000001b", "AMPUSER=6665") in new stack
-- Executing [s@macro-user-callerid:17] GotoIf("PJSIP/6665-0000001b", "0?limit") in new stack
-- Executing [s@macro-user-callerid:18] Set("PJSIP/6665-0000001b", "AMPUSERCIDNAME=Sleptsov2") in new stack
-- Executing [s@macro-user-callerid:19] ExecIf("PJSIP/6665-0000001b", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
-- Executing [s@macro-user-callerid:20] GotoIf("PJSIP/6665-0000001b", "0?report") in new stack
-- Executing [s@macro-user-callerid:21] Set("PJSIP/6665-0000001b", "AMPUSERCID=6665") in new stack
-- Executing [s@macro-user-callerid:22] Set("PJSIP/6665-0000001b", "__DIAL_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-user-callerid:23] Set("PJSIP/6665-0000001b", "CALLERID(all)="Sleptsov2" <6665>") in new stack
-- Executing [s@macro-user-callerid:24] ExecIf("PJSIP/6665-0000001b", "0?Set(CUSDIAL=6666)") in new stack
-- Executing [s@macro-user-callerid:25] ExecIf("PJSIP/6665-0000001b", "0?Set(CALLERID(all)="Sleptsov2" <6665>)") in new stack
-- Executing [s@macro-user-callerid:26] GotoIf("PJSIP/6665-0000001b", "0?limit") in new stack
-- Executing [s@macro-user-callerid:27] ExecIf("PJSIP/6665-0000001b", "0?Set(GROUP(concurrency_limit)=6665)") in new stack
-- Executing [s@macro-user-callerid:28] ExecIf("PJSIP/6665-0000001b", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:29] NoOp("PJSIP/6665-0000001b", "Macro Depth is 2") in new stack
-- Executing [s@macro-user-callerid:30] GotoIf("PJSIP/6665-0000001b", "1?report2:macroerror") in new stack
-- Goto (macro-user-callerid,s,31)
-- Executing [s@macro-user-callerid:31] GotoIf("PJSIP/6665-0000001b", "0?continue") in new stack
-- Executing [s@macro-user-callerid:32] ExecIf("PJSIP/6665-0000001b", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
-- Executing [s@macro-user-callerid:33] Set("PJSIP/6665-0000001b", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:34] GotoIf("PJSIP/6665-0000001b", "1?continue") in new stack
-- Goto (macro-user-callerid,s,50)
-- Executing [s@macro-user-callerid:50] Set("PJSIP/6665-0000001b", "CALLERID(number)=6665") in new stack
-- Executing [s@macro-user-callerid:51] Set("PJSIP/6665-0000001b", "CALLERID(name)=Sleptsov2") in new stack
-- Executing [s@macro-user-callerid:52] GotoIf("PJSIP/6665-0000001b", "0?cnum") in new stack
-- Executing [s@macro-user-callerid:53] Set("PJSIP/6665-0000001b", "CDR(cnam)=Sleptsov2") in new stack
> 0x7f20140151c0 -- Strict RTP learning after remote address set to: 10.100.0.101:14152
-- Executing [s@macro-user-callerid:54] Set("PJSIP/6665-0000001b", "CDR(cnum)=6665") in new stack
-- Executing [s@macro-user-callerid:55] Set("PJSIP/6665-0000001b", "CHANNEL(language)=en") in new stack
-- Executing [s@macro-exten-vm:2] Set("PJSIP/6665-0000001b", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("PJSIP/6665-0000001b", "__EXTTOCALL=6666") in new stack
-- Executing [s@macro-exten-vm:4] Set("PJSIP/6665-0000001b", "__PICKUPMARK=6666") in new stack
-- Executing [s@macro-exten-vm:5] Set("PJSIP/6665-0000001b", "RT=15") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:6] ExecIf("PJSIP/6665-0000001b", "0?Macro(vm,6666,DIRECTDIAL,)") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:7] ExecIf("PJSIP/6665-0000001b", "0?MacroExit()") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:8] ExecIf("PJSIP/6665-0000001b", "0?Macro(vm,6666,DIRECTDIAL,)") in new stack
-- Executing [s@macro-exten-vm:9] ExecIf("PJSIP/6665-0000001b", "0?MacroExit()") in new stack
-- Executing [s@macro-exten-vm:10] ExecIf("PJSIP/6665-0000001b", "0?ChanSpy(PJSIP/6666,q)") in new stack
-- Executing [s@macro-exten-vm:11] ExecIf("PJSIP/6665-0000001b", "0?MacroExit()") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:12] ExecIf("PJSIP/6665-0000001b", "0?ChanSpy(PJSIP/6666,q)") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:13] ExecIf("PJSIP/6665-0000001b", "0?MacroExit()") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:14] ExecIf("PJSIP/6665-0000001b", "0?Gosub(ext-intercom,*806666,1())") in new stack
-- Executing [s@macro-exten-vm:15] ExecIf("PJSIP/6665-0000001b", "0?MacroExit()") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:16] ExecIf("PJSIP/6665-0000001b", "0?Gosub(ext-intercom,*806666,1())") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:608 ast_func_read: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:17] ExecIf("PJSIP/6665-0000001b", "0?MacroExit()") in new stack
[2023-02-28 17:19:04] ERROR[19000][C-00000010]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered
-- Executing [s@macro-exten-vm:18] Gosub("PJSIP/6665-0000001b", "sub-record-check,s,1(exten,6666,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("PJSIP/6665-0000001b", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("PJSIP/6665-0000001b", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("PJSIP/6665-0000001b", "NOW=1677593944") in new stack
-- Executing [s@sub-record-check:4] Set("PJSIP/6665-0000001b", "__DAY=28") in new stack
-- Executing [s@sub-record-check:5] Set("PJSIP/6665-0000001b", "__MONTH=02") in new stack
-- Executing [s@sub-record-check:6] Set("PJSIP/6665-0000001b", "__YEAR=2023") in new stack
-- Executing [s@sub-record-check:7] Set("PJSIP/6665-0000001b", "__TIMESTR=20230228-171904") in new stack
-- Executing [s@sub-record-check:8] Set("PJSIP/6665-0000001b", "__FROMEXTEN=6665") in new stack
-- Executing [s@sub-record-check:9] Set("PJSIP/6665-0000001b", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("PJSIP/6665-0000001b", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("PJSIP/6665-0000001b", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("PJSIP/6665-0000001b", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("PJSIP/6665-0000001b", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("PJSIP/6665-0000001b", "5?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("PJSIP/6665-0000001b", "1?sub-record-check,exten,1") in new stack
-- Goto (sub-record-check,exten,1)
-- Executing [exten@sub-record-check:1] NoOp("PJSIP/6665-0000001b", "Exten Recording Check between 6665 and 6666") in new stack
-- Executing [exten@sub-record-check:2] Set("PJSIP/6665-0000001b", "CALLTYPE=internal") in new stack
-- Executing [exten@sub-record-check:3] ExecIf("PJSIP/6665-0000001b", "0?Set(CALLTYPE=)") in new stack
-- Executing [exten@sub-record-check:4] Set("PJSIP/6665-0000001b", "CALLEE=dontcare") in new stack
-- Executing [exten@sub-record-check:5] ExecIf("PJSIP/6665-0000001b", "0?Set(CALLEE=dontcare)") in new stack
-- Executing [exten@sub-record-check:6] GotoIf("PJSIP/6665-0000001b", "0?callee") in new stack
-- Executing [exten@sub-record-check:7] GotoIf("PJSIP/6665-0000001b", "1?caller") in new stack
-- Goto (sub-record-check,exten,13)
-- Executing [exten@sub-record-check:13] Set("PJSIP/6665-0000001b", "RECMODE=dontcare") in new stack
-- Executing [exten@sub-record-check:14] Set("PJSIP/6665-0000001b", "CALLERRECMODE=dontcare") in new stack
-- Executing [exten@sub-record-check:15] Set("PJSIP/6665-0000001b", "CALEERECMODE=dontcare") in new stack
-- Executing [exten@sub-record-check:16] GotoIf("PJSIP/6665-0000001b", "0?processnormal") in new stack
-- Executing [exten@sub-record-check:17] ExecIf("PJSIP/6665-0000001b", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:18] ExecIf("PJSIP/6665-0000001b", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:19] ExecIf("PJSIP/6665-0000001b", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:20] ExecIf("PJSIP/6665-0000001b", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:21] ExecIf("PJSIP/6665-0000001b", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:22] ExecIf("PJSIP/6665-0000001b", "1?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:23] Gosub("PJSIP/6665-0000001b", "recordcheck,1(dontcare,internal,6666)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("PJSIP/6665-0000001b", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("PJSIP/6665-0000001b", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("PJSIP/6665-0000001b", "") in new stack
-- Executing [exten@sub-record-check:24] Return("PJSIP/6665-0000001b", "") in new stack
-- Executing [s@macro-exten-vm:19] GotoIf("PJSIP/6665-0000001b", "1?macrodial") in new stack
-- Goto (macro-exten-vm,s,25)
-- Executing [s@macro-exten-vm:25] GosubIf("PJSIP/6665-0000001b", "0?clrheader,1()") in new stack
-- Executing [s@macro-exten-vm:26] Macro("PJSIP/6665-0000001b", "dial-one,15,HhTtr,6666") in new stack
-- Executing [s@macro-dial-one:1] Set("PJSIP/6665-0000001b", "DEXTEN=6666") in new stack
-- Executing [s@macro-dial-one:2] Set("PJSIP/6665-0000001b", "__CRM_SOURCE=6665") in new stack
-- Executing [s@macro-dial-one:3] ExecIf("PJSIP/6665-0000001b", "0?Set(__EXTTOCALL=6666)") in new stack
-- Executing [s@macro-dial-one:4] Set("PJSIP/6665-0000001b", "DIALSTATUS_CW=") in new stack
-- Executing [s@macro-dial-one:5] GosubIf("PJSIP/6665-0000001b", "0?screen,1()") in new stack
-- Executing [s@macro-dial-one:6] GosubIf("PJSIP/6665-0000001b", "0?cf,1()") in new stack
-- Executing [s@macro-dial-one:7] GotoIf("PJSIP/6665-0000001b", "1?skip1") in new stack
-- Goto (macro-dial-one,s,10)
-- Executing [s@macro-dial-one:10] GotoIf("PJSIP/6665-0000001b", "0?nodial") in new stack
-- Executing [s@macro-dial-one:11] GotoIf("PJSIP/6665-0000001b", "0?continue") in new stack
-- Executing [s@macro-dial-one:12] Set("PJSIP/6665-0000001b", "EXTHASCW=ENABLED") in new stack
-- Executing [s@macro-dial-one:13] GotoIf("PJSIP/6665-0000001b", "0?next1:cwinusebusy") in new stack
-- Goto (macro-dial-one,s,25)
-- Executing [s@macro-dial-one:25] GotoIf("PJSIP/6665-0000001b", "0?next3:continue") in new stack
-- Goto (macro-dial-one,s,27)
-- Executing [s@macro-dial-one:27] GotoIf("PJSIP/6665-0000001b", "0?nodial") in new stack
-- Executing [s@macro-dial-one:28] GosubIf("PJSIP/6665-0000001b", "1?dstring,1():dlocal,1()") in new stack
-- Executing [dstring@macro-dial-one:1] Set("PJSIP/6665-0000001b", "DSTRING=") in new stack
-- Executing [dstring@macro-dial-one:2] Set("PJSIP/6665-0000001b", "DEVICES=6666") in new stack
-- Executing [dstring@macro-dial-one:3] ExecIf("PJSIP/6665-0000001b", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:4] ExecIf("PJSIP/6665-0000001b", "0?Set(DEVICES=666)") in new stack
-- Executing [dstring@macro-dial-one:5] Set("PJSIP/6665-0000001b", "LOOPCNT=1") in new stack
-- Executing [dstring@macro-dial-one:6] Set("PJSIP/6665-0000001b", "ITER=1") in new stack
-- Executing [dstring@macro-dial-one:7] Set("PJSIP/6665-0000001b", "THISDIAL=PJSIP/6666") in new stack
-- Executing [dstring@macro-dial-one:8] GotoIf("PJSIP/6665-0000001b", "0?docheck") in new stack
-- Executing [dstring@macro-dial-one:9] NoOp("PJSIP/6665-0000001b", "Debug: Found PJSIP Destination PJSIP/6666") in new stack
-- Executing [dstring@macro-dial-one:10] GotoIf("PJSIP/6665-0000001b", "0?doset") in new stack
-- Executing [dstring@macro-dial-one:11] NoOp("PJSIP/6665-0000001b", "Debug: Updating PJSIP Destination with PJSIP_DIAL_CONTACTS") in new stack
-- Executing [dstring@macro-dial-one:12] Set("PJSIP/6665-0000001b", "THISDIAL=PJSIP/6666/sip:6666@10.100.6.30:5060") in new stack
-- Executing [dstring@macro-dial-one:13] ExecIf("PJSIP/6665-0000001b", "0?Set(DIALSTATUS=CHANUNAVAIL)") in new stack
-- Executing [dstring@macro-dial-one:14] GotoIf("PJSIP/6665-0000001b", "0?skipset") in new stack
-- Executing [dstring@macro-dial-one:15] Set("PJSIP/6665-0000001b", "DSTRING=PJSIP/6666/sip:6666@10.100.6.30:5060&") in new stack
-- Executing [dstring@macro-dial-one:16] Set("PJSIP/6665-0000001b", "ITER=2") in new stack
-- Executing [dstring@macro-dial-one:17] GotoIf("PJSIP/6665-0000001b", "0?begin") in new stack
-- Executing [dstring@macro-dial-one:18] ExecIf("PJSIP/6665-0000001b", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:19] Set("PJSIP/6665-0000001b", "DSTRING=PJSIP/6666/sip:6666@10.100.6.30:5060") in new stack
-- Executing [dstring@macro-dial-one:20] Return("PJSIP/6665-0000001b", "") in new stack
-- Executing [s@macro-dial-one:29] GotoIf("PJSIP/6665-0000001b", "0?nodial") in new stack
-- Executing [s@macro-dial-one:30] GotoIf("PJSIP/6665-0000001b", "0?skiptrace") in new stack
-- Executing [s@macro-dial-one:31] GosubIf("PJSIP/6665-0000001b", "1?ctset,1():ctclear,1()") in new stack
-- Executing [ctset@macro-dial-one:1] Set("PJSIP/6665-0000001b", "DB(CALLTRACE/6666)=6665") in new stack
-- Executing [ctset@macro-dial-one:2] Return("PJSIP/6665-0000001b", "") in new stack
-- Executing [s@macro-dial-one:32] Set("PJSIP/6665-0000001b", "D_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-dial-one:33] GosubIf("PJSIP/6665-0000001b", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
-- Executing [s@macro-dial-one:34] NoOp("PJSIP/6665-0000001b", "Blind Transfer: , Attended Transfer: , User: 6665, Alert Info: ") in new stack
-- Executing [s@macro-dial-one:35] ExecIf("PJSIP/6665-0000001b", "1?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:36] ExecIf("PJSIP/6665-0000001b", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:37] ExecIf("PJSIP/6665-0000001b", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:38] ExecIf("PJSIP/6665-0000001b", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
-- Executing [s@macro-dial-one:39] ExecIf("PJSIP/6665-0000001b", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
-- Executing [s@macro-dial-one:40] GosubIf("PJSIP/6665-0000001b", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
-- Executing [s@macro-dial-one:41] ExecIf("PJSIP/6665-0000001b", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [s@macro-dial-one:42] GosubIf("PJSIP/6665-0000001b", "0?qwait,1()") in new stack
-- Executing [s@macro-dial-one:43] Set("PJSIP/6665-0000001b", "__CWIGNORE=") in new stack
-- Executing [s@macro-dial-one:44] Set("PJSIP/6665-0000001b", "__KEEPCID=TRUE") in new stack
-- Executing [s@macro-dial-one:45] GotoIf("PJSIP/6665-0000001b", "0?usegoto,1") in new stack
-- Executing [s@macro-dial-one:46] GotoIf("PJSIP/6665-0000001b", "0?godial") in new stack
-- Executing [s@macro-dial-one:47] Gosub("PJSIP/6665-0000001b", "sub-presencestate-display,s,1(6666)") in new stack
-- Executing [s@sub-presencestate-display:1] Goto("PJSIP/6665-0000001b", "state-available,1") in new stack
-- Goto (sub-presencestate-display,state-available,1)
-- Executing [state-available@sub-presencestate-display:1] Set("PJSIP/6665-0000001b", "PRESENCESTATE_DISPLAY=(Доступен)") in new stack
-- Executing [state-available@sub-presencestate-display:2] Return("PJSIP/6665-0000001b", "") in new stack
-- Executing [s@macro-dial-one:48] Set("PJSIP/6665-0000001b", "CONNECTEDLINE(name,i)=sleptsov (Доступен)") in new stack
-- Executing [s@macro-dial-one:49] Set("PJSIP/6665-0000001b", "CONNECTEDLINE(num)=6666") in new stack
-- Executing [s@macro-dial-one:50] Set("PJSIP/6665-0000001b", "D_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-dial-one:51] Macro("PJSIP/6665-0000001b", "dialout-one-predial-hook,") in new stack
-- Executing [s@macro-dialout-one-predial-hook:1] MacroExit("PJSIP/6665-0000001b", "") in new stack
-- Executing [s@macro-dial-one:52] ExecIf("PJSIP/6665-0000001b", "0?Set(D_OPTIONS=HhtrI)") in new stack
-- Executing [s@macro-dial-one:53] ExecIf("PJSIP/6665-0000001b", "0?Set(CWRING=r(callwaiting)):Set(CWRING=)") in new stack
-- Executing [s@macro-dial-one:54] NoOp("PJSIP/6665-0000001b", "") in new stack
-- Executing [s@macro-dial-one:55] ExecIf("PJSIP/6665-0000001b", "0?Set(D_OPTIONS=HhTtrg)") in new stack
-- Executing [s@macro-dial-one:56] Dial("PJSIP/6665-0000001b", "PJSIP/6666/sip:6666@10.100.6.30:5060,15,HhTtrb(func-apply-sipheaders^s^1)") in new stack
-- PJSIP/6666-0000001c Internal Gosub(func-apply-sipheaders,s,1) start
-- Executing [s@func-apply-sipheaders:1] ExecIf("PJSIP/6666-0000001c", "0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)") in new stack
-- Executing [s@func-apply-sipheaders:2] NoOp("PJSIP/6666-0000001c", "Applying SIP Headers to channel PJSIP/6666-0000001c") in new stack
-- Executing [s@func-apply-sipheaders:3] Set("PJSIP/6666-0000001c", "TECH=PJSIP") in new stack
-- Executing [s@func-apply-sipheaders:4] Set("PJSIP/6666-0000001c", "SIPHEADERKEYS=") in new stack
-- Executing [s@func-apply-sipheaders:5] While("PJSIP/6666-0000001c", "0") in new stack
-- Jumping to priority 11
-- Executing [s@func-apply-sipheaders:12] Return("PJSIP/6666-0000001c", "") in new stack
== Spawn extension (from-internal, 6666, 1) exited non-zero on 'PJSIP/6666-0000001c'
-- PJSIP/6666-0000001c Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
-- Called PJSIP/6666/sip:6666@10.100.6.30:5060
== Using SIP RTP Audio TOS bits 184
== Using SIP RTP Audio TOS bits 184 in TCLASS field.
== Using SIP RTP Audio CoS mark 5
-- PJSIP/6666-0000001c is ringing
> 0x7f2008091a20 -- Strict RTP learning after remote address set to: 10.100.6.30:12394
-- PJSIP/6666-0000001c answered PJSIP/6665-0000001b
-- Channel PJSIP/6666-0000001c joined 'simple_bridge' basic-bridge <e15e6af1-1870-4842-8cb6-fed62bec1e4a>
> 0x7f2008091a20 -- Strict RTP switching to RTP target address 10.100.6.30:12394 as source
-- Channel PJSIP/6665-0000001b joined 'simple_bridge' basic-bridge <e15e6af1-1870-4842-8cb6-fed62bec1e4a>
> 0x7f20140151c0 -- Strict RTP qualifying stream type: audio
> 0x7f20140151c0 -- Strict RTP switching source address to ip_смартфона:40600
> 0x7f20140151c0 -- Strict RTP learning complete - Locking on source address ip_смартфона:40600
> 0x7f2008091a20 -- Strict RTP learning complete - Locking on source address 10.100.6.30:12394
-- Channel PJSIP/6666-0000001c left 'simple_bridge' basic-bridge <e15e6af1-1870-4842-8cb6-fed62bec1e4a>
-- Channel PJSIP/6665-0000001b left 'simple_bridge' basic-bridge <e15e6af1-1870-4842-8cb6-fed62bec1e4a>
== Spawn extension (macro-dial-one, s, 56) exited non-zero on 'PJSIP/6665-0000001b' in macro 'dial-one'
== Spawn extension (macro-exten-vm, s, 26) exited non-zero on 'PJSIP/6665-0000001b' in macro 'exten-vm'
== Spawn extension (ext-local, 6666, 3) exited non-zero on 'PJSIP/6665-0000001b'
-- Executing [h@ext-local:1] Macro("PJSIP/6665-0000001b", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("PJSIP/6665-0000001b", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("PJSIP/6665-0000001b", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("PJSIP/6665-0000001b", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'PJSIP/6665-0000001b' in macro 'hangupcall'
== Spawn extension (ext-local, h, 1) exited non-zero on 'PJSIP/6665-0000001b'
gardvor
 
Сообщений: 4
Зарегистрирован: 27 фев 2023, 18:25

Re: FreePBX 16 звонки за NAT

Сообщение ded » 01 мар 2023, 12:32

В первом случае - звонок на смартфон 6665
Код: выделить все
Dial("PJSIP/6666-00000019", "PJSIP/6665/sip:6665@ip_смартфона:52989;rinstance=93a95216dec582f0,,HhTtrb(func-apply-sipheaders^s^1)") in new stack
-- PJSIP/6665-0000001a Internal Gosub(func-apply-sipheaders,s,1)
- ip_смартфона: тут точно публичный адрес провайдера моб. сети?
Со стороны сммартфона в ответ прибегает отлуп -
Everyone is busy/congested at this time (1:0/0/1)
Так что это вопросы к моб. провайдёру, или к смартфону.

Более детальную картину этого SIP диалога INVITE и ответ на него можно получить так:
http://asterisk.ru/knowledgebase/debug
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX 16 звонки за NAT

Сообщение gardvor » 02 мар 2023, 18:55

[/spoiler]
- ip_смартфона: тут точно публичный адрес провайдера моб. сети?


Да там мегафоновский IP вида 188.170.86.69, он меняется во время перерегистрации

Снял дамп посмотрел через Wireshark

[Показать] Спойлер:
Изображение


Ответов нет

Но что странно, смотрели логи на шлюзе и пакеты при звонке на этот адрес не уходят.
Если же просто от астерисковской машинки пинговать то пакеты вполне улетают.
gardvor
 
Сообщений: 4
Зарегистрирован: 27 фев 2023, 18:25

Re: FreePBX 16 звонки за NAT

Сообщение ded » 02 мар 2023, 23:15

Тогда вопросы к шлюзу.
Ваш шлюз имеет минимум два интерфейса - LAN & WAN, и набор правил внутри.
Есть правила для трансляции (исходящей, входящей, и есть правила для firewall - разрешить/запретить трафик, по source, destination, type of traffic, port, etc. Кроме того в современных шлюзах есть такая неадекватная вещь как SIP ALG, он же SIP helper, который для ИП телефонов за ним вроде помогает, а для АТС за ним - мешает. Его бы надо отключить, если есть.

А дамп собирать можно на интерфейсе LAN, а можно на интерфейсе WAN, и тогда анализировать. Как угодно на LAN порту этот SIP INVITE трафик должен быть, верно? И если он есть а на WAN его нету, то ковыряйте шлюз.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX 16 звонки за NAT

Сообщение gardvor » 07 мар 2023, 17:04

Да спасибо, проблема действительно в шлюзе была.

В деталях разбираться не стали, просто пустили через другой.

Спасибо
gardvor
 
Сообщений: 4
Зарегистрирован: 27 фев 2023, 18:25


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH