Добрый день. АТС интегрирована с Битрикс24 с использованием Sip-коннектора в соответствии с инструкцией из документации МИКО.
Сама интеграция работает. Как входящие, так и исходящие звонки. Однако есть одно “Но”.
Исходящие из Б24, что осуществляются на номера, начинающиеся “+7” не осуществляются.
-
В лога Б24 видно, что инвайт идёт к
t: <sip:+79999999999@адрес АТС> , т.е. к экстеншену с “+7”
И на следующем шаге в дампе:
SIP/2.0 404 Not Found -
Из логов АТС:
[2025-01-16 18:13:08] NOTICE[23704] res_pjsip_session.c: SIP-TRUNK-87EACB54: Call (UDP:185.164.149.100:5060) to extension ‘+79999999999’ rejected because extension not found in context ‘SIP-TRUNK-87EACB54-incoming’.
Обычно для исходящих отрабатывает функция преобразования номера, что очищает его от спец.символов и если звонок осуществить с софтфона, то это работает.
Однако для интеграции телефонии в /etc/asterisk/extensions.conf вносится отдельный блок (исходя из настроек интеграции) для осуществления исходящих.
[SIP-TRUNK-87EACB54-incoming-custom]
; Исходящие вызовы из bitrix24, сотрудник набирает номер клиента
exten => _X!,1,Dial(Local/${FROM_DID}@outgoing,${TRANSFER_OPTIONS}Kg)
same => n,return()
Полагаю, что решением для нас может стать несколько строчек кода, что в рамках этого контекста будут преобразовывать номер и убирать “+”. Подскажите, есть идеи что можно добавить чтобы это сработало? Или, быть может, есть какие-то альтернативные решения этой проблемы?
P.s. пробовал в /etc/asterisk/extensions.conf добавлять следующий код для отсечения всех спец.символов из набираемого номера
[all_peers-custom]
exten => s,1,NoOp(Cleaning dst number)
same => n,Set(cleanNumber=${FILTER(*#1234567890,${EXTEN})})
same => n,ExecIf($[“${EXTEN}” != “${cleanNumber}”]?Goto(all_peers,${cleanNumber},1))
same => n,return
Однако нужного результата это не дало.