Adelitusn.ru

ПК и Техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

How to install and setup Asterisk 14 (PBX) on CentOS 7

How to install and setup Asterisk 14 (PBX) on CentOS 7

We will be using CentOS 7 for Asterisk setup with minimal installed packages so need to ensure system is up to date and you have root privelges on the system for the installation of different required packages.

Execute the following command below to update your system

Installing the required Packages

yum install gcc gcc-c++ php-xml php php-mysql php-pear php-mbstring mariadb-devel mariadb-server mariadb sqlite-devel lynx bison gmime-devel psmisc tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim

Once the required packages are installed you can see the updates including all its required dependencies.

We need to enable and start mariadb on boot

systemctl enable mariadb

systemctl start mariadb

You can check the status of mariadb

systemctl status mariadb
● mariadb.service – MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2016-11-21 06:05:29 EST; 2 days ago
Main PID: 1948 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─1948 /bin/sh /usr/bin/mysqld_safe –basedir=/usr
└─2801 /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –plugin-dir=/usr/lib64…

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

Once mariadb is setup and running we can change the root password for it, remove test database and remove ananymous user and disallow remote user login.

Execute the command as given below:

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Furthemore, we need to install libjansson.

Jansson is a C library for encoding, decoding and manipulate JSON data.

we can download unpack and compile it using the command given below:

Once done you can see the file as jansson-2.7.tar.gz which we can extract by executing

tar -xzvf jansson-2.7.tar.gz

When it is extracted successfully we can see the file named jansson-2.7

Again we need to compile this file by executing command after changing directory to this jansoon-2.7 file as given below:

make && make install

Finally, its time to install Asterisk 14.2.0

We will go with the latest package from their official web link http://downloads.asterisk.org/pub/telephony/asterisk/

We will be using wget command to download its package as shown below

Now if you list the file you can see the tar file as asterisk-14.2.0-rc1.tar.gz

Читайте так же:
Как удалить свою группу или сообщество в ВК

again we will follow the same method as above to extract it as shown below

tar -xzvf asterisk-14.2.0-rc1.tar.gz

once it is done you can ls to see asterisk-14.2.0-rc1

asterisk

Once it is installed you will see something like above image as shown.

Furthermore, we need to setup asterisk modules which is given below stepwise:

Asterisk Main menu : Just execute the command shown below and choose the appropriate options

asterisk2

You can add something or remove, when you select a module there is a brief description of its purpose. In the Add-ons to enable mp3 support module select ‘format_mp3’ as shown above.

next move to core sound packages and select the formats of audio packets as shown in the image.

select all the packages from the “Music On Hold Packages” and then form the “Extra Sound Packages choose the 4 that includes a first module containing EN and the choose the “Save and Exit” button to proceed for the next step.

We need to load mp3 libraries which can be done executing the command below

To install the module

asterisk4

asterisk5

Here we will run the below commands to install sample configuration files as indicated above

Setup user for Asterisk

useradd -m asterisk

chown asterisk.asterisk /var/run/asterisk

chown -R asterisk.asterisk /etc/asterisk

chown -R asterisk.asterisk /var//asterisk
chown -R asterisk.asterisk /usr/lib64/asterisk

systemctl restart asterisk
[[email protected] asterisk-14.2.0-rc1]# systemctl status asterisk
● asterisk.service – LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk)
Active: active (running) since Thu 2016-11-24 06:34:16 EST; 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 22113 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS)
Process: 3236 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
Main PID: 3261 (asterisk)
CGroup: /system.slice/asterisk.service
├─3259 /bin/sh /usr/sbin/safe_asterisk
└─3261 /usr/sbin/asterisk -f -vvvg -c

Nov 24 06:34:16 ns1.rajkishormaharjan.com.np systemd[1]: Starting LSB: Asterisk PBX…
Nov 24 06:34:16 ns1.rajkishormaharjan.com.np asterisk[3236]: Starting asterisk:
Nov 24 06:34:16 ns1.rajkishormaharjan.com.np systemd[1]: PID file /var/run/asterisk/asterisk.pid not readable (yet?) after start.
Nov 24 06:34:16 ns1.rajkishormaharjan.com.np systemd[1]: asterisk.service: Supervising process 3261 which is not our child. We’ll most likely not notice when it exits.
Nov 24 06:34:16 ns1.rajkishormaharjan.com.np systemd[1]: Started LSB: Asterisk PBX.

