Авторизация

ASTERISK НА ДАЧЕ И ПРОВАЙДЕР ONLIME

aster

Уровень сложности конфигурации – 4,5 из 5 / Время на прочтение и реализацию – 4 часа

 

В предыдущей статье мы коснулись вопроса запуска Asterisk на Raspberry Pi для внутренней связи на даче.

В этой статье мы озаботимся приемом и осуществлением звонков в "город".

Здесь будет описана не совсем часто используемая конфигурация. Дело в том, что в качестве внешнего провайдера у нас будет Onlime от Ростелеком. Так получилось, что в городе у меня именно этот провайдер, а он помимо доступа в Интернет и телевидения вручил небольшую коробочку, которая оказалась SIP-шлюзом у которого с одной стороны Интернет, а с другой порт FXS для аналогового телефонного аппарата. В дополнение к коробочке был выдан московский городской номер в коде +7 499.

Почему бы этот номер не прокинуть на дачу?

Однако все не так просто.

Вся проблема в том, что господа из Onlime сделали ограничение. Их коробочка или ваше собственное оборудование смогут зарегистрироваться на их SIP коммутаторе только если обладают IP адресами из их сети. То есть, так просто зарегистрироваться и совершать звонки из любой точки мира у вас не получится. Конечно, если вы не вспомните про VPN.

В моем случае, я уже пользовался VPNKI и захотел собрать конфигурацию с их помощью.

Чтобы поставить такую коробочку на даче мне пришлось проделать несколько шагов.  Цель этих настроек – сделать так, чтобы коробочка с SIP телефоном (или ваш SIP клиент на смартфоне) подключились к сети Onlime через ваш домашний маршрутизатор. Так вы обойдете ограничения провайдера и сможете пользоваться московским городским номером в любом месте.

Вторая статья, которая поможет нам реализовать эту схему рассказывает о том, как сделать выход в Интернет через один из своих VPN туннелей. По сути, нам придется воспользоваться результатами этой конфигурации с тем отличием, что через один выбранный VPN туннель у вас будет выходить не весь трафик в Интернет, а лишь трафик протокола SIP к шлюзу Onlime.

Итак, вот что необходимо сделать:

  • Настроить каналы VPNKI
  • Настроить домашний маршрутизатор
  • Настроить дачный маршрутизатор
  • Настроить SIP шлюз или Asterisk или ваш SIP клиент
  • Проверить всю работу

Но, как обычно, сначала общая схема и краткое пояснение

 

1 VPNKI guide asterisk onlime 1

 

В сети, где расположен наш Asterisk, а точнее на устройстве 2, должен существовать маршрут к коммутатору Onlime – 77.37.128.140 и вести он должен в сеть VPNKI

На сервере VPNKI необходимо воспользоваться функцией «маршрут по умолчанию» и тогда весь неизвестный трафик пойдет по этому маршруту (ведь маршрут к 77.37.128.140 впрямую нигде на сервере VPNKI не прописан, а значит является «неизвестным»)

На устройстве 1 необходимо настроить маршрутизацию трафика из VPN туннеля в сеть провайдера Onlime.

 

Начнем...

 

 

Шаг 1. Настроить каналы VPNKI

 

Это самый простой шаг. Отключите все соединения.

В разделе «Мои настройки» - «Дополнительно» - «Маршрут по умолчанию» выберите туннель, который будет вести к вашему домашнему маршрутизатору. Речь идет о туннеле user101. Теперь этот туннель будет являться «маршрутом по умолчанию» для всего вашего трафика сети VPN. Эта установка будет применяться к серверу VPNKI в тот момент, когда туннель user101 будет устанавливаться. Эта настройка будет удаляться с сервера VPNKI тогда, когда туннель user101 разрывает свое соединение.

 

3 vpnki default gateway

Давайте проверим.

После выбора «маршрута по умолчанию» на сайте VPNKI установите VPN соединение с вашего домашнего маршрутизатора, зайдите на страницу «Инструменты» - «Инструменты» и нажмите там кнопку «Таблица маршрутов».

Вы должны будете увидеть новый маршрут, который звучит как default via 172.16.100.100 dev ppp143. Этот маршрут прописывается в системе автоматически, как только осуществляется подключение указанным туннелем.

 

Шаг 2. Настроить домашний маршрутизатор

 

