3CX IP-PBX

В статье описан процесс объединения номерных планов пользователей телефонии 3CX и Webitel. На стороне Webitel номерной план пользователей 1xxx, на стороне 3CX - 5xx

Сторона 3CX IP-PBX

Создаем Master bridge для подключения Webitel:

Вносим IP сервера Webitel в разрешенные:

В правилах исходящей маршрутизации создаем направление на номера пользователей Webitel

После успешной регистрации, вы должны увидеть зеленую статус:

Сторона Webitel

Создаем шлюз с регистрацией и прописываем параметры c Master bridge. Схему можем не задавать, так как это будет шлюз только для исходящих звонков на 3CX.

Регистрация шлюза на сторону 3CX:

Создаем схему Interconnection для обработки входящих от 3CX:

Interconnection
[ { "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 создаем схему и правило звонка:

To 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:10001@sip.webitel.ua" }, "type": "gateway" } ] } }, { "hangup": "" } ]

Для того, чтобы исходящие проходили на 3CX, необходимо еще перезаписать в поле Contact значение, как в TO. Для этого на стороне OpenSIPS мы добавляем код:

if ($(hdr(X-Webitel-Gateway-Id){s.int})==144) { remove_hf("Contact"); append_hf("Contact: <sip:10001@sip.webitel.ua>\r\n"); }

Если все сделать правильно, то звонки должны проходить в обе стороны по внутренним номерам.