Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.
Получать статьи этого сайта на почту:

 

16
Ноя 2015
sergldom
автор
11
комментариев
Рейтинг статьи:
5
Средняя: 5 (2 оценки)

Установка Asterisk PBX на мини сервер Raspberry Pi

   Сегодня установим цифровую телефонную станцию Asterisk PBX на базе одноплатного компьютера Raspberry Pi либо его аналога например OrangePi. Asterisk на данном мини сервере показал себя отлично, мощности хватает без перекодирования на 5 одновременных звонков с запасом, то есть для малого офиса такого мини сервера хватит за глаза.

   Операционную систему мы установили по инструкции:   Установка Debian на мини сервер Raspberry Pi

Приступаем к установке.

Добавляем репозиторий для установки телефонии

Для Debian Wheezy выполнить команду:

echo 'deb http://repo.raspbx.org/apt/debian wheezy main' >> /etc/apt/sources.list

Для Debian Jessie выполнить команду:

echo 'deb http://repo.raspbx.org/apt/debian jessie main' >> /etc/apt/sources.list

Добавляем ключ репозитория выполнив команду:

wget -q -O /tmp/raspbx.gpg.key http://repo.raspbx.org/raspbx.gpg.key && apt-key add /tmp/raspbx.gpg.key

Обновляем репозитории системы выполнив команду:

apt-get update

Добавляем настройки в файл sysctl.conf и применяем изменения выполнив команды:

echo '
kernel.panic=5
kernel.printk = 3 4 1 3
vm.swappiness = 1
vm.min_free_kbytes = 16384
' > /etc/sysctl.conf
sysctl -p

   Устанавливаем необходимые пакеты для работы Asterisk c базой данных и саму АТС Asterisk выполнив команду:

apt-get install libmysqlclient-dev libxml2-dev libncurses5-dev libsqlite3-dev libssl-dev libsrtp0-dev unixodbc-dev libmyodbc mysql-server asterisk11 asterisk11-chandongle asterisk11-sounds usb-modeswitch

   Скачиваем скрипт автоматического запуска Asterisk в Raspberry Pi ибо OrangePi выполнив команды:

wget -O /etc/init.d/asterisk http://softnastroy.com/downloads/asterisk/asterisk_init.d_11
chmod +x /etc/init.d/asterisk
update-rc.d asterisk defaults

   Скачиваем русский язык для устанавливаемой АТС Asterisk выполнив команды:

cd /var/lib/asterisk/sounds
wget -O - http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-alaw-current.tar.gz | tar xvfz -
wget -O - http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-ulaw-current.tar.gz | tar xvfz -

   Для большей безопасности не будем разрешать работать Asterisk PBX под пользователем root, создаем нового пользователя asterisk под которым будет работать наша VOIP телефония:

adduser asterisk --disabled-password --no-create-home --gecos "asterisk PBX user"

   Вносим изменения в файл /etc/default/asterisk для запуска телефонии под пользователем asterisk выполнив команду:

echo '
AST_USER="asterisk"
AST_GROUP="asterisk"
COLOR=yes
' > /etc/default/asterisk

Скачиваем архив стандартной конфигурации от Asterisk 11 c моего сайта удалив то, что устанавливает установочный пакет с репозитория Raspberri Pi выполнив команды:

