после внесения исправления для нормализации (используется несколько провайдеров)
[add-trim-prefix-clid-custom]
exten => _.X!,1,Ringing()
same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == 10 ]?Set(CALLERID(num)=+375${CALLERID(num):1}))
same => n,return В журнале звонков входящие номер регистрируется весь, но на телефоне принимающего в момент звонка отображается входящий номер в двух форматах, сначала обрезанный, а потом с префиксом, 029ххххххх +37529ххххххх а после звонка в телефоне сохраняется только обрезанный, и сделать обратный звонок нельзя. P.S. Исходно сначала внес для каждого провайдера, который обрезает префикс это:
[SIP-дляпровайдераобрезающегопрефикс-incoming-custom]
exten => _.!,1,NoOp(---)
same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == 10 ]?Set(CALLERID(num)=375${CALLERID(num):1}))
same => n,return</pre><p><em>Но это не помогло, поэтому внес приведенное выше исправление для всех провайдеров</em><br> </p><p></p>
В логах было:
[2022-05-16 19:09:10] VERBOSE[8864][C-00000512] pbx.c: Executing [6665@8094224115060-incoming:7] ExecIf("PJSIP/SIP-1625554503-00000cf0", "0?Set(__FROM_PEER=029ххххххх)") in new stack
[2022-05-16 19:09:10] VERBOSE[8864][C-00000512] pbx.c: Executing [6665@add-trim-prefix-clid:1] NoOp("PJSIP/SIP-1625554503-00000cf0", "--- Incoming call from 029ххххххх ---") in new stack
[2022-05-16 19:09:10] VERBOSE[8864][C-00000512] pbx.c: Executing [6665@add-trim-prefix-clid-custom:2] ExecIf("PJSIP/SIP-1625554503-00000cf0", "1?Set(CALLERID(num)=+37529ххххххх)") in new stack
Денис П. подсказал , что в данном случае – идет отображение имени звонящего и подмененного CallerID и предложил Добавить еще одну строку
same => n,Set(CALLERID(name)=${CALLERID(num)})
после этого все стало хорошо
boffart
(Алексей Портнов)
May 16, 2022, 10:44pm
3
Я бы в первую очередь посмотрел дамп трафика:
интересно что уходит от АТС в сторону телефона при входящем звонке.
Для полноты картины можно снять логи звонка