- PVSM.RU - https://www.pvsm.ru -

Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недорогой способ это сделать — развернуть бесплатный сервер VoIP с открытым исходным кодом Asterisk на виртуальной машине. В статье для примера мы использовали Ubuntu 20.04, но этот рецепт подойдет и для других версий популярного дистрибутива — 18.04 и 18.10, а также (в теории, мы не проверяли) для актуальных версий Debian.
Существуют и другие серверы VoIP, при этом некоторые коммерческие продукты ограниченное время можно использовать бесплатно. Считается, что они гораздо проще в настройке, но требуют для работы Windows или установки с собственного дистрибутива Linux. Это сразу отсекает большинство недорогих , а собственное железо с каналом передачи данных или аренда выделенного аппаратного сервера обходятся дороже. Бесплатный Asterisk разворачивается на любой виртуальной машине, к тому же внедрить его не так сложно. Для этого не потребуется даже сборка из исходных текстов. С помощью Asterisk нетрудно наладить телефонную связь между IP-телефонами (аппаратными и программными), а если подключиться к внешнему провайдеру VoIP, то за небольшую сумму денег вы получите полноценную IP АТС (IP-PBX). Если потребность в ней исчезнет, отказаться можно в любой момент — аренда выгоднее вложений в железо и софт.
Для тестов мы взяли недорогую виртуальную машину [2], но боевая конфигурация зависит от потребностей заказчика. Здесь проявляется главное преимущество

Инсталляция сервера VoIP на Ubuntu 20.04 — самая простая часть квеста. Необходимый пакеты есть в официальном репозитории дистрибутива и добавляются в систему парой команд. В Ubuntu мы используем механизм повышения привилегий sudo, а в Debian он скорее всего не понадобится, поскольку там практикуются интерактивные сеансы с правами root:
sudo apt-get update
sudo apt-get install asterisk asterisk-dahdi
Запуск и остановка службы Asterisk производятся через systemd, а посмотреть ее статус после инсталляции можно с помощью команды systemctl:
sudo systemctl status asterisk
Если все прошло удачно, результат будет примерно таким:

Для старта/остановки/перезапуска (например, после изменения конфигурационных файлов) службы в ручном режиме используются следующие команды:
sudo systemctl start asterisk
sudo systemctl stop asterisk
sudo systemctl restart asterisk
Пока все стандартно, но самая увлекательная часть нашего приключения впереди. Сервер VoIP нужно настроить.
Файлы конфигурации находятся в каталоге /etc/asterisk, причем их там огромное количество.
ls /etc/asterisk

Продукт настраивается очень гибко и обладает массой возможностей, но для решения простых задач большинство из них нам не понадобится. В этой статье мы ограничимся правкой двух конфигурационных файлов: /etc/asterisk/sip.conf и /etc/asterisk/extensions.conf. Предварительно стоит сделать их резервные копии:
sudo mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.b
sudo mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.b
Переходим к редактированию новых конфигурационных файла (самые любопытные могут изучить резервные копии дистрибутивных, там много интересного):
sudo nano /etc/asterisk/sip.conf
В файл нужно добавить минимум двух пользователей (внутренних абонентов) с номерами 1001 и 1002, а также задать для них пароли (параметр secret). На вашем сервере внутренние номера и пароли будут другими:
[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
transport=udp
srvlookup=yes
[1001]
type=friend
host=dynamic
secret=1234
[1002]
type=friend
host=dynamic
secret=5678
Аналогично делаем новый extensions.conf:
sudo nano /etc/asterisk/extensions.conf
Его содержание будет следующим:
[general]
static=yes
writeprotect=no
priorityjumping=no
autofallthrough=yes
clearglobalvars=no
[default]
exten => 1001,1,Dial(SIP/1001,10)
exten => 1002,1,Dial(SIP/1002,10)
Меняем владельца и права доступа к файлам, поскольку там лежат, в частности, пароли пользователей нашей АТС
sudo chown asterisk:asterisk /etc/asterisk/sip.conf /etc/asterisk/extensions.conf
sudo chmod 640 /etc/asterisk/sip.conf /etc/asterisk/extensions.conf
Теперь нам остается только перезапустить службу и проверить ее работоспособность:
sudo systemctl restart asterisk
sudo systemctl status asterisk
На этом настройка IP АТС с возможностью телефонной связи между внутренними абонентами завершена. Перейдем к проверке ее работоспособности.
Чаще всего для подключения к виртуальной АТС используют программные телефоны для настольных и мобильных операционных систем. Их существует великое множество, для тестов мы взяли бесплатный Linphone для iOS [3]и Android [4]. При первом запуске нужно будет выбрать опцию «ИСПОЛЬЗОВАТЬ SIP ПОЛЬЗОВАТЕЛЯ», а затем указать в настройках IP нашего сервера, логин и пароль. Учетную запись сервиса Linphone создавать не надо, у нас есть собственный.

После подключения к нашей АТС клиенты готовы общаться между собой. На рабочей станции с Linux и графическим окружением можно использовать тот же самый Linphone, доступный в официальном репозитории дистрибутива:
sudo apt-get install linphone
Настраивается он примерно так же. Теперь у нас есть виртуальная АТС, обеспечивающая связь между внутренними абонентами. Не бог весть какое достижение, но и трудозатраты на ее внедрение тоже невелики. В следующей статье мы научимся подключаться к SIP-провайдеру, звонить через него в мобильные и кабельные телефонные сети, принимать входящие внешние звонки, а также делать переадресацию и другие интересные штуки.

Автор: oldadmin
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ubuntu-2/357499
Ссылки в тексте:
[1] VDS: https://www.reg.ru/?rlink=reflink-717
[2] недорогую виртуальную машину: https://ruvds.com/ru-rub
[3] iOS : https://apps.apple.com/ru/app/linphone/id360065638
[4] Android: https://play.google.com/store/apps/details?id=org.linphone
[5] Image: http://ruvds.com/ru-rub?utm_source=habr&utm_medium=article&utm_campaign=krestnikov&utm_content=virtualnaya_ats._chast_1:_prostaya_ustanovka_asterisk_na_ubuntu_20.04#order
[6] Источник: https://habr.com/ru/post/521784/?utm_source=habrahabr&utm_medium=rss&utm_campaign=521784
Нажмите здесь для печати.