В статье описан процесс объединения номерных планов пользователей телефонии 3CX и Webitel. На стороне Webitel номерной план пользователей 1xxx, на стороне 3CX - 5xx
Создаем Master bridge для подключения Webitel:
Вносим IP сервера Webitel в разрешенные:
В правилах исходящей маршрутизации создаем направление на номера пользователей Webitel
После успешной регистрации, вы должны увидеть зеленую статус:
Создаем шлюз с регистрацией и прописываем параметры c Master bridge. Схему можем не задавать, так как это будет шлюз только для исходящих звонков на 3CX.
Регистрация шлюза на сторону 3CX:
Создаем схему Interconnection для обработки входящих от 3CX:
[ { "set": { "continue_on_fail": "true", "hangup_after_bridge": "true", "ignore_early_media": "consume", "instant_ringback": "true" } }, { "preAnswer": "" }, { "bridge": { "endpoints": [ { "extension": "${destination_number}", "parameters": { "call_timeout": "120" }, "type": "user" } ] } }, { "hangup": "" } ] |
Также, нам нужно создать второй шлюз без регистрации, поскольку все входящие на Webitel от 3CX будут приходить просто на IP. Выбираем нашу схему, как основную для обработки входящих на шлюз:
Для исходящих звонков на 3CX создаем схему и правило звонка:
[ { "ringReady": "" }, { "bridge": { "endpoints": [ { "dialString": "$1", "name": "3cx.ru", "parameters": { "origination_caller_id_number": "${caller_id_number}", "sip_cid_type": "rpid", "sip_invite_full_from": "sip:[email protected]" }, "type": "gateway" } ] } }, { "hangup": "" } ] |
Для того, чтобы исходящие проходили на 3CX, необходимо еще перезаписать в поле Contact значение, как в TO. Для этого на стороне OpenSIPS мы добавляем код:
if ($(hdr(X-Webitel-Gateway-Id){s.int})==144) { remove_hf("Contact"); append_hf("Contact: <sip:[email protected]>\r\n"); } |
Если все сделать правильно, то звонки должны проходить в обе стороны по внутренним номерам.