cd /etc/asterisk/
rm -rf /etc/asterisk/*
wget -O - wget http://softnastroy.com/downloads/asterisk/asterisk_etc_11.tgz  | tar xvfz -

   Изменяем права файлов Asterisk для работы под отдельным пользователем выполнив команды:

chown -R asterisk:asterisk /var/lib/asterisk
chown -R asterisk:asterisk /var/log/asterisk
chown -R asterisk:asterisk /var/run/asterisk
chown -R asterisk:asterisk /var/spool/asterisk
chown -R asterisk:asterisk /usr/lib/asterisk
chmod -R u=rwX,g=rX,o= /var/lib/asterisk
chmod -R u=rwX,g=rX,o= /var/log/asterisk
chmod -R u=rwX,g=rX,o= /var/run/asterisk
chmod -R u=rwX,g=rX,o= /var/spool/asterisk
chmod -R u=rwX,g=rX,o= /usr/lib/asterisk
chown -R root:asterisk /etc/asterisk
chmod -R u=rwX,g=rX,o= /etc/asterisk

 

   Можете также указать какие именно модули будете загружать, я использую модули в списке ниже:

echo '
[modules]
autoload=no

load => app_dial.so
load => app_read.so
load => app_stack.so
load => cdr_csv.so
load => chan_local.so
load => chan_sip.so
load => codec_alaw.so
load => codec_ulaw.so
load => format_wav.so
load => func_callerid.so
load => func_cdr.so
load => func_logic.so
load => func_strings.so
load => func_timeout.so
load => pbx_ael.so
load => pbx_config.so
load => res_ael_share.so
load => res_agi.so
load => res_rtp_asterisk.so
load => chan_dongle.so
load => app_verbose.so
load => app_system.so
load => func_base64.so
load => res_monitor.so
load => app_mixmonitor.so
load => res_stun_monitor.so
load => res_odbc.so
load => func_odbc.so
load => cdr_adaptive_odbc.so
load => cdr_odbc.so
load => cdr_mysql.so
' > modules.conf

 

GSM шлюз

   Если у Вас будут использоватся 3G модемы Huawei для организации дешевого GSM шлюза, тогда необходимо настроить udev, чтобы при подключении модема, он получал права пользователя Asterisk и сам Asterisk мог работать с модемом. Для этого создаем файл /etc/udev/rules.d/10-modem.rules командой:

echo 'KERNEL=="ttyUSB*", OWNER="asterisk", GROUP="dialout"' > /etc/udev/rules.d/10-modem.rules

При подключении модема мы можем посмотреть права которые он получил командой:

ls -la /dev/ttyUSB*

Ответ системы:

crw-rw---- 1 asterisk dialout 188, 0 Сен 30 22:08 /dev/ttyUSB0
crw-rw---- 1 asterisk dialout 188, 1 Сен 30 22:08 /dev/ttyUSB1
crw-rw---- 1 asterisk dialout 188, 2 Сен 30 22:08 /dev/ttyUSB2

 

TFTP сервер

Если Вы используете телефоны Cisco, тогда для удобства установим TFTP сервер, чтобы с него телефоны скачивали при загрузке конфигурационные файлы и прошивки.

Устанавливаем TFTP сервер по инструкции: Устанавливаем и настраиваем tftp сервер в Debian Squeeze, Ubuntu Linux c администрированием содержимого по ftp протоколу используя vsftpd сервер

 

Проверяем работу PBX Asterisk

Выполняем команду rasterisk  либо asterisk -rvvv для входа в консоль телефонии для проверки, просмотра сервисных сообщений Asterisk:

Asterisk 11.17.0, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 11.17.0 currently running on raspberrypi (pid = 9320)
raspberrypi*CLI> sip show peers
Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description
0 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 0 offline]
raspberrypi*CLI

 

Сегодня мы с Вами настроили телефонную АТС на базе бесплатного програмного обеспечения Asterisk PBX и одноплатного мини сервера очень экономичного по расходам электричества на Raspberry Pi, Orange Pi либо их аналоге.

   С Вами был Сергей Лазаренко.

   Сделаем небольшой перерыв и посмотрим небольшое видео о бане в походных условиях:

Рейтинг статьи: 

5
Средняя: 5 (2 оценки)

Вам понравилась статья? Хотите получать уведомления о выходе новых статей с этого сайта на свой почтовый адрес? Подписывайтесь пожалуйста. Введите свой почтовый адрес и нажмите кнопку Хочу получать статьи!

<![CDATA[]]><![CDATA[]]>

 

*Адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

 

 
 

 

11 комментария:
Maxim
06/01/2016 - 23:26
При выполнении пункта "Добавляем настройки в файл sysctl.conf ..." Возникает ошибка sysctl: cannot stat /proc/sys/vm/swappines: Нет такого файла или каталога vm.min_free_kbytes = 16384 Хорошо бы прокомментировать назначение устанавливаемых в sysctl.conf параметров.
N
16/02/2016 - 10:56
выполняю команду cd /var/lib/asterisk/sounds получаю ошибку "cd: /var/lib/asterisk/sounds: No such file or directory" как исправить ошибку? (orange pi pc debian Jessie 8 )
16/02/2016 - 15:26
Когда Вы устанавливаете пакет asterisk11-sounds создается папка и /var/lib/asterisk/sounds
N
17/02/2016 - 10:53
спасибо. получилось установить. проблема как я понял была в том, что я установку делал не через рут терминал. заново поставил дебиан и выполнил инструкцию через рут терминал.
Денис
04/03/2016 - 15:15
Все сделал как написано телефон циска 7911 что делать теперь дальше как номера присвоить и тп
Тарік
28/11/2016 - 19:18
Не доступен архив с конфигами, очень нужно, исправте плз!
Тарік
28/11/2016 - 19:22
Странно вчера не качало, сегодня скачало.... Отбой.
Toomir
01/12/2016 - 12:56
Ребят, подскажите. Вот по изернету получаем от прова сип-номер, а на fxo-шлюз телефонию отдать можно подключив всё через умный свитч, или на распбери можно довесить второй изернет?
03/12/2016 - 00:32
Можно и так и так, юсб сетевая дешевле.
N
18/02/2017 - 13:50
Год назад по этой инструкции установил asterisk. Сейчас хочу попробовать дополнить его gsm модемом. При выполнении команды для gsm модема почему то пишет, что файловая система только для чтения (orange pi pc debian Jessie 8): root@OrangePI:~# echo 'KERNEL=="ttyUSB*", OWNER="asterisk", GROUP="dialout"' > /etc/udev/rules.d/10-modem.rules -bash: /etc/udev/rules.d/10-modem.rules: Read-only file system
01/03/2017 - 23:47
Это не проблема Астериска, а проблема системы.

Добавить комментарий

Filtered HTML

  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.