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");
}
Если все сделать правильно, то звонки должны проходить в обе стороны по внутренним номерам.