Опыт установки FreePBX  в офисе компании и транки МГТС

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

gpon modemgateway natex

О первой - читаем здесь http://www.mgts.ru/home/internet/technology/

О второй - http://www.nateks.ru/catalog/voip-resheniya/voip-shlyuzy-semeystva-flexgain-access-voicecom/flexgain-access-voicecom-130-2

Телефон работает без проблем. За Интернет сказать не могу, но отзывов хороших не слышал. Обсуждение железа нам сейчас тоже не нужно.
Мы пойдем другим путем, так как у нас другие проблемы, а соответственной и другой способ решения.

 

 Видение проблемы

Компания переехала в два помещения в рядом стоящих зданиях и таких коробок оказалось два комплекта по 5 городских номеров (в сумме десять). Разговаривать внутри компании через городской номер - глупая трата денег.

После ремонта этих двух помещений, выяснилось, что в проекте вообще отсутствует понятие ЛВС для работы в Интернет. Только одна розетка в каждой комнате для телефонии. К слову сказать, комнат получилось 46, а на руках у меня одна АТС 824 Panasonic на 24 внутренних линий и 16 внешних.

Положительным было одно. У меня замечательный Интернет провайдер http://www.kvidex.ru/ , который мне предоставил 100 Мб/c на очень льготных условиях. Оба здания оказались в одной локальной сети.

Решение проблемы 

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

Установка программной АТС.
Выбор пал на FreePBX Distro. Почему именно этот дистрибутив? Скажу честно - не знаю. Я много работал с уже предустановленными системами, но сам не разворачивал ни когда. Почитав в течении часа Google, решил, что обзоров по ней больше. Сейчас уже понимаю, что когда знаешь Asterisk, принципы работы телефонии, то дистрибутив значения особого не имеет. (или поправьте меня...).

 У меня есть некий ремонтный фонд компьютерной техники, на базе которого я и собрал свой маленький сервер.
- Процессор Intel 2 Core Duo с частотой 1,86 Ггц
- Оперативная память - две планки по 2 Гб
- Жесткий диск Western Digital на 160 Гб
- Две сетевых карты. Одна смотрит в локальную сеть и Интернет, вторая - на GPON МГТС.

В процессе установки столкнулся с одной проблемой. В Биосе контроллер был выставлен как IDE и после загрузке дистрибутива, он в упор не видел куда устанавливать операционную систему. Выставив в SATA, поставилось все без проблем. Сам процесс установки описывать не буду, статей об этом очень много. Хотя бы как пример установки.

Настройка

Может плохо искал в сети, но сразу настроить не получилось. Сетевая плата, назовем ее eth1, настроена со статическим IP-адресом и смотрела в локальную сеть. Сетевая плата - eth0, получает адреса от DHCP сервера МГТС.
Внутренние линии настроились и заговорили, но как быть с внешними? - Звонок другу! ))

Позвонив установщику телефонии, получил документацию по настройке шлюза Natex. Выяснилось, что адресация на eth0, не та, какая должна быть и все это из-за опции "DHCP Server option 120" В стандарте RFC 3361 подробно описано, что это. Идем дальше.

Пишем параметры подключения eth0:

Я пользуюсь mc и vim. Vim уже стоял в CentOS 7, на которой и собран FreePBX Distro, mc - yum install mc.
Далее, файл /etc/dhcp/dhclent-eth0.conf

после строки send vendor-class-identifier "anaconda-Linux....."; допишем нужные нам параметры

option rfc3361-sip-servers-dhcp-option code 120 = "120";
request subnet-mask, broadcast-address, time-offset, domain-name, host-name, interface-mtu;

далее esc, : , wq, enter

и ifdown eth0, ifup eth0. - Поднимается интерфейс долго, поэтому не торопимся. Команда ifconfig покажет нам, что адрес на eth0 уже другой - из другого пула DHCP сервера.....Но! соединение долго не держится. Скажу сразу, много переписывалось в плане маршрутизации....закончилось написанием следующего файла:

vim /etc/dhcp/dhclient-eth0-up-hooks

#/bin/sh
/sbin/ip route add sip server 1/24 via gw ||true
/sbin/ip route add sip server 2/24 via gw ||true
/sbin/ip route add dns server 1/32 via gw ||true
/sbin/ip route add dns server 2/32 via gw ||true

далее esc, : , wq, enter

и chmod +x dhclient-eth0-up-hooks (сделаем его исполняемым)

перезагружаем сетевой интерфейс eth0.....все. Больше разрыва с SIP сервером МГТС не наблюдалось.

Теперь пробежимся по параметрам файла. Для этого нам надо подключить наш шлюз Natex, к сети МГТС и зайти в раздел "Системная информация":

gw шлюз сетевого подключения
- sip 
server 1/24 сип сервер 1 ( мы увидим конкретный адрес сервера, что-то вроде 192.168.254.2
- sip 
server 2/24 сип сервер 2 но запишем его в виде 192.168.254.0/24)
dns server 1/32 DNS сервер первый
dns server 2/32 DNS сервер второй

 Параметры подключения, создание Транка

В Web браузере набираем адрес FreePBX и раздел Connectivity-Trunks В меню слева Add Trunk.
Нас интересуют только три раздела:

General Settings

Trunk Name - назовите как хотите, главное, чтобы было понятно
Outbound CallerID - Ваш номер в виде +74991234567 (у каждого свой)

Outgoing Settings

Trunk Name из General
PEER Details
                    username=+74991234567@msk.ims.mgts.ru

                   type=peer

                   secret=password (пароль к подключению к sip серверу)

                   qualify=yes

                   nat=no

                   insecure=invite,port

                   host=192.168.1.1 (IP адрес sip сервера мгтс. смотрели в в разделе "Системная информация" Natex)

                   fromuser=+74991234567

                   fromdomain=msk.ims.mgts.ru (это тоже можно увидеть в Natex. Может отличаться)

                   disallow=all

                   context=from-trunk

                   canreinvite=no

                   allow=alaw,ulaw

Registration

Register String

+74991234567@msk.ims.mgts.ru:password:+74991234567@msk.ims.mgts.ru@192.168.1.1/+74991234567

Здесь тоже все просто:
Логин: 
+74991234567@msk.ims.mgts.ru
Пароль: 
password
Авторизация на sip сервере мгтс: 
+74991234567@msk.ims.mgts.ru@192.168.1.1
Пользователь номер телефона): 
+74991234567

 Отдельное спасибо за помощь в настройке Юрию и Сергею Цыганову.