211 просмотров
от (120 баллов) в категории Тонкая настройка
редактировать от

Есть внешний провайдер и для интеграции его с Роистат, подключение Роистат к MikoPBX выполнили как внутренний номер 299. Поступающие звонки с внешнего номера-провайдера к MikoPBX  направляем на внутренний "сотрудника" 299, но в заголовках вызова на Роистат проходит строка подключения куда-кому: "To: <sip:299@ ..."
При этом Роистат, подключенный через логин 299 к MikoPBX, ждет внешний номер вызова, прописанный у них в интерфейсе и на вызов  "To: <sip:299@ ..." отвечает "SIP/2.0 404 Not Found".
Напрямую в Роистат этот провайдер не заведется, там с VPN и [identify] match и т.п.

Вопрос, можно ли каким-то образом переназначить в вызове от MikoPBX к Роистат, исходящий от MikoPBX с номера 299, заголовок с  "To: <sip:299@ ..." на "To: <sip:+внешний_номер@ ...".
Спасибо!

от (120 баллов)
Первый раз настраиваю программную АТС и это MikoPBX. Изначально полагал, что во "Входящие маршруты" можно будет выбрать 2-ую линию "сторонней АТС", которую завести в MikoPBX как "Входящая регистрация" и направить входящие с 1-ой внешней линии на 2-ую внешнюю. Обратно так же со 2-ой на 1-ую, манипулируя номерами, на какой номер пришло - на ту внешнюю линию и направить. Но оказалось, что в качестве "кому" нельзя назначить внешнюю линию, куда передать звонок, только внутренние "Сотрудники" и другие внутренние ресурсы.
от (120 баллов)

Взять номер для подстановки в "To: <sip:+внешний_номер@ ...", при звонке на 299, наверное можно будет из данных при дозвоне: "From: "+номер_телефона" <sip:+7495..."
name которого уже заменился при поступлении звонка с внешней линии Провайдера Set(CALLERID(name)=${FROM_DID}))  в extensions.conf

1 Ответ

от (122 тыс. баллов)
Можно описать провайдера с типом "входящая регистрация".

Далее, за основу можно взять статью:

https://wiki.mikopbx.ru/providers:b24-sip-connector
от (120 баллов)
Спасибо за ответ на наведение по маршруту.
Проделал по инструкции и примеру. MIKOPBX ver: 2022.3.15
Первое правило кастомизации почему-то не отрабатывает, входящие с внешней линии не уходят на Роистат, обратно от Роистат -> MikoPBX -> внешняя линия = работает.

Первое правило кастомизации:

SIP-ID подключения к провайдеру SIP-1676755626, исходящая регистрация.

[SIP-1676755626-incoming-custom]
; Входящие от линии Провайдера направляем в Roistat
exten => _X!,1,Dial(Local/000${FROM_DID}@outgoing,,${TRANSFER_OPTIONS}Kg)
    same => n,return()

Отбрасывает сама MikoPBX. Правило обработки исходящих, с направлением на Роистат, "номер начинается с" пробовал и из примера 000[0-9], но From приходит, например "From: "Unavailable" <sip:+7495***" с плюсом, пробовал и 000+[0-9], 000(+[0-9]|[0-9]).
MikoPBX на входящий от провайдера отвечает "SIP/2.0 404 Not Found" и дальше никуда не идёт. Правила "Входящая маршрутизация" на MikoPBX пустые т.к. необходимо перенаправление, может поэтому что-то не нравится.
от (120 баллов)

Не отрабатывает "Первое правило кастомизации" потому что если создать правило обработки входящих на этот вызываемый через линию Провайдера DID номер и этого Провайдера, например направив в "Обработке входящих" на "Голосовую почту", то MikoPBX принимает этот вызов и включает голосовую почту. 

от (120 баллов)
А ну при звонке от внешнего Провайдера там MikoPBX и в логах сообщает, при отсутствии входящей маршрутизации на этот DID:
[2023-03-23 16:43:30] NOTICE[30548] res_pjsip_session.c:  SIP-1676755626: Call (UDP:10.5.*.*:5060) to extension '+номер_телефона_куда_звонят' rejected because extension not found in context 'SIP-1676755626-incoming'.
от (120 баллов)

Всё, добил я его этот вопрос, практически ничего не понимая и наверное сделав ошибку где-то. Раз ему в логах не хватало точно вот этого "extension not found in context 'SIP-1676755626-incoming'" с номером дозвона куда, при том что входящая маршрутизация пустая и задача перенаправить звонок, просто взял кусок кода основного конфига extensions.conf и дописал с добавлением в конец файла блок

SIP-1679581656 - это уже вновь созданный исходящий транк-регистрация на Провайдера, выше оно было SIP-1676755626, в процессе тестирования не понимал, что и где может ли глючить и правильное ли такое поведение выше.

[SIP-1679581656-incoming](+)

exten => +Номер_телефона_на_который_звонят,1,NoOp(--- Incoming call ---)