А вот это самый сложный пункт. Здесь я бы не хотел переписывать предыдущую статью поэтому просто даю ссылку.

Необходимо пройти пункты 3.1, 3.2 и 3.3

После тяжелой, но успешной настройки давайте проверим.

Конечно, SIP-сервер Onlime пингуется с домашнего маршрутизатора DLink

 

 2 dlink onlime ping

 

 

Но теперь он также успешно пингуется и со страницы «Инструменты»

 

4 vpnki server onlime ping

 

 

Шаг 3. Настроить дачный маршрутизатор

 

Это совсем не сложно. Достаточно добавить новый статический маршрут, который будет направлять трафик к SIP серверу Onlime в VPN туннель.

 

5 keenetic route onlime sip

 

Давайте проверим. О, чудо!

 

6 keenetic onlime ping

 

 

Шаг 3. Настроить дачный Asterisk

 

Что же, остался последний шаг. Как был настроен Asterisk для внутренней связи было описано в части 1.

Теперь необходимо:

1. Проверить что Raspberry Pi успешно пингует сервер Onlime

Тут все просто

7 raspi onlime ping

 

2. Добавить в конфигурацию Asterisk параметры для регистрации на сервере Onlime. Ну и создать правила для обработки входящего вызова и правила набора номера в «город»

 

Внесем изменения в Sip.conf

Добавим в раздел [general] следующую строку:

register => =<телефонный_номер_выданный_onlime_с_кодом_города>:<пароль_выданный_onlime>@tel2.moscow.rt.ru:5060/99

Небольшое пояснение:

  • Номер телефона и пароль, выданы Onlime при покупке услуги и последующей активации в личном кабинете.
  • Адрес сервера - tel2.moscow.rt  и порт 5060
  • 99 – это номер на который будут поступать входящие городские вызовы идущие с коммутатора SIP onlime. В моем случае я завел группу, в которую включил все дачные телефоны (об этом чуть ниже). Теперь звонок из городской сети поступает на все телефоны одновременно и достается тому, кто первый снимет трубку.

Кроме этого, в раздел [general] нужно добавить и описание подключения. Я назвал его [rt].

[rt]

secret=<пароль_выданный_onlime>

remotesecret=<пароль_выданный_onlime>

transport=udp

defaultuser=<телефонный_номер_выданный_onlime_с_кодом_города>

videosupport=no

trunkname=rt

host=tel2.moscow.rt.ru

type=friend

context=dacha

allow=alaw

allow=ulaw

allow=g729

allow=g726

allow=all

allow=gsm

insecure=invite

fromuser=<телефонный_номер_выданный_onlime_с_кодом_города>

fromdomain=tel2.moscow.rt.ru

callerid=<телефонный_номер_выданный_onlime_с_кодом_города>

nat=no

directmedia=no

dtmfmode=rfc2833

 

 

Ну и последние дополнения в конфигурацию asterisk нужно сделать в файле extensions.conf

В контекст [dacha] добавьте следующие строки:

 

; groups – номер 99 как группа вызова для всех телефонов

exten => 99,1,Dial(SIP/10&SIP/11&SIP/20&SIP/21&SIP/22&SIP/55)

; Dial out – правило вызова в город через 0

exten => _0.,1,Dial(SIP/rt/${EXTEN:1})

 

Все. Теперь перезагрузим Asterisk и смотрим ...

 

sudo service asterisk stop
sudo service asterisk start

 

 

 

Шаг 4. Проверка

Давайте посмотрим на факт регистрации на коммутаторе SIP Onlime. Перейдите к интерактивному режиму Asterisk при помощи команды:

[code]sudo rasterisk[/code]

В командном режиме можно посмотреть ситуацию с подключенными телефонами:

[code]sip show peers[/code]


Здесь вы должны увидеть факт успешной регистрации Asterisk на коммутаторе Onlime.

 8 sip show peers

 

Теперь пробуем позвонить в город, набрав 0 и далее код города и номер телефона.

Ну и наконец - вызов из города на ваш номер Onlime. При этом вызов должен поступить на все номера, входящие в группу с номером 99.

 

Результат

Вот и все. Теперь московский номер можно иметь в любой точке мира.

Если что-то пошло не так, то воспользуйтесь командами работы с Asterisk, которые есть в конце предыдущей статьи.