Авторизация

ТЕЛЕФОННАЯ СТАНЦИЯ ASTERISK НА ДАЧЕ. ЧАСТЬ 1

aster

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

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

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

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

 

Решение

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

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

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

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

Что касается 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.

Также есть три группы обзвона. Их суть такова – если набрать номер 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