Когда-то, для того, что бы настроить домашний сервер IP-телефонии нам приходилось поднимать под эти цели виртуальную машину или выделять отдельный старенький компьютер и круглосуточно слушать шум его работы. Или заказывать недорогой VPS и платить за хостинг.
Сегодня, благодаря появлению мини-компьютера Raspberry Pi, стоимостью всего 35$ и проекту raspberry-asterisk.org, можно за считанные минуты настроить стабильный и бесшумный домашний IP-сервер с низким потреблением электроэнергии. В этой статье речь пойдет о том, как это сделать и какие настройки выбрать для самых дешевых звонков.
Установка FreePBX на Raspberry Pi
Благодаря проекту raspberry-asterisk.org установка FreePBX на Raspberry Pi проста до безобразия (за что отдельное спасибо авторам) и заключается в распаковке образа настроенной ОС на SD карту Raspberry:
- Качаем свежий образ ОС с этой страницы;
- С помощью программы Win32DiskImager (Windows) или dd (Linux) заливаем образ на SD (потребуется карточка не менее 4Гб);
- Устанавливаем подготовленную SD в Raspberry и подключаем устройство к сети.
Когда Raspberry загрузится, смотрим на роутере, какой IP адрес был выделен устройству. Теперь, мы можем войти на него через SSH или http, указав этот IP.
Для входа используйте следующую комбинацию логин / пароль:
SSH: root / raspberry
Админка FreeBX: admin / admin
Настройка IP-АТС FreePBX
Смена стандартных паролей
Первым делам необходимо сменить стандартные пароли на личные. Для этого в консоли SSH набираем:
# passwd root
и вводим новый пароль.
В админке FreePBX пароль меняется так:
меню Admin -> раздел Administrators -> выбираем admin и меняем пароль.
Установка статического IP адреса Raspberry Pi
Что бы DHCP однажды не сменил IP адрес нашему Raspberry (и не разорвал соединение со всеми подключенными к серверу телефонии устройствами) нужно назначить нашей IP-АТС статичный IP адрес.
В консоли SSH, заходим в файл конфигурации сети /etc/network/interfaces:
nano /etc/network/interfaces
и вместо строчки (ее можно закомментить знаком #)
iface eth0 inet dhcp
вставляем:
iface eth0 inet static address ***НУЖНЫЙ IP*** netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 8.8.8.8
перезагружаем интерфейс:
service networking restart
Не забудьте сделать проброс портов 5060 (и 8080, если нужен доступ к web интерфейсу из интернета) через роутер, или включить DMZ на этот IP.
Конфигурирование FreePBX
Для конфигурации FreePBX нужно зайти в по новому IP в броузере. Подробно о конфигурировании FreePBX я писал одноименной в статье. И хоть на вашем Raspberry Pi установлена более новая версия FreePBX, чем та, о которой написана статья, основные этапы конфигурации не изменились.
Дополнительную информацию о настройке вы можете узнать, изучив другие статьи про FreePBX:
- Asterisk транки для MangoSip, PCTel, Zadarma
Да, если вы будете настраивать транк для SipNet — используйте конфигурацию аналогичную Zadarma, описанную в данной статье. - FreePBX входящая маршрутизация
- Asterisk FreePBX различные кодеки при соединении
Оптимальная конфигурация для дешевых звонков
Тут я расскажу, какой конфигурацией пользуюсь я дома. Возможно, кто-то предложит к ней какие-то дополнения или более дешевые варианты — буду рад об этом прочитать в комментариях.
Итак, у меня настроено 3 транка: SipNet, PCTel и Zadarma.
SipNet
Т.к. у Сипнет звонки по Москве бесплатны (см. правила акции), на этот транк уходят номера на городские московские телефоны с кодом 495 и 499 (ту да же Питерские городские, Астана, Аламата.. но по этим направлениям звоню я крайне редко);
PCTel
У этого оператора все звонки по России — 1 рубль/минута. Его удобно использовать для звонков на мобильные телефоны и на стационарные телефоны для городов не вошедших в бесплатную зону SipNet (во многие города у SipNet или Zadarma тарифы ниже, чем по 1 рублю за минуту и если часто приходится звонить по разным городам можно вручную, по коду города установить адресацию звонков на нужный транк).
Zadarma
Этот оператор бесплатно выдает Москвоские номера (как сотовые: 8-901-ХХХ-ХХ-ХХ), при условии пополнения счета на любую сумму (минимум 2$) раз в 2 месяца (при этом эта сумма остается на вашем счету и может быть потрачена на звонки). Таким образом мы получаем вполне приемлемый входящий номер для нашей системы. При необходимости можно арендовать у Zadarma и номер в коде 495, 499, 496 и др, за вполне приемлемую плату (17, 4 и 3$ соответственно).
Таким образом получается, что на стационарные телефоны я звоню бесплатно через SipNet, на мобильные за 1 рубль/минута через PCTel. Ко мне можно дозвониться по «мобильному» номеру от Zadarma. Если абонент не хочет платить за разговор со мной, он может позвонить мне по номеру 8-499-503-4004, набрав в тоновом режиме добавочный номер (номер абонента PCTel). «Абонентская плата» (точнее обязательный платеж) за все это удовольствие 2$ раз в 2 месяца. Как вам?
P.S. Спустя несколько месяцев случилось неприятное: Raspberry при аптайме в 3 недели подвис. После «жесткой» перезагрузки — отказался загружаться с SD, пришлось настраивать все заново. Не в первой, но все же.. Делайте бэкапы после настройки)


[…] старый друг Raspberry Pi (который, кстати уже выполняет роль домашнего сервера IP-телефонии), и любой винчерстер, завалявшийся в ящике со времен […]
[…] уже писал ряд статей о IP-телефонии для дома (например, IP-АТС FreePBX на мини-компьютере Raspberry Pi или Конфигурирование FreePBX) и использовании различных […]
[…] все, конечно, замечательно, но у меня уже есть неплохой сервер IP-телефонии, который в целом удобнее, гибче, и обходится дешевле. […]
[…] IP-АТС FreePBX на мини-компьютере Raspberry Pi […]
Давно хотел себе такую штуку. Наконец, земляничка куплена, буду пробовать. Спасибо за статью :)
И вам спасибо за отзыв, Pit!
Спасибо за описание всего процесса! Очень помогло. Добра :)
И вам спасибо за отзыв, Deb!
Привет! Создаю в FreePBX на Raspberry транк, пишет, что неправильное имя. Даже если взять копию с уже созданного, и поменять цифру, будет та же самая ошибка. В чем может быть дело?
Возможно, что-то с именем в разделе Outgoing Settings: «Trunk Name» и «USER Context». Они должны быть латинскими буквами, в одно слово и уникальны. Но если копию создаете, обычно, FreePBX сам переименовывает.
[…] с в статье «IP-АТС FreePBX на мини-компьютере Raspberry Pi» я описывал оптимальную конфигурацию FreePBX для […]
[…] особо экономных гиков, имеет смысл поднять у себя дома SIP-сервер, что бы в автоматическом режиме правильно […]
Последний raspberry-asterisk приводит в ступор: ничего по умолчанию не работает, включая SSH, нет предустановленной freepbx и т.д. Я не знаю, чем он теперь от raspbian отличается с оффсайта?