Setup Asterisk Database

We will need to connect to the MYSQL mariadb and create new user and database and provide the privileges needed with the following commands.

[[email protected] asterisk-14.2.0-rc1]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 19334
Server version: 5.5.50-MariaDB MariaDB Server

Читайте так же:
Скачать Универсальная программа учета последнюю версию

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

MariaDB [(none)]>create database asterisk;

MariaDB [(none)]>create database cdrdb;

MariaDB [(none)]>GRANT ALL PRIVILEGES ON asterisk.* TO [email protected] IDENTIFIED BY ‘******’;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cdrdb.* TO [email protected] IDENTIFIED BY ‘******’;
MariaDB [(none)]>flush privileges;
MariaDB [(none)]> exit
Bye

Почему Cent OS??

Предыстория. Рабочая система в офисе крутится на утсановленном AsteriskNOW, пересобрано ядре, пересобраном астериске. Все работает, но есть мелочи которые не дают покоя. Захотел переустановить и сделать все поуму сразу, чтоб надолго забыть о серваке. Решил поставить Debian. Но узнал что уже есть centos 6 🙂

Вопрос. Почему в AsteriskNOW, Elastix, Trixbox и возможно другие сборки работают под CentOS?

5 Ответов

Для того что бы ответить на вопрос почему Centos надо знать некоторые вещи о Red Hat . Компания Red Hat продает сервисы. При мне официальное лицо представителя Red Hat в РФ назвал дистибутив Red Hat так же сервисом. Что такое уровень сервиса Red Hat покажу на примере. У моего знакомого в серверной в Ираиле произошел взрыв бесперебойника. Стоимость простоя более миллиона долларов в сутки. В течении 8 часов знакомый боролся с последствиями, понял что не справляется и вызвал помощь Red Hat. Бригада из 8 инженеров прилетела в Израиль из Германии в течении 6 часов после вызова. Через 25 часов после взрыва работоспособность системы была восстановлена. За вызов бригады инженеров из другой страны изрильская компания не заплатила ни копейки. Это не реклама, этот пример для понимания стандартов работы Red Hat по всему миру. Компания Red Hat рекомендует тем кто не покупает у неё сервисы не воровать диструбутив, а использовать Centos. Centos отличается от дистрибутива Red Hat тем что в Centos не включены пакеты содержащие символику Red Hat, других отличий нет. Отличие только в поддержке. Это озвучиваемая позиция компании Red Hat. Выбор Centos сделан потому что для ответственных сервисов переход к поддержке Red Hat осуществляется наименее безболезненно по отношению к другим дистибутивам. К сожалению мой любимый Debian не может похвастать такими возможностями.

Comments

т.е. для того чтобы в последствии было легче воспользоваться сервисом red hat?

ага.. «прилетит в голубом вертолете и бесплатно покажет кино» ))

ага. только вы забыли указать какого уровня контракт с редхет был подписан. на стандартную лицензию никто никуда ехать не будет. там только телефоная консультация включена.

Потому что так принято. Нравится Debian , как мне например, ставьте и настраиваете. Но зарулить плюшки из AsteriskNOW, Elastix, Trixbox — надо постараться , причем так , конкретно постараться.

Читайте так же:
SuperFetch как отключить в Windows 10?

Comments

в смысле реализовать функции аналогичные плюшкам AsteriskNOW, Elastix, Trixbox тяжело?

Дело не в том, какая системма, а в том с которой у тебя больше всего опыта.

Comments

тут ситуация другая. опыт небольшой есть только с CentOS (да и то мне кажется что опыт общий для всех linux-like). и CentOS работает криво с собранным мной ядром не из репозитория (и не у меня одного).

Собрать можно на чем угодно и что угодно — тут скорей вопрос «религии» мейнтеров и распростроненности дистриба. «Дешовка» очень популярный дистриб благодаря 2-м вещам — совместимость с «Шапкой» и большим сроком поддержки (благодаря той же «Шапке») + к этому куча документации, что делает его весьма популярным.
ЗЫ. Мне собственно на «Дешовку» по фигу — мои решения живут на «Дебезьяне» и «Генту» — мне так удобней.

Comments

