Как устроен звонок
Направление одно: вызов начинаем мы. Платформа отправляет вашей станции SIP-приглашение, где вызываемый номер — это номер абонента. Станция обрабатывает его так же, как набор с внутреннего телефона, и выпускает наружу через вашего оператора. Если сценарий переводит абонента на сотрудника, тем же транком приходит вызов на внутренний номер.
Требований к станции ровно два: принять транк без регистрации, по IP, и выпустить вызов из этого транка в исходящий маршрут. Второе — то самое место, где спотыкаются станции, у которых маршрут жёстко привязан к конкретному входящему номеру.
Параметры подключения
| Адрес сигнализации | 185.35.223.2 |
| Порт | 5060 — UDP,
5061 — TLS
|
| Голос (RTP) | подсеть 109.233.108.208/28, порты 10000–20000 |
| Кодек | G.711A |
| Формат номера | +7XXXXXXXXXX |
| Регистрация | не нужна — опознаём станцию по её статическому IP |
| Авторизация | по желанию: если ваша станция её требует, логин и пароль указываются в кабинете |
| Направление вызова | платформа звонит вашей станции, станция набирает абонента |
Фаервол
Сигнализация приходит с одного адреса, голос — из подсети: у нас это разные серверы. Открыть нужно оба направления, иначе получится классическая картина «звонок соединился, но в трубке тишина».
# сигнализация udp dport 5060 ip saddr 185.35.223.2 accept tcp dport 5061 ip saddr 185.35.223.2 accept # голос udp dport 10000-20000 ip saddr 109.233.108.208/28 accept
Особенность операторских платформ
SI3000 — это не офисная АТС, а операторская платформа, и настраивает её обычно интегратор или служба эксплуатации оператора, а не администратор компании. Поэтому статья написана не как «нажмите сюда», а как список требований, который можно передать тем, кто обслуживает узел: названия пунктов в разных версиях отличаются, а смысл — нет.
С нашей стороны это обычный SIP-транк без регистрации. Мы не требуем ни специальных заголовков, ни особых кодеков, ни поддержки REFER — только чтобы вызов приняли и отправили дальше.
Что нужно настроить
- SIP-интерфейс в сторону нашей платформы. Приём вызовов
с адреса
185.35.223.2без регистрации, опознание по адресу. Транспорт UDP или TLS. - Маршрут исходящих. Вызов, пришедший с этого интерфейса, должен маршрутизироваться по набранному номеру в ваше исходящее направление — то же, через которое уходят обычные звонки абонентов.
- Подстановку исходящего номера. В поле «от кого» у нас стоит служебная метка, а не телефонный номер, и её нужно заменить вашим номером.
- Кодек G.711A на этом направлении, без попыток согласовать что-то другое.
- Голосовые адреса. На медиа-шлюзах и фаерволе открыть нашу подсеть
109.233.108.208/28на портах 10000–20000: сигнализация и голос приходят с разных адресов.
Подмена CallerID обязательна. В нашем вызове в поле «от кого»
стоит служебная метка вида AutoCall_kz_номер звонка — по ней удобно
сверять ваш журнал звонков с нашей выгрузкой, но телефонным номером она не является.
Исходящий маршрут обязан заменить её на ваш номер, иначе оператор отклонит вызов.
Если на границе стоит SBC
У операторских узлов почти всегда есть пограничный контроллер. Если он у вас есть, транк логичнее завести именно на нём: SBC принимает наш вызов, приводит его к внутреннему виду и отдаёт на SI3000 как обычного внутреннего соседа. Тогда в самой платформе не появляется ни одного внешнего адреса, а список разрешённых IP остаётся в одном месте.
Отдельно покупать SBC ради этого подключения не нужно — если его нет, транк заводится напрямую.
Шифрование (по желанию)
Мы умеем TLS для сигнализации и SRTP для голоса. Если на узле это поддерживается, выберите в кабинете транспорт TLS и соответствующий режим шифрования голоса.
SRTP работает только вместе с TLS. Ключ шифрования голоса передаётся прямо в SIP-сообщении: по незашифрованной сигнализации он уедет открытым текстом рядом с «зашифрованным» потоком. Это не защита, а её видимость, поэтому такое сочетание мы не разрешаем. При этом TLS без SRTP — нормальный вариант: в Казахстане много станций и телефонов, где SRTP вырезан из прошивки, а TLS работает.
Добавить АТС в кабинете
Раздел «Мои АТС» → «Подключить АТС». Понадобятся:
- IP-адрес станции и порт;
- транспорт — UDP или TLS, и шифрование голоса, если вы его включили;
- логин и пароль — только если ваша станция требует авторизации;
- предел одновременных каналов и скорость набора: ставьте не выше того, что разрешает ваш оператор, и мы не превысим.
После сохранения в списке появится состояние станции: «Отвечает» означает, что она отвечает на наши проверки связи. Дальше при создании обзвона выбираете свою АТС в поле «АТС для звонков» — смета сразу считается по льготной цене секунды, а повторные попытки дозвона через свою станцию бесплатны.
Если звонки не идут
- Нет ответа на наши проверки связи. Закрыт сигнальный порт или наш адрес не в списке разрешённых.
- Вызов приходит и отбивается. Нет маршрута для номера, пришедшего с этого направления, либо у направления нет прав на исходящую связь.
- Оператор отбивает вызовы. Не подставлен ваш номер.
- Соединяется, но тишина. Не открыта голосовая подсеть на медиа-шлюзах.
Если ваш узел обслуживает подрядчик — передайте ему список выше целиком, этого достаточно. Мы со своей стороны готовы поучаствовать в тестовом звонке и прислать SIP-трейс с нашей стороны.
Можно ли подключить операторскую платформу вроде SI3000 к сервису обзвона?
Да. С точки зрения платформы обзвона это обычный SIP-транк без регистрации: мы отправляем вызов на адрес вашего узла, он маршрутизирует его дальше через ваши собственные каналы. Никаких особых требований к вендору нет.
Что именно просить у интегратора?
Три вещи: принимать SIP-вызовы с нашего адреса без регистрации, маршрутизировать их в исходящее направление по набранному номеру и подставлять ваш номер в качестве исходящего. Плюс открыть голосовую подсеть на медиа-шлюзах.
Нужен ли SBC перед SI3000?
Если он у вас уже стоит на границе сети, транк логично завести на нём: тогда SI3000 видит привычного внутреннего соседа, а вся работа с внешним адресом остаётся на SBC. Отдельно покупать SBC ради этого подключения не нужно.
Какой кодек использовать?
G.711A. Это же alaw, который по умолчанию используется в казахстанских сетях, поэтому перекодирования не возникает.