Рабочие шаблоны настройки FreePBX для узбекских SIP провайдеров

В данной статье будут представлены рабочие, испытанные конфигурации sip транков узбекских операторов. К сожалению, практически никто из них не выкладывают никаких инструкций и приходится заморачиваться самостоятельно. Некоторые из этих конфигураций я добыл у коллег, некоторые натыкал сам. Уверен, что кому-то они обязательно сэкономят время и нервы.

Настройка SIP транка Sarkor Telecom

Телефония от Sarkor предоставляется по tasix, что является как огромным плюсом, так и вносит некоторые коррективы в конфигурацию, привычную для подключения без NAT.

Создаём новый транк

Переходим во вкладку SIP Settings и вписываем в Outgoing конфигурацию по следующему шаблону:

Peer details:

host=sip.uz
context=from-trunk
insecure=port,invite
type=peer
username=122XXXX
defaultuser=122XXXX
secret=[пароль из раздела услуги в кабинете]
fromuser=122XXXX
port=5060
fromdomain=sip.uz
nat=auto_force_rport,auto_comedia

На момент написания статьи я знаю только о префиксе 122, по этому указал его в шаблоне как есть. Так или иначе, номер указывается без кода 78.

Для Incoming (входящих) прописывается только строка регистрации:

122XXXX:пароль@sip.uz/122XXXX

К сожалению, на данный момент Sarkor не поддерживает Early Media. По этой причине мне пришлось включить во входящем маршруте Force Answer, дабы звонящий слышал приветствие моей АТС вместо гудков.

При данной конфигурации ваша АТС может спокойно стоять за NAT. Никакие пробросы не требуются.

Настройка SIP транка UZTELECOM

Данный оператор предоставляет транк через собственный маршрутизируемый транспорт. В некоторых случаях даже в виде тегированного VLAN. Ходят слухи, что кому-то предоставлялась возможность подключения по tasix, но мне в таком счастье отказали. Собственно, по этой же причине я решил сменить оператора. ;)

Прежде, чем приступить к настройке, необходимо выудить у оператора (а с uztelecom это достаточно сложно) информацию: Номер (вводить с кодом или без?), ваш ip, ваш шлюз, адрес софтсвитча (сервера) и возможно vlan (в частности, если подключение сделано по GPON).

Если вам нужен определитель номера (а кому он не нужен?) то нужно отдельно сообщить о намерении его подключить. Он не входит в услугу, а при подключении об этом никогда не предупреждают.

Ещё следует отметить, что разным клиентам Uztelecom может предоставлять услугу через разные софтсвитчи. В связи с этим, данная конфигурация в некотором случае может и не прокатить. Но у меня она работает для нескольких корп. клиентов с разницей лишь в указании номера (с кодом\без). И так, добавляем транк:

Переходим в настройки и добавляем в Outgoing:

type=friend
port=5060
username=XXXXXXX
secret=XXXXXXX
fromuser=XXXXXXX
insecure=port,invite
host=[адрес сервера]
fromdomain= [адрес сервера]
context=from-trunk
disallow=all
allow=alaw&ulaw

Внимание! В зависимости от сотфсвитча, может потребоваться ввести ваш номер либо с кодом либо без него. Самое идиотское в этой ситуации то, что техподдержка зачастую не может ответить точно, в каком виде это должно работать именно в вашем случае. По этому, можно попробовать и так и сяк, пока не заработает. ;)

Со входящими аналогичная история:

ВАШ_НОМЕР:ПАРОЛЬ(обычно тоже номер)@адрес софтсвитча/НОМЕР

Но есть ещё один подводный камень, на который я наступил при подключении телефонии UZTELECOM.

Видимо их сотрудники уверены в том, что их шлюз вы будете использовать как дэфолтный и тогда, конечно, транк будет работать правильно. Но возникает справедливый вопрос: а как же тогда обновлять сервер? В моём случае наивная попытка прописать через их шлюз только маршрут до SIP сервера закончилась тем, что отвалились соединения RTP. Оказалось, что для правильной работы требуется маршрутизация до всех подсетей, на которых как постиранные носочки развешаны из узлы. А подсети у них разлеглись в самых неожиданных диапазонах. Выкручиваться пришлось довольно лихо, указав следующие маршруты:

10.0.0.0/8 via [ip шлюза] dev eth1
172.16.0.0/15 via [ip шлюза] dev eth1
192.168.0.0/16 via [ip шлюза] dev eth1

Однако у некоторых корп. клиентов достаточно было указать маршрут до сервера. Опять таки, тех.поддержка вряд-ли что-то подскажет, по этому проверяйте звук при звонках на другие префиксы, прежде чем закрывать консольку. ;)

Осталось лишь надеяться, что диапазон моей домашней сети не пересекается с какой-нибудь из их АТС, иначе с абонентами за ней поговорить не удастся. ;) Точных данных о том, какие сети они используют мне получить не удалось.

Настройка SIP транка EAST TELECOM

Подключение через маршрутизируемый выделенный транспорт. Если предлагают бросить vlan через LTE — лучше не соглашаться. Опыт показал, что работает такая связка отвратительно.

По аналогии с предыдущими шаблонами, вводим следующее:

host=[адрес сервера]
type=friend
dtmfmode=auto
disallow=all
allow=ulaw&alaw
insecure=no
port=5060
context=from-trunk
qualify=yes
fromdomain= [адрес сервера]
fromuser = [номер без кода]

в строку регистрации входящих:

[номер без кода]@[адрес сервера]/[номер без кода]

Маршрутизация нужна только до сип сервера. Всё остальное бегает через него.

На этом пока всё. :) Возможно, статья будет дополняться новыми шаблонами.