крайне не советую держать сервер теелфонии на генту. просто поверьте, так делать не надо. если вы с этим не столкнулися — ну что ж все впереди, но на генту дырки затыкать надо ручками и ЧАСТО. что понятно никто делать не будет.

на самом деле сейчас есть два нормальных варианта часто обновляющихся дистрибутивов возможных для сервера. тербование — минимальное колчиество ненужных пакетов и максимальный срок поддержки/updates

1) debian. ubuntu в варианте «не десктоп» фактически тоже самое. ну кроме лого.

2) redhat обновление меньше чем день. к сожелению, платная. centos 5-6 это пересборка редхет, с выкинутыми не gpl пакетами. и бесплатная. ну и обновление в ней порядка недели.

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

собственно астериск ставят на Centos, по причине того что он больше нравится диджиум. и соответсвенно он под centos больше оттестирован. тот же трикс является по сути centos. под дебиан * тоже прекрасно работает.

Comments

1) высказываение странное , потенциально порождающая холивар)

ну хз. вы просто сравниет пакеты debian minimal /ubuntu minimal. там 99% процентов совпадает совершенно. если вы считаете убунту минимал отдельной веткой — можете ее использовать.смысл не меняется. в десктоп варианте разница побольше. но нафига мне десктоп на сервере?

Asterisk on RaspberryPI + Centos7 + E173 Modem

Данная статья не претендует на звание детального мануала по установке и настройке, а выступает больше в роли хорошей шпаргалки.

Читайте так же:
Как обновить Viber для компьютера бесплатно

Итак Centos7 мы уже установили, кто не знает как, в моих статьях есть мануал поищите.

Устанавливаем мр3 поддержку:

Подготавливаем астериск к сборке(если у вас возникнет потребность в каких то зависимостях установите их):

Выбираем необходимые параметры для сборки:

Устанавливаем основные конфигурационные файлы:

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

Проверяем что мы установили:

Если все ок то видим следующее:

Для выхода пишем:

Теперь установим наш USB модем:

Если модем находится не в режиме модема, а в режиме CD-ROM могут возникнуть проблемы подключения.
Для решения этой проблемы установим usb_modeswitch:

Затем переключим модем в режим модема:
Нужно убедится что VID и PID совпадают.

После этого модем определяется как:

По идее после установки usb_modeswitch он должен добавить правила в /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Которые нужно залинковать или скопировать в /etc/udev/rules.d
При этом убедившись что файл содержит строку нашего модема, которая должна выглядеть примерно вот так:

И на этом все становится хорошо и модем будет переключатся при загрузке или установке сам.
Но бывают моменты когда ядро собрали с багами и это не происходит, тогда можно переключить модем в режим только модем, в этом режиме уже и usb_modeswitch больше не понадобится. Или после кажой установки или перезагрузки переключать в ручную коммандой выше.
АТ команды изменения режимов работы модема будут в конце статьи.

Так же можно использовать автоматический вариант немного поднастроив систему:
В /etc/usb_modeswitch.conf в конец добавим

И в /etc/rc.local перед exit 0 добавим:

Теперь переключать режимы можно вот так из консоли:

А после перезагрузки модем переключится автоматически.

Заходим в CLI asterisk и подгружаем наш модуль модема:

Просматриваем наличие модема:

Значения IMEI и IMSI прописываем в /etc/asterisk/dongle.conf и закоментируем ;exten=+1234567890.
Небольшой туториал по работе в dongle.conf:

Если указать только IMEI — в этом случае привязка линии будет осуществляться по IMEI модема (мобильного терминала). Вы можете менять SIM-карты или разъемы USB. Линия будет закреплена за модемом.

Если указать только IMSI — в этом случае привязка линии будет осуществляться по IMSI номеру SIM-карты. Вы можете заменить модем на другой, можете поменять разъем USB. Линия будет закреплена именно за SIM-картой.

Если указать интерфейсы audio и data. В этом случае линия будет привязана к контроллеру USB (по факту к гнезду USB). Это очень неудобный способ и оставлен в новых версиях Dongle только для совместимости со старыми версиями и с некоторыми операционными системами, где обнаружение по IMEI и IMSI не работает.

Читайте так же:
Как обновить Powerpoint 2016?

Установка Freepbx на Centos 8