same => n,Set(CHANNEL(language)=en-en)

same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1)

same => n,Set(__FROM_DID=${EXTEN})

same => n,Set(__FROM_CHAN=${CHANNEL})

same => n,ExecIf($["${CHANNEL(channeltype)}" != "Local"]?Gosub(set_from_peer,s,1))

same => n,ExecIf($["${CHANNEL(channeltype)}" == "Local"]?Set(__FROM_PEER=${CALLERID(num)}))

same => n,Gosub(add-trim-prefix-clid,${EXTEN},1)

same => n,Set(__TRANSFER_OPTIONS=t)

same => n,Set(IN_NEED_ANNONCE=1)

same => n,Dial(Local/000${FROM_DID}@outgoing,,${TRANSFER_OPTIONS}Kg)

    same => n,return()

Вот теперь редиректит в обе стороны ))
В дозвоне убрал проверку нерабочего времени и ещё что-то, так как это просто перенаправление. 

Спасибо за первичную наводку на публикацию примера подобной переадресации. Заработало! )

от (120 баллов)
Но в этом режиме теперь исходящие от MikoPBX к Roistat теперь проходят от кого: "From: <sip:SIP-1679473242@ip-address>" (линия с входящей регистрацией от Роистат) и в качестве номера от кого идет дозвон на софтфоне отображается 1679473242.
от (122 тыс. баллов)
может помочь отключить использование поля fromuser в настройках провайдера (в расширенных)
+ дополнительно статья https://wiki.mikopbx.ru/faq:did-routs#did_proizvolnom_zagolovke
в помощь (это для определения номера, на который поступил звонок, не относится к текущей теме)
от (120 баллов)

К сожалению без [registration-auth]
username=+номер1@домен
Провайдер не принимает подключение. В web-интерфейсе не задействовано. А с указанием username=+номер1@домен в основном блоке extensions.conf создается "exten => +номер1,1,NoOp(--- Incoming call ---) ..." и входящие на не указанные во входящей маршрутизации номера начинают отбрасываться с записью в логах ""extension not found in context 'SIP-1679581656-incoming'"", поэтому перехват Провайдера на перенаправление в Роистат получилось только с добавлением своего
[SIP-1679581656-incoming](+)
exten => +другой_номер2,1,NoOp(--- Incoming call ---)
same => n,Dial(Local/000${FROM_DID}@outgoing,,${TRANSFER_OPTIONS}Kg)
    same => n,return()"

По обработке исходящих от MikoPBX в Роистат, при перенаправлении от провайдера, (входящая регистрация на MikoPBX от Роистат), я не увидел вообще в заголовках установки соединения от MikoPBX к Роистат, где можно было бы взять номер звонящего, его нет ни в одном заголовке. Но потестирую ещё, посмотрю и если это возможно, может и на готовой базовой настройке это займет не так много времени у платной поддержки? Где там и как можно было бы взять номер звонящего от провайдера и поместить этот реальный номер в CallerID при отправке перенаправления входящего от Провайдера в Роистат. В любом случае при обращении сделаю отсылку на эту ветку для их оценки. 

от (120 баллов)
Заработало, по моему недосмотру одного параметра выше и указания на исправление. p.s. У руководства очень жесткое требование, чтобы телефония была идеально завязана на AmoCRM и создание сделок по звонкам. До этого уже было решение, а модуль под MikoPBX под вопросом, там уже есть другие модули в AmoCRM и дополнительная не убираемая панелька телефонии внутри не требовалась, только создание сделок по звонкам, ну и там ещё кое что. Но конечно же MikoPBX интересна и экономнее было бы все линии перевести на неё, посмотрим на развитие модуля под AmoCRM и возможно вернемся позднее к этой идее. Всё завести в MikoPBX и сделать её центральным узлом.
На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

Популярные теги

askozia входящие-вызовы настройка исходящие маршрутизация провайдер запись-разговоров входящие ivr исходящие-звонки обновление ошибка очередь провайдеры битрикс24 очередь-вызовов переадресация запись установка маршрут история-звонков mikopbx транк панель-телефонии-1с перевод-вызова перевод askozia7 askozia6 битрикс callerid интеграция голосовая-почта логи перехват-вызова ростелеком нерабочее-время факс модуль nat docker запись-разговора веб-интерфейс bitrix24 goip настройка-провайдер история диалплан почта журнал-звонков релиз gsm вызовы звонок внешние-номера web-интерфейс zabbix маршруты cdr sip панель pjsip переадресация-мобильный voicemail ascozia телефонная-книга аон мобильный звонков лицензирование вызовов редактор номер asterisk лицензия ami регистрация оповещения провайдеров время голосовая fax trunk разговоров группы-пользователей #mikopbx пропущенные-звонки донабор beeline monitoring тишина smtp cisco мобильные мультифон мегафон шлюз не-работает электронная-почта не-слышно-звук

2.8 тыс. вопросов

2.4 тыс. ответов

6.7 тыс. комментариев

465 тыс. пользователей

...