Страница 1 из 3
FreePBX непонятная ошибка при звонке в логах
Добавлено: 03 окт 2019, 13:39
siszone
Постоянно стал наблюдать в логах ошибку, которая ниже:
Код: Выделить всё
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:21] ExecIf("SIP/207-00000053", "0?Set(CALLERID(all)=)") in new stack
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:22] ExecIf("SIP/207-00000053", "0?Set(CALLERID(all)=)") in new stack
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:23] ExecIf("SIP/207-00000053", "0?Set(CALLERID(all)=)") in new stack
[2019-10-03 14:26:42] WARNING[20642][C-0000002a] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; Input:
= 1 & 0 = 0
^
[2019-10-03 14:26:42] WARNING[20642][C-0000002a] ast_expr2.fl: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:24] ExecIf("SIP/207-00000053", "?Set(CALLERID(all)=207)") in new stack
[2019-10-03 14:26:42] WARNING[20642][C-0000002a] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; Input:
= 1 & 0 = 0
^
[2019-10-03 14:26:42] WARNING[20642][C-0000002a] ast_expr2.fl: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:25] ExecIf("SIP/207-00000053", "0?Set(CALLERPRES(name-pres)=prohib_passed_screen)") in new stack
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:26] ExecIf("SIP/207-00000053", "0?Set(CALLERPRES(num-pres)=prohib_passed_screen)") in new stack
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:27] Set("SIP/207-00000053", "CDR(outbound_cnum)=207") in new stack
Что это за ошибка и как можно её поправить? Ранее думал что если обновить FreePBX - то ошибка уйдет, но после обновления ошибка осталась. Помогите пожалуйста!
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 03 окт 2019, 14:52
ded
Ошибка в синтаксисе макроса macro-outbound-callerid. Сами писали?
Set(CALLERID(all)=)") - что тут должно указываться? Какой CALLERID?
Скорее всего там должо быть
Set(CALLERID(all)="") - то есть пусто забивать. Или
Set(CALLERID(all)=1234567890)
То есть вы точно должны знать что должно подставляться в качестве CALLERID при звонке в мир.
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 03 окт 2019, 15:27
siszone
Сам по идее ничего не правил в конфиг файлах, только через админ панель работал.
Подскажите где найти данный файл чтобы посмотреть как у меня записаны директивы.
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 03 окт 2019, 17:32
ded
И через админ панель можно бед натворить.
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 04 окт 2019, 07:37
siszone
[ Context 'macro-outbound-callerid' created by 'pbx_config' ]
's' => 1. Noop(${REALCALLERIDNUM}) [pbx_config]
2. Noop(${KEEPCID}) [pbx_config]
3. Noop(${OUTKEEPCID_${ARG1}}) [pbx_config]
4. ExecIf($["${CALLINGNAMEPRES_SV}" != ""]?Set(CALLERPRES(name-pres)=${CALLINGNAMEPRES_SV})) [pbx_config]
5. ExecIf($["${CALLINGNUMPRES_SV}" != ""]?Set(CALLERPRES(num-pres)=${CALLINGNUMPRES_SV})) [pbx_config]
6. ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)})) [pbx_config]
7. ExecIf($[$["${CIDMASQUERADING}" = "TRUE"] & $[$["${AMPUSER}" = ""] | $["${AMPUSER}" = "${DB(AMPUSER/${FROMEXTEN}/cidnum)}"]]]?Set(AMPUSER=${FROMEXTEN})) [pbx_config]
[start] 8. GotoIf($[ $["${REALCALLERIDNUM}" = ""] | $["${KEEPCID}" != "TRUE"] | $["${OUTKEEPCID_${ARG1}}" = "on"] ]?normcid) [pbx_config]
9. Set(USEROUTCID=${CALLERID(name)} <${REALCALLERIDNUM}>) [pbx_config]
10. GotoIf($["${CIDMASQUERADING}" = "TRUE"]?normcid) [pbx_config]
11. GotoIf($["${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "" & "${DB(DEVICE/${REALCALLERIDNUM}/user)}" = ""]?bypass) [pbx_config]
[normcid] 12. Set(USEROUTCID=${DB(AMPUSER/${AMPUSER}/outboundcid)}) [pbx_config]
[bypass] 13. Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)}) [pbx_config]
14. Set(TRUNKOUTCID=${OUTCID_${ARG1}}) [pbx_config]
15. GotoIf($["${EMERGENCYROUTE:1:2}" = "" | "${EMERGENCYCID:1:2}" = ""]?trunkcid) [pbx_config]
16. Set(CALLERID(all)=${EMERGENCYCID}) [pbx_config]
17. GotoIf($["${CALLERID(name)}" = ""]?cnum) [pbx_config]
18. Set(CDR(outbound_cnam)=${CALLERID(name)}) [pbx_config]
[cnum] 19. Set(CDR(outbound_cnum)=${CALLERID(num)}) [pbx_config]
[exit] 20. MacroExit() [pbx_config]
[trunkcid] 21. ExecIf($[${LEN(${TRUNKOUTCID})} != 0]?Set(CALLERID(all)=${TRUNKOUTCID})) [pbx_config]
[usercid] 22. ExecIf($[${LEN(${USEROUTCID})} != 0]?Set(CALLERID(all)=${USEROUTCID})) [pbx_config]
23. ExecIf($[${LEN(${TRUNKCIDOVERRIDE})} != 0 | ${LEN(${FORCEDOUTCID_${ARG1}})} != 0]?Set(CALLERID(all)=${IF($[${LEN(${FORCEDOUTCID_${ARG1}})}=0]?${TRUNKCIDOVERRIDE}:${FORCEDOUTCID_${ARG1}})})) [pbx_config]
24. ExecIf($[${QCALLBACK} = 1 & ${LEN(${FORCEDOUTCID_${ARG1}})} = 0]?Set(CALLERID(all)=${REALCALLERIDNUM})) [pbx_config]
[hidecid] 25. ExecIf($["${CALLERID(name)}"="hidden"]?Set(CALLERPRES(name-pres)=prohib_passed_screen)) [pbx_config]
26. ExecIf($["${CALLERID(name)}"="hidden"]?Set(CALLERPRES(num-pres)=prohib_passed_screen)) [pbx_config]
27. Set(CDR(outbound_cnum)=${CALLERID(num)}) [pbx_config]
28. Set(CDR(outbound_cnam)=${CALLERID(name)}) [pbx_config]
Include => 'macro-outbound-callerid-custom' [pbx_config]
-= 1 extension (28 priorities) in 1 context. =-
Тут вообще мне ниочем не говорит? Чтото можно поправить и как? Заранее Спасибо!
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 04 окт 2019, 10:11
ded
Ошибки на 21-м, 22-м и 23-м шаге
Код: Выделить всё
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:21] ExecIf("SIP/207-00000053", "0?Set(CALLERID(all)=)") in new stack
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:22] ExecIf("SIP/207-00000053", "0?Set(CALLERID(all)=)") in new stack
[2019-10-03 14:26:42] VERBOSE[20642][C-0000002a] pbx.c: Executing [s@macro-outbound-callerid:23] ExecIf("SIP/207-00000053", "0?Set(CALLERID(all)=)") in new stack
[2019-10-03 14:26:42] WARNING[20642][C-0000002a] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; Input:
= 1 & 0 = 0
Вот они:
Код: Выделить всё
[trunkcid] 21. ExecIf($[${LEN(${TRUNKOUTCID})} != 0]?Set(CALLERID(all)=${TRUNKOUTCID})) [pbx_config]
[usercid] 22. ExecIf($[${LEN(${USEROUTCID})} != 0]?Set(CALLERID(all)=${USEROUTCID})) [pbx_config]
23. ExecIf($[${LEN(${TRUNKCIDOVERRIDE})} != 0 | ${LEN(${FORCEDOUTCID_${ARG1}})} != 0]?Set(CALLERID(all)=${IF($[${LEN(${FORCEDOUTCID_${ARG1}})}=0]?${TRUNKCIDOVERRIDE}:${FORCEDOUTCID_${ARG1}})})) [pbx_config]
Это, вероятно, вы что-то не то забили через вэб в области транка, или экстена, указали неверный Caller ID и значение переменных ${TRUNKOUTCID} и ${USEROUTCID}) кривое.
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 04 окт 2019, 10:24
siszone
CallerID у меня вообще не указал в транках
https://prnt.sc/peow53
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 04 окт 2019, 10:59
siszone
В эстеншинах внутренних номеров, тоже не указан Caller ID
https://prnt.sc/pepe95
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 04 окт 2019, 11:09
ded
На 23-м шаге в макрос передаётся ${ARG1}, который может быть кривой, или он в качестве составной части переменной ${FORCEDOUTCID_${ARG1}}
Можно поставить проверку перед этим шагом
exten => s,n,NoOp(================= ${FORCEDOUTCID_${ARG1}} =====================)
и всё увидеть как есть.
В любом случае вы знаете куда копать и на что смотреть.
Re: FreePBX непонятная ошибка при звонке в логах
Добавлено: 04 окт 2019, 12:50
siszone
выставил настройку
23. NoOp(================= ${FORCEDOUTCID_${ARG1}} =====================) [pbx_config]
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:15] GotoIf("SIP/211-00000005", "1?trunkcid") in new stack
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx_builtins.c: Goto (macro-outbound-callerid,s,21)
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:21] ExecIf("SIP/211-00000005", "1?Set(CALLERID(all)=73412655444)") in new stack
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:22] ExecIf("SIP/211-00000005", "0?Set(CALLERID(all)=)") in new stack
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:23] NoOp("SIP/211-00000005", "================= =====================") in new stack
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:24] ExecIf("SIP/211-00000005", "1?Set(CALLERID(all)=73412655444)") in new stack
[2019-10-04 13:46:50] WARNING[14613][C-00000003] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; Input:
= 1 & 0 = 0
^
[2019-10-04 13:46:50] WARNING[14613][C-00000003] ast_expr2.fl: If you have questions, please refer to
https://wiki.asterisk.org/wiki/display/ ... +Variables
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:25] ExecIf("SIP/211-00000005", "?Set(CALLERID(all)=211)") in new stack
[2019-10-04 13:46:50] WARNING[14613][C-00000003] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; Input:
= 1 & 0 = 0
^
[2019-10-04 13:46:50] WARNING[14613][C-00000003] ast_expr2.fl: If you have questions, please refer to
https://wiki.asterisk.org/wiki/display/ ... +Variables
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:26] ExecIf("SIP/211-00000005", "0?Set(CALLERPRES(name-pres)=prohib_passed_screen)") in new stack
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:27] ExecIf("SIP/211-00000005", "0?Set(CALLERPRES(num-pres)=prohib_passed_screen)") in new stack
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:28] Set("SIP/211-00000005", "CDR(outbound_cnum)=73412655444") in new stack
[2019-10-04 13:46:50] VERBOSE[14613][C-00000003] pbx.c: Executing [s@macro-outbound-callerid:29] Set("SIP/211-00000005", "CDR(outbound_cnam)=") in new stack
Уже и не знаю куда копать то... Прописал в исходящих маршрушах Outbound CID, эффекта ноль