Asterisk — бес­плат­ное реше­ние для орга­ни­за­ции voip теле­фо­нии. Он обла­да­ет все­ми воз­мож­но­стя­ми обыч­ных АТС, но предо­став­ля­ет более бога­тый функ­ци­о­нал по управ­ле­нию звон­ка­ми. За отно­си­тель­ную про­сто­ту настрой­ки, по срав­не­нию с циф­ро­вы­ми АТС, бес­плат­ность и широ­кие воз­мож­но­сти он и снис­кал такую популярность.

Freepbx — бес­плат­ный веб интер­фейс для управ­ле­ния асте­ри­ском. Он суще­ствен­но упро­ща­ет рабо­ту с кон­фи­гу­ра­ци­я­ми, поз­во­ля­ет выпол­нять неко­то­рые функ­ции людям, вооб­ще дале­ким от асте­ри­с­ка. Напри­мер, с его помо­щью прак­ти­че­ски любо­го мож­но научить управ­лять учет­ны­ми запи­ся­ми пользователей.

Лич­но я боль­ше люб­лю настра­и­вать asterisk вруч­ную, неже­ли с помо­щью гото­вой пане­ли. Да, кон­фи­гов асте­риск очень мно­го, они объ­ем­ные, рабо­тать с ними не удоб­но. Тем не менее, чистый асте­риск предо­став­ля­ет прак­ти­че­ски неогра­ни­чен­ную воз­мож­ность по кон­фи­гу­ри­ро­ва­нию. С гото­вой пане­лью вы буде­те огра­ни­че­ны ее воз­мож­но­стя­ми. Но если они вас пол­но­стью удо­вле­тво­ря­ют, то луч­ше исполь­зо­вать ее.

Даль­ней­шая уста­нов­ка FreePBX будет про­хо­дить по сле­ду­ю­щей схеме:

  1. Под­го­тов­ка системы.
  2. Настрой­ка Web сервера.
  3. Уста­нов­ка NodeJS.
  4. Сбор­ка Asterisk из исходников.
  5. Уста­нов­ка Freepbx.

Сра­зу важ­ное заме­ча­ние. Офи­ци­аль­но Freepbx еще не под­дер­жи­ва­ет Centos 8. После уста­нов­ки пане­ли, она будет пока­зы­вать в ста­ту­се, что вер­сию систе­мы, на кото­рую она уста­нов­ле­на, не может опре­де­лить. Учи­ты­вай­те этот нюанс. С таким рас­кла­дом для про­да она еще не гото­ва. Но в целом, если поста­вить, попро­бо­вать и убе­дить­ся, что она рабо­та­ет, мож­но исполь­зо­вать. По сути, эта панель при­вя­за­на не к систе­ме, а к вер­си­ям соф­та (php, nodejs, asterisk).

Сле­ду­ю­щая про­бле­ма в том, что ста­биль­ной счи­та­ет­ся 14-я вер­сия, но она рабо­та­ет нор­маль­но толь­ко на php 5.6, для кото­ро­го уже кон­чи­лась под­держ­ка и ста­вить ее как-то не с руки. Есть 15-я вер­сия, кото­рая нор­маль­но рабо­та­ет на php 7, но она все еще в ста­ту­се бета, хоть и рабо­та­ет доста­точ­но ста­биль­но. Что ста­вить себе, решай­те сами. Если непре­мен­но нуж­на Centos 8, то в закры­тый кон­тур я бы поста­вил 14-ю вер­сию на php 5.6. Если вер­сия с досту­пом из ине­та, то я бы ста­вил 15-ю на php 7.

Таким обра­зом, если вам нуж­на мак­си­маль­ная ста­биль­ность, то разум­нее все­го сей­час исполь­зо­вать Centos 7, php 5.6 и Freepbx 14

Я пока­жу 3 при­ме­ра уста­нов­ки Freepbx:

  • 15-я вер­сия на php 7.2
  • 14-я вер­сия на php 7.2
  • 14-я вер­сия на php 5.6

Подготовка системы

Преж­де чем мы нач­нем уста­нав­ли­вать asterisk, нам надо выпол­нить целый ряд под­го­то­ви­тель­ных дей­ствий. Пер­вым делом отклю­ча­ем selinux. Для это­го откры­ва­ем файл:

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector