Авторизация

ТЕЛЕФОННАЯ СЕТЬ НА ДАЧЕ, SIP СЕРВЕР, ASTERISK.ЧАСТЬ 1

для коммуникаций на даче без сотовой связи и смартфона

ТЕЛЕФОННАЯ СЕТЬ НА ДАЧЕ, SIP СЕРВЕР, ASTERISK.ЧАСТЬ 1

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

Сложность в том, что у меня на даче есть два строения, дом и хоз.блок. Все дачные жители, в течение дня, расползаются по участку. Поэтому найти кого-то, чтобы узнать «куда положили отвертку» затруднительно. То же самое относится и к сбору всех на обед. Приходится обходить участок и вручать персональное обеденное приглашение.

А почему бы не использовать мобильный, спросите вы? По трем причинам:

  • на даче сотовая связь всегда была не очень качественной и дозвониться удавалось не всегда.
  • обзванивать несколько телефонов для приглашения к обеду просто неудобно.
  • традиционно, сотовый телефон на даче находится в очень далеком и неудобном кармане. При этом руки еще и заняты какой-то работой и вообще грязные.

 

Решение

В момент очередного неудобного звонка я и задумался о программной телефонной станции вместе с SIP телефонами. Такими, которые можно повесить на стену. Ну или установить на стол в наиболее посещаемых местах.

И да, на тот момент, меня вполне устраивала лишь внутренняя связь. «Выход в город» особенно не интересовал, так как хотелось решить внутренние коммуникационные сложности.

flying voiceВ качестве телефонной станции выбор пал на бесплатный Asterisk для Linux. В качестве «железа» меня вполне устроил старенький Raspberry Pi.

Было определено несколько мест для расстановки телефонов. Аппараты были заказаны на Aliexpress. Дело было в 2015 году и тогда я купил аппараты VoIP-телефон Flying Voice IP622 c WiFi. Не хотел тащить новые провода. Не знаю есть ли они сейчас, но уверен, что сейчас много всяких разных.

Что касается Asterisk, то его установка и конфигурирование описаны в сети многократно. Я не буду повторять все досконально. Укажу лишь основные места, на которые необходимо обратить внимание.

 

 

Установка

Итак, ставим.

sudo apt-get update
sudo apt-get install asterisk

Собственно, все. Теперь у вас есть телефонная станция. Она работает на IP адресе вашего Raspberry Pi и, по-умолчанию, слушает на UDP порту 5060.

 

 

Настройка

Теперь настройка. После установки у вас в каталоге /etc/asterisk есть множество файлов. Нам потребуются два – sip.conf и extensions.conf.

Файл extensions.conf описывает номерной план вашей телефонной сети.

Я назвал этот контекст dacha и добавил текст в конец файла extensions.conf.

 

[dacha]

;Если набран номер 10 - отправлять звонок на SIP-телефон. Дом. 1-й этаж.

exten => _10,1,Dial(SIP/${EXTEN})

;Если набран номер 11 - отправлять звонок на SIP-телефон. Дом. 2-й этаж.

exten => _11,1,Dial(SIP/${EXTEN})

;Если набран номер 20 - отправлять звонок на SIP-телефон. Хозблок. Бойлерная.

exten => _20,1,Dial(SIP/${EXTEN})

;Если набран номер 21 - отправлять звонок на SIP-телефон. Хозблок. Комната.

exten => _21,1,Dial(SIP/${EXTEN})

;Если набран номер 55 - отправлять звонок на Droid.

exten => _55,1,Dial(SIP/${EXTEN})

 

;Группы.

exten => 15,1,Dial(SIP/10&SIP/11)

exten => 25,1,Dial(SIP/20&SIP/21&SIP/22)

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

 

Небольшие комментарии. Как следует из пояснений, у нас есть 4 телефона, расположенные в двух постройках. Есть номер 55, который получает мой Android, когда регистрируется в дачном WiFi. При этом на Android  я использую приложение Zoiper. Его можно найти в Google Play.

Также есть три группы обзвона. Их суть такова – если набрать номер 15, то зазвонят аппараты с номерами 10 и 11 в доме. Если набрать 25, то зазвонят все аппараты в хозблоке. Ну и наконец, номер 99 заставит звонить вообще все телефонные аппараты на даче.  

Вот мы описали весь номерной план с именем dacha.

Теперь давайте перейдем к файлу sip.conf.

В нем описываются параметры подключений по протоколу SIP. Наши телефоны подключены именно по нему. Поэтому добавим настройки SIP телефонов в конец файла.

 

[10]

; Дом, 1-й этаж.

type=friend

host=dynamic

username=10

secret=9999

nat=no

canreinvite=no

context=dacha

callerid=10

disallow=all

allow=ulaw

allow=alaw

allow=speex

allow=gsm

allow=h261

allow=h263

allow=h263p

allow=vp8

[11]

; Дом, 2-й этаж.

type=friend

host=dynamic

username=11

secret=9999

nat=no

canreinvite=no

context=dacha

callerid=11

disallow=all

allow=ulaw

allow=alaw

allow=speex

allow=gsm

allow=h261

allow=h263

allow=h263p

allow=vp8

[20]

; Хозблок, бойлерная.

type=friend

host=dynamic

username=20

secret=9999

nat=no

canreinvite=no

context=dacha

callerid=20

disallow=all

allow=ulaw

allow=alaw

allow=speex

allow=gsm

allow=h261

allow=h263

allow=h263p

allow=vp8

[21]

; Хозблок, комната.

type=friend

host=dynamic

username=21

secret=9999

nat=no

canreinvite=no

context=dacha

callerid=21

disallow=all

allow=ulaw

allow=alaw

allow=speex

allow=gsm

allow=h261

allow=h263

allow=h263p

allow=vp8

[55]

type=friend

host=dynamic

username=55

secret=9999

nat=no

qualify=yes

canreinvite=no

context=dacha

callerid=55

disallow=all

allow=gsm

allow=ulaw

allow=alaw

allow=speex

allow=h261

allow=vp8

allow=h263

allow=h263p

videosupport=yes

 

Небольшие комментарии.

Как видите, все соединения от телефонных аппаратов сконфигурированы идентично. Указываются username и secret. Это то, с чем телефонные аппараты будут регистрироваться в Астериске. В моем случае я установил пароль 9999 для всех телефонов.

Второй важной особенностью является упоминание названия номерного плана dacha в описании каждого подключения. Это параметр context. Ну и такой набор кодеков (то что начинается со слова allow=) вполне подошел как для стационарных телефонов, так и для SIP клиента Zoiper на моем Android.

Ну, вот и все. Остальные настройки я вроде даже и не менял. Хотя по прошествии трех лет уже не могу быть полностью уверен.

 

 

Запустим и остановим

Осталось научиться запускать и останавливать Asterisk.

sudo service asterisk stop
sudo service asterisk start

 

Еще команды

Прежде чем вы начнете конфигурировать сами телефоны или SIP клиента для Android вам имеет смысл ознакомиться с некоторыми командами Asterisk. Они помогут в поиске возможных проблем.

Можно зайти в режим командной строки Asterisk, выполнив команду.

sudo rasterisk

 

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

sip show peers

 

Можно посмотреть все настройки протокола SIP.

sip show settings

 

Посмотреть заведенных пользователей.

sip show users

 

Можно включить дебаг протокола SIP.

sip set debug on

 

Или выключить его.

sip set debug off

 

 

Настройка телефонов и SIP клиента

Теперь, после знакомства с некоторыми командами, можно перейти к настройкам телефонов. Или SIP клиента на Android. Или компьютера с Windows.

Там все крайне просто. Необходимо создать новую учетную запись (или новое подключение к серверу SIP). При этом указав его IP адрес и порт (5060). Так же нужно указать номер и пароль регистрируемого устройства. Пример настройки вы можете увидеть в инструкции по ссылке ниже. С той лишь разницей, что в ней идет речь про настройку подключения к SIP серверу на площадке VPNKI. Однако для настройки клиентского ПО или телефонного аппарата это безразлично.

https://vpnki.ru/settings/apps/sip-telephony-server

 

Результат

Таким образом, мы создали на двух площадках дачного участка внутреннюю телефонную сеть. Она помогла мне во «внутридачных коммуникациях».

В следующей статье будет рассказано о подключении дачного Asterisk к SIP серверу московского провайдера Onlime. Теперь уже с целью получения московского телефонного номера на даче. Но и не только на даче.

 

Если что-то не получилось или что-то неверно описано, то задавайте вопросы на форуме https://vpnki.ru/questions/support-forum/blog-news.

 


 

Рекомендации по выбору тарифа

Если вы не планируете передачу видео трафика, то мы рекомендуем вам начинать с выбора тарифа PLAN-MYDEV. Если передача видео будет осуществляться, то стоит сразу начинать с PLAN-VIDEO. Если скорости хватать не будет, то в любое время вы можете изменить тариф на более скоростной.

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

Контролировать объем переданного трафика вы можете на странице с графиками использования.

Узнать реальную скорость своего VPN соединения вы можете утилитой iperf3 на странице "Инструменты". Стоит отметить, что вопрос скорости передачи полезных данных будет зависеть от трех факторов:

  • от типа используемого протокола VPN;
  • типа транспортного протокола - TCP или UDP;
  • физической удаленности вашего устройства от нашего сервера.

Худшим вариантом по скорости окажется вариант, когда в качестве транспортного протокола для VPN соединения используется TCP. При этом ваше устройство размещено далеко от сервера VPNKI. В этом случае, реальная скорость передачи данных будет определяться необходимостью подтверждения передачи каждого пакета в протоколе TCP.


 

ДОПОЛНИТЕЛЬНО ПО ТЕМЕ КОНФИГУРАЦИИ УДАЛЕННОГО ДОСТУПА

Кроме настройки по этой инструкции вам могут пригодиться другие примеры конфигурации и использования системы.

  • Рабочий стол через RDP и OpenVPN. Ссылка здесь.
  • Выставить FTP сервер через проброс TCP порта. Ссылка здесь.

 

ОБЩАЯ ИНФОРМАЦИЯ О БЛИЗКИХ ТЕМАХ

По ссылкам ниже вы можете ознакомиться с информацией, связанной с темой VPN соединений.

  • Про удалённый доступ к компьютеру можно. Можно почитать на нашем сайте.
  • Про VPN и протоколы можно почитать здесь.