Опыт установки FreePBX в офисе компании и транки МГТС
После заключения договора на предоставлении телефонии и подписании акта выполненных работ,в моем кабинете - серверной (только в одной компании жил не рядом с сервером) появились чудо-коробки.
О первой - читаем здесь http://www.mgts.ru/home/internet/technology/
Телефон работает без проблем. За Интернет сказать не могу, но отзывов хороших не слышал. Обсуждение железа нам сейчас тоже не нужно.
Мы пойдем другим путем, так как у нас другие проблемы, а соответственной и другой способ решения.
Видение проблемы
Компания переехала в два помещения в рядом стоящих зданиях и таких коробок оказалось два комплекта по 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
Отдельное спасибо за помощь в настройке Юрию и Сергею Цыганову.