Как установить и настроить asterisk в ubuntu

Сервер Asterisk можно устанавливать на различных дистрибутивах Linux и многих архитектурах ПК.  В данной статье мы устанавливаем лабораторный стенд для проведения опытов с Asterisk. Характеристики сервера будут следующими:

  1. Процессор Intel Core 2 Duo 3 GHz
  2. ОЗУ: 2 Гб
  3. Операционная система: Ubuntu 14.04

Основные конфигурации Asterisk содержат в себе три пакета:

  1. Основная программа Asterisk (asterisk)
  2. Драйверы телефонии (dahdi)
  3. PRI-библиотеки (libpri)

Стоит отметить, что если планируется создавать только VoIP-сеть, то достаточно пакета asterisk. Однако мы советует вам установить все три пакета: какие модули активировать можно выбрать позже.

Драйвер dahdi нужен, если используется аналоговое или цифровое оборудование. Сам Asterisk не умеет обмениваться данными с периферийным оборудованием, эту задачу должен выполнять драйвер. Asterisk передает и принимает данные и сигнализацию с помощью dahdi. Схема работы следующая:

сервер Asterisk chan_dahdi Драйвера dahdi Карта Телефон/Коммутатор/Тел. сеть

Библиотека libpri позволяет использовать TDM-интерфейсы ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface). Libpri используется различными производителями оборудования мультиплексирования с разделение каналов по времени (TDM, Time Division Multiplexing).

Необходимые пакеты для Linux

  • Для сборки Asterisk необходимо установить набор пакетов build-essetial (содержит в себе g++, gcc, libc6-dev, dpkg-dev, make):
  • $ sudo apt-get install build-essential
  • Ncurses – это библиотека для управления вводом-выводом на терминал.
  • $ sudo apt-get install libncurses5-dev

Libxml2 – библиотека для анализа XML-документов. Данная библиотека нужна, так как телефонные книги в Asterisks имеют расширение .xml.

$ sudo apt-get install libxml2-dev

OpenSSL – криптографический пакет с открытым исходным кодом для работы с SSL/TSL. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509.

$ sudo apt-get install openssl

$ sudo apt-get install libssl-dev

Получение исходного кода Asterisk

Самый оптимальный вариант – взять исходный код для Asterisk прямо с официального сайта http://www.asterisk.org или на FTP-сервере.

Стоит упомянуть, что существует две основных области разработки Asterisk: ветвь (Branch) и ствол (Trunk). Ствол является наиболее свежей версией, в него добавляются все новые функции. Ветвь, в свою очередь, содержит в себе все исправленные дефекты предыдущих версий. Соответственно для производственной эксплуатации лучше использовать ветвь, так как она является более стабильной и безопасной.

Как установить и настроить asterisk в ubuntu

Все манипуляции с Asterisk мы будет проводить в папке /usr/src. Следует помнить что для установки Asterisk необходимо обладать правами администратора.

Получаем самую последнюю версию исходного кода с помощью команды wget:

$ cd /usr/src/

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

Извлекаем исходные коды из архива:

$ tar -zxvf asterisk-14-current.tar.gz

$ tar -zxvf libpri-current.tar.gz

$ tar -zxvf dahdi-linux-current.tar.gz

$ tar -zxvf dahdi-tools-current.tar.gz

$ tar -zxvf dahdi-linux-complete-current.tar.gz

Выполнение этих команд обеспечит извлечение пакетов и исходного кода из архивов в соответствующие папки.

Компиляция Asterisk, LibPRI, DAHDI

Прежде чем начнем компилировать проект, приведу немного теории. Большинство программ перед использованием необходимо компилировать.

Компиляция – это преобразование программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке понятном компьютеру.

Процесс установки разделяется на три этапа:

  1. Конфигурирование (./configure)
  2. Сборка (make)
  3. Установка (make install)

Конфигурирование позволяет выполнить поиск всех зависимостей для программы (библиотек и заголовочных файлов), а также настройку особых параметров и подключение специальных библиотек. Когда команда ./configure обнаружит все, что ей нужно, она создаст Makefiles – файл, необходимый для сборки программы.

Make – является самой важной программой, выполняющей компиляции программы. Для своей работы она использует Makefiles, в котором подробно описана процедура сборки приложения со всеми параметрами.

  1. Make install – позволяет выполнять установку программы в указанную директорию.
  2. Прежде всего установим библиотеку PRI и драйверы телефонии dahdi.
  3. Для установки LibPRI:

$ cd /usr/src/libpri-1.6.0

$ make

$ make install

$ cd ..

Для установки DAHDI:

$ cd /usr/src/dahdi-linux-complete-2.11.1+2.11.1

$ make all

$ make install

$ cd ..

Для установки Asterisk:

$ cd /usr/src/asterisk-14.7.6

$ ./configure

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

/configure выполнит поиск всех необходимых пакетов, в случае если какой-то пакет не установлен, она выдаст ошибку.

В коде этой ошибки будет содержаться название пакета, вам останется только его установить командой sudo apt-get install название_пакета.

Как установить и настроить asterisk в ubuntu

Следующим командой можно выбрать модули/функции/опции Asterisk, которые вы хотите устанавливать.  Если отмечено звездочкой *, значит пункт выбран.

$ make menuselect

Как установить и настроить asterisk в ubuntu

  • Следующей командой компилируем Asterisk:
  • $ make
  • В случае удачной компиляции вам предложат установку:

Как установить и настроить asterisk в ubuntu

  1. Выполняем установку Asterisk:
  2. $ make install
  3. В самом конце вы должны получить следующее окно:

Как установить и настроить asterisk в ubuntu

$ cd ..

Тестируем сервер Asterisk

  • После успешной установки сервера, попробуем его запустить. Создаем тестовые конфигурации:
  • $ make samples
  • Делаем первый запуск нашей станции:
  • $ sudo asterisk -vvvcd

Как установить и настроить asterisk в ubuntu

  1. Для того, чтобы не сочинять скрип автозапуска выполняем:
  2. $ sudo make config
  3. Теперь можно запустить наш сервер Asterisk как демон:
  4. $ sudo /etc/init.d/asterisk start
  5. И подключиться к его консоли:
  6. $ sudo asterisk -rvvvcd

Поддержите проект

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

У вас есть возможность поддержать проект и внести любую сумму, которую посчитаете нужной.

Источник: https://netclo.ru/ustanovka-servera-asterisk/

Установка Asterisk: пошаговая инструкция

Если Вас интересует профессиональное внедрение системы IP-телефонии Asterisk «под ключ», то обращайтесь к нашим специалистам по телефону 8 (495) 989-85-33 или 8 (800) 333-75-33. Доверьте свою телефонию профессионалам.

Содержание

1. Ручная установка Asterisk 2. Работа с DAHDi 3. Установка YUM 4. Астериск — конфигурационные файлы 5. Установка кодека g729 6. Подключение SIP клиента 7. Полезные команды CLI Asterisk 8. Простой диалплан. Файл extensions.conf

Как установить и настроить asterisk в ubuntu1. Ручная установка Asterisk

Перед началом установки рекомендуется произвести полное обновление операционной системы. Это улучшит стабильность работы и безопасность сервера.

  • yum update reboot
  • Создаем директорию, в которую поместим исходные коды дистрибутива Asterisk.
  • mkdir -p /usr/src/asterisk cd /usr/src/asterisk

Далее загружаем с официального сайта Asterisk текущие пакеты в исходных кодах. Это можно сделать простым способом. В браузере открываем сайт www.asterisk.org, переходим в раздел Download, находим ссылки на требуемые пакеты и правой кнопкой копируем адрес ссылки в буфер обмена. Далее, в консоли сервера используем команду wget и ссылку, ведущую на сайт:

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-11.0.0.tar.gz

  1. Аналогичным образом выкачиваем все требуемые пакеты:
  2. 1. Asterisk
  3. 2. DAHDI
  4. 3. LibPRI
  5. Для компиляции исходников потребуется сам компилятор. Устанавливаем его следующей командой (кавычки должны быть те, где на клавиатуре размещена буква «Ё»):
  6. yum -y install make gcc gcc-c++ kernel-headers-`uname -r` kernel-devel-`uname -r` ncurses-devel newt-devel libtiff-devel libxml2-devel sqlite-devel glibc-headers
  7. Распаковываем предварительно скачанные с официального сайта пакеты.

tar -xvf asterisk-current.tar.gz tar -xvf dahdi-linux-complete-current.tar.gz

tar -xvf libpri-1.4-current.tar.gz

LibPRI — это OpenSource библиотека, предназначенная для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface)и BRI (Basic Rate Interface). Первый (PRI) часто используется в России для работы с операторами по каналам Е1.

cd /usr/src/asterisk/libpri-* make clean make

make install

Далее устанавливается драйвера каналов DAHDI. Драйвера предназначены для взаимодествия Asterisk с платами цифровых интерфейсов: E1, FXO, FXS и пр.

  • cd /usr/src/asterisk/dahdi-linux-complete* make all make install
  • make config
  • Далее задаем автоматический запуск службы DAHDI при старте системы:
  • chkconfig dahdi on service dahdi start
  • ** Если на данном этапе у Вас выдалось сообщение следующего характера:

You do not appear to have the sources for the 2.6.32-220.el6.i686 kernel installed.make[1]: *** [modules] Error 1make[1]: Leaving directory `/usr/src/asterisk/dahdi-linux-complete-2.6.1+2.6.1/linux’

make: *** [all] Error 2

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

  1. На этом этапе устанавливаем само телефонное ядро Asterisk.
  2. cd /usr/src/asterisk/asterisk*. /configure
  3. Если на этом шаге у Вас отобразится такая заставка, значит все идет по плану:

На этом этапе можно выбрать модули, которые будут входить в состав сборки. Если требуется работа с MySQL или другими компонентами, их рекомендуется установить заранее.

  • make menuselect
  • Система выбора модулей выглядит следующим образом (хотя, она может быть и на черно-белом фоне):
  • Как установить и настроить asterisk в ubuntu
  • Управление:
  • Перемещение — стрелками клавиатуры
  • Выбор — пробелом
  • XXX — модуль не доступен для установки. Необходимо установить недостающие зависимости и повторить все с шага». /configure»
  • F12 — сохраняем и выходим
  1. Далее, оканчиваем установку:
  2. make make install
  3. Создаем дефолтные конфиги и образцы.
  4. make samples make config
  5. Добавляем Астериск в автозагрузку
  6. chkconfig asterisk on

Запускаем Астериск консольно, количеством «v» в опции задавая плотность протоколирования (verbosity). Убеждаемся, что Астериск запускается нормально, после чего останавливаем его.

  • asterisk -vc stop now
  • Запуск будет сопровождаться таким списком загружаемых модулей:
  • Как установить и настроить asterisk в ubuntu
  • Теперь Asterisk можно запустить как службу, после чего подключиться к нему штатно в режиме консоли.
  • service asterisk start asterisk -rvvvv

Как установить и настроить asterisk в ubuntu2. Работа с DAHDi

После инсталляции карты, проверяем ее в системе

lspci -v

Компилируем нужный пакет для нашей карты, Парабел, например, тут http://parabel.ru/d/dahdi_2.6.0%2B2.6.0-parabel_2.6.0.tar.bz2

  1. в /etc/dahdi/modules комментим все модули, вписываем нужный нам, например, quasarm
  2. в /etc/dahdi/system.conf
  3. Указываем зоновую (региональную) принадженость.
  4. loadzone=ru defaultzone=ru
  5. Настраиваем согласование потока между АТС оператора и Asterisk.
  6. span = 1,0,0,CCS,HDB3,CRC4 //Задается источник синхронизации, тип кодирования и необходимость проверки четности bchan=1-15,17-31 // Задаются тайм-слоты для голоса
  7. dchan=16 //Задаются сигнальные тайм-слоты для данных (0-й — по умолчанию)
  8. Теперь чуть более подробно по опциям.
  9. span = ,,,< framing>,[,crc4] где
  10. span_num – номер порта E1 (от 1 до максимального номера порта в плате)
  11. Crc4 – разрешить проверку и генерацию crc4 (не обязательный параметр)
  12. Делаем рестарт dahdi
  13. service dahdi stopservice dahdi status
  14. Если не выгрузился, необходимо сначала остановить Asterisk:
  15. service asterisk stop
  16. после
  17. service asterisk start
  18. запускаем DAHDI:
  19. service dahdi start
  20. Проверка:
Читайте также:  Как исправить ошибку 4014 в itunes

echocanceller=mg2,1-15,17-31 // Указывается тип эхоподавителя и тайм-слоты, на которых он будет задействован.

timing – использовать ли порт как источник синхронизации 0 – порт адаптера ведущий по E1 1 и более – порт ведомый по E1 и является одним из источников синхронизации адаптера. Чем больше число, тем меньше приоритет порта. LBO – параметр не используется, ставить 0. Framing – тип телефонной сигнализации, ставить ccs или cas. Coding – кодирование в линии, может принимать значения ami или hdb3

dahdi_test dahdi_test Opened pseudo dahdi interface, measuring accuracy… 99.999% 99.995% 99.999% 99.999% 99.999% 99.999% 99.999% — Results after 7 passes —

Best: 99.999 — Worst: 99.995 — Average: 99.998506, Difference: 99.998507

Значения не ниже 99,9 — хороший результат. Он означает, что DAHDI-устройство не вынуждено конкурировать с другими процессами за прерывания и время процессора. Значения ниже 99.9 будут приводить к ухудшению качества звука, срыву синхронизации канала E1, скрежету и обрывам голоса.

  • В случае, если значения ниже 99,9 (да и просто для профилактики), неободимо убедиться, что цифровая карта не делит прерывания с другими драйверами.
  • cat /proc/interrupts [pbx.localdomain ~]# cat /proc/interrupts          CPU0      CPU1       0: 1326273128         0   IO-APIC-edge timer 1:      8959         0   IO-APIC-edge i8042 4:   2796129         0   IO-APIC-edge serial 6:         6         0   IO-APIC-edge floppy 7:         2         0   IO-APIC-edge parport0 8:         1         0   IO-APIC-edge rtc 9:         1         0  IO-APIC-level acpi 14:  50338541         0   IO-APIC-edge ide0 50:         0         0  IO-APIC-level uhci_hcd:usb3 58:      7369  23441503        PCI-MSI ahci 114: 1326250778         0  IO-APIC-level wctdm 146:  28024883         0        PCI-MSI eth0 169:         0         0  IO-APIC-level uhci_hcd:usb5 225:         0         0  IO-APIC-level uhci_hcd:usb4 233:         0         0  IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb2 NMI:         0         0 LOC: 1325416311 1325416314 ERR:         0
  • MIS:         0
  • wctdm занимает отдельный irq, это правильно если с кем-то                          делит, то это может сказывать на работе карты и качестве голоса.

Чаще всего наблюдается ситуация, когда драйвера USB и DAHDI занимают одно прервывание. Это нежелательная ситуация, и в ней лучше всего либо разнести драйвера по разным прерываниям, либо отключить USB на уровне BIOS.

  1. тут можно увидеть ошибки в работе карты:
  2. dahdi_tool
  3. показывать сведения о карте
  4. dahdi_scan
  5. показывает конфигурационный файл, который используется
  6. dahdi_cfg -v
  7. затем в /etc/asterisk/chan_dahdi.conf примерный конфиг:
  8. [trunkgroups]
  9. [channels]
  10. language=ru context=from-trunk signalling=pri_cpe
  11. rxwink=300             ; Atlas seems to use long (250ms) winks
  12. faxdetect=no
  13. switchtype=euroisdn ; or qsig immediate=no context=from-trunk resetinterval=100000000 signalling=pri_cpe ; or pri_net group=0
  14. channel ≥1-15,17-31
  15. ==================== В Астериск CLI
  16. dahdi restart dahdi show channels — проверяем что каналы поднялись dahdi show channel 1

;                                                                                                               ; Whether or not to do distinctive ring detection on FXO lines                                                  ;                                                                                                               ;usedistinctiveringdetection=yes                                                                                                                                                                                               usecallerid=yes                                                                                                 hidecallerid=no                                                                                                 callwaiting=yes                                                                                                 usecallingpres=yes                                                                                              callwaitingcallerid=yes                                                                                         threewaycalling=yes                                                                                             transfer=yes                                                                                                    cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes echotraining=800 rxgain=0.0 txgain=0.0 group=0 callgroup=1 pickupgroup=1 immediate=no ;busydetect=yes ;busycount=5

3. Установка Asterisk из YUM

Помимо компиляции Asterisk вручную, можно воспользоваться менеджером пакетов YUM, который является штатной утилитой RedHat-based дистрибутивов.

Установку Asterisk мы будем производить из самых «аутентичных» источников — репозитория Asterisk.Org.

Краткая инструкция по работе с данным репозиторием находится здесь: http://www.asterisk.org/downloads/yum

Вам требуется создать новый файл с названием «centos-asterisk.repo» в директории the» /etc/yum.repos.d». В него вы вносите следующую конфигурацию:

[asterisk-tested] name=CentOS-$releasever — Asterisk — Tested baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/ enabled=0 gpgcheck=0

#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

[asterisk-current] name=CentOS-$releasever — Asterisk — Current baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/ enabled=1 gpgcheck=0

#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

Сохраняете данный файл и создаете новый: «centos-digium.repo». Вносите в него следующий текст:

[digium-tested] name=CentOS-$releasever — Digium — Tested baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/ enabled=0 gpgcheck=0

#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

[digium-current] name=CentOS-$releasever — Digium — Current baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/ enabled=1 gpgcheck=0

#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

  • После того как репозитории добавлены, можно приступить к установке пакетов.
  • yum install asterisk18 asterisk18-configs asterisk18-voicemail dahdi-linux dahdi-tools
  • Запускаем Asterisk и подключаемся к нему:
  • service asterisk start asterisk -rvvv

4. Астериск — конфигурационные файлы

Главный конфигурационный файл:

   asterisk.conf: Сервер Asterisk берет из этого файла информацию о том, где какие файлы находятся в системе, включая директорию, где лежат все остальные файлы конфигурации. По умолчанию, Asterisk ищет файл asterisk.conf в директории /etc/asterisk, но Вы можете, с помощью параметров запуска Asterisk, задать другое расположение и имя этого файла.

Файлы конфигурации каналов Asterisk:

   iax.conf: Файл с конфигурацией канала IAX2   sip.conf: Файл с конфигурацией канала SIP   chan_dahdi.conf: Файл с конфигурацией каналов DAHDi

Файлы конфигурации Диалплана (Плана набора):

   extensions.conf: Конфигурация плана набора   extensions.ael: План набора в новом формате AEL (Asterisk Extensions Language)   features.conf: Конфигурация Парковки вызовов, перевода вызова, перехвата и прочих сервисных функций Asterisk.  

Файлы конфигурации специфичные для некоторых команд плана набора:

   alarmreceiver.conf: Конфигурация для команды AlarmReceiver   dundi.conf: Конфигурация, используемая командой DUNDiLookup   festival.conf: Конфигурация, используемая командой Festival   indications.

conf: Определение тонов для команды Playtones   meetme.conf: Файл с конфигурацией конференций для команды MeetMe   musiconhold.conf: для команды MusicOnHold   queues.

conf: Определение очередей звонков и их параметров для команды Queue   voicemail.conf

Источник: https://VoxLink.ru/kb/asterisk-installation/from-source/

Установка Asterisk 14 + Freepbx 13 Ubuntu 16.04

Установка Asterisk 14 и FreePBX 13.
Первоначальная настройка FreePBX с нуля. Кодек Opus. php5.6.
Odbc. Тотальное руководство.

Данное руководство можно использовать, как для установки чистого Asterisk, так и в связке с Freepbx.

При установке системы, на стадии software selection выберите, как минимум openssh.
Как установить и настроить asterisk в ubuntu
Если выбран LAMP сервер, или позднее, при установке mysql-server из репозитория, вам будет предложено задать пароль root пользователя MySQL. Если оставить поле пустым, задать пароль можно будет после установки FreePBX 13 командой mysql:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Password');

или утилитой проверки безопасности:

mysql_secure_installation

Задайте пароль root пользователя системы

$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password update successfully

Получите права супер пользователя

$ sudo -i

Сделайте апдейт системы

# apt update && sudo apt upgrade -y

Установите требуемые зависимости

apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server
mysql-client bison flex sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev
libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev
uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev
libsrtp0-dev libspandsp-dev libopus-dev opus-tools libiksemel-dev libiksemel-utils libiksemel3 xmlstarlet

Установка php5.6 вместо php7.0

Ubuntu 16 по умолчанию ставит из репозитория php7.0,
а FreePBX с ним не дружит.
Если вы планируете использовать не чистый Asterisk, надо установить php5.6.

apt install -y software-properties-common python-software-properties
add-apt-repository ppa:ondrej/php
apt update -y

apt-key adv —keyserver keyserver.ubuntu.com —recv-keys

apt install -y php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-odbc php5.6-db php5.6-gd php5.6-xml curl libapache2-mod-php5.6
apt install -y php-pear
a2dismod php7.0
a2enmod php5.6
systemctl restart apache2
update-alternatives —set php /usr/bin/php5.6

Перезагрузите сервер, чтобы загрузить свежую версию ядра после апдейта. Если вы уверены, что загружена последняя версия, можно не перезагружать.

reboot

Убедитесь, что mod_rewrite включен, чтобы избежать возможных атак.

a2enmod rewrite
service apache2 restart

Поддержка Console_Getopt

pear install Console_Getopt

libmyodbc ubuntu 16.04

Пакета libmyodbc больше нет в репозиториях Ubuntu начиная с версии Xenial. Скачаем нужный коннектор (требуется регистрация):

https://dev.mysql.com/downloads/connector/odbc/

или по прямой ссылке:

wget https://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit.tar.gz

Распакуем:

tar -zxvf mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit.tar.gz

И скопируем в директорию /usr/lib/x86_64-linux-gnu/odbc/:

cd mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit/lib
cp libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/

Конфигурацию DSN и odbcinst см. ниже

Asterisk 14 установка

Как использовать данное руководство

Блоки команд с ключом '&&' могут быть скопированы вместе и будут выполняться последовательно. '&&' выполняет переход к следующей команде, при условии успешного выполнения предыдущей. Если вы хотите полностью, пошагово контролировать процесс установки, выполните каждую команду отдельно, без ввода '&&'.

Скачайте исходные файлы

cd /usr/src
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz &&
git clone https://github.com/akheron/jansson.git &&
wget http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.tar.bz2 &&
echo » ¯\_(ツ)_/¯ »

Скомпилируйте и установите Lame (mp3)

cd /usr/src &&
tar zxvf lame-3.98.4.tar.gz &&
cd lame-3.98.4 &&
./configure &&
make &&
make install &&
echo » ¯\_(ツ)_/¯ »

Скомпилируйте и установите DAHDI и LibPRI

cd /usr/src &&
tar xvfz dahdi-linux-complete-current.tar.gz &&
tar xvfz libpri-current.tar.gz &&
rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz &&
cd dahdi-linux-complete-* &&
make all &&
make install &&
make config &&
cd /usr/src/libpri-* &&
make &&
make install &&
echo » ¯\_(ツ)_/¯ »

Скомпилируйте и установите pjproject

(Требуется для поддержки драйвера SIP канала PjSIP)

Для установки Pjproject и Asterisk 14, рекомендуется использовать Pjproject Bundled Version. В этом случае компиляцию Pjproject из исходников можно пропустить (под спойлером).

Скомпилируйте и установите Asterisk

cd /usr/src &&
tar xvfz asterisk-14-current.tar.gz &&
rm -f asterisk-14-current.tar.gz &&
cd asterisk-* &&
./contrib/scripts/install_prereq install &&
./configure —with-pjproject-bundled —with-crypto —with-ssl=ssl —with-srtp &&
contrib/scripts/get_mp3_source.

sh &&
make menuselect

После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль 'format_mp3'.

'res_config_mysql' вынесено в addons по условиям лицензирования.

В разделе Core Sound Packages выберите поддержку русскоязычных файлов (если требуется)
В разделе Extra Sound Packages выберите дополнительные звуковые файлы.

Asterisk 14 + OPUS

Asterisk 14 поддерживает Opus без дополнительных патчей. Зависимости (xmlstarlet) должны быть установлены до конфигурации. В разделе Codec Translators убедитесь, что модуль кодека доступен для компиляции
и отметьте для установки.

Для сохранения нажмите Save & Exit и продолжите установку.

make &&
make install &&
make config &&
ldconfig

Если вы не планируете использовать FreePBX,
команда make basic-pbx установит минимальный начальный набор конфигов Asterisk.

Запуск от имени пользователя 'Asterisk'

Расcкомментируйте в /etc/default/asterisk

AST_USER=»asterisk»
AST_GROUP=»asterisk»

Создайте пользователя Asterisk и задайте права пользователя

useradd -m asterisk &&
chown asterisk. /var/run/asterisk &&
chown -R asterisk. /etc/asterisk &&
chown -R asterisk. /var/{lib,log,spool}/asterisk &&
chown -R asterisk. /usr/lib/asterisk

Перезагрузите сервер и проверьте состояние Asterisk подключившись к консоли

asterisk -vvvr
Asterisk 14.2.0, Copyright (C) 1999 — 2016, Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

Читайте также:  Как и чем открыть файл rar или zip

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 14.2.0 currently running on ubuntu (pid = 1269)
ubuntu*CLI>

Убедитесь, что Asterisk запущен под своим пользователем:

ps aux | grep asterisk
asterisk 1269 4.7 11.4 1446068 57504 ? Ssl 07:57 0:07 /usr/sbin/asterisk -U asterisk -G asterisk

FreePBX 13: установка и настройка с нуля

Прежде всего обновите сертификаты сервера:

sudo -u asterisk gpg —refresh-keys —keyserver pool.sks-keyservers.net

Настроим Apache

sed -i 's/(^upload_max_filesize = ).*/256M/' /etc/php/5.6/apache2/php.ini &&
sed -ie 's/;date.timezone =/date.timezone = «Europe/Moscow»/g' /etc/php/5.6/apache2/php.ini &&
cp /etc/apache2/apache2.

conf /etc/apache2/apache2.conf_orig &&
sed -i 's/^(User|Group).*/1 asterisk/' /etc/apache2/apache2.conf &&
sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.

conf &&
systemctl restart apache2

настроим ODBC

cat >> /etc/odbcinst.ini > /etc/odbc.ini Advanced Settings:

  • Show Language setting — YesNo
  • Если переключение на русский не работает, выполните следующие действия:
  • echo «russian ru_RU.UTF-8» >> /etc/locale.alias
    locale-gen ru_RU
    systemctl restart apache2

    Country Indications Tone

    Выберите тоны КПВ, занято и тд в российском стандарте, если требуется:

    Settings > Anvanced Settings — Dialplan and Operational

    Как установить и настроить asterisk в ubuntu

    Обратите внимание на опцию CW Enabled by Default. Можно отключить Call Waiting, по умолчанию, для вновь создаваемых екстеншенов. По умолчанию включено.

    Speaking Clock Time Format

    Как установить и настроить asterisk в ubuntu

    Ringtime default

    Как установить и настроить asterisk в ubuntu

    SIP channel driver определяет использование драйверов SIP. По умолчанию и chan_sip и res_pjsip включены, но можно выбрать какой-то один из них.

    Установка Asterisk

    ubuntu 16, asterisk 14, freepbx 13, установка, настройка, с нуля, odbc, mysql, pjsip, php5.6, opus, srtp, libpri, dahdi, spandsp

    Источник: https://asterisk-pbx.ru/wiki/asterisk_install/asterisk14-ubuntu16

    Установка Asterisk 13 + FreePBX 12 Ubuntu 14

    Сегодня расскажем про установку FreePBX 12 на Ubuntu с использованием Asterisk 13.

    Первоначальная настройка Ubuntu

    При установке Ubuntu выберите обязательно OpenSSH server и LAMP сервер. Установите дополнительные пакеты на ваше усмотрение.

    В ходе установки системы вам будет предложено задать пароль root пользователя MySQL, если вы не уверены, можно отставить пустым. Если пароль задан, он потребуется в дальнейшем для работы с MySQL.

    Задайте пароль root пользователя системы

    $ sudo passwd rootEnter new UNIX password:Retype new UNIX password:passwd: password update successfully

    Переключитесь на root пользователя

    $ sudo -i

    Сделайте апдейт системы

    apt-get update && sudo apt-get upgrade -y

    Установите требуемые зависимости

    apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3

    Перезагрузите сервер

    Это требуется чтобы загрузить свежую версию ядра после апгрейда. Если вы уверены что загруженная версия последняя, можно не перезагружаться.

    reboot

    Установите PearDB

    pear uninstall dbpear channel-update pear.php.netpear install -Z db-1.7.14

    Установка Asterisk

    Скачайте исходные файлы

    cd /usr/srcwget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz &&wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz &&wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz &&wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz &&git clone https://github.com/akheron/jansson.git &&wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2

    Скомпилируйте и установите Lame (mp3)

    cd /usr/src &&tar zxvf lame-3.98.4.tar.gz &&cd lame-3.98.4 &&./configure &&make &&make install

    Скомпилируйте и установите DAHDI и LibPRI

    cd /usr/src &&tar xvfz dahdi-linux-complete-current.tar.gz &&tar xvfz libpri-1.4-current.tar.gz &&rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz &&cd dahdi-linux-complete-* &&make all &&make install &&make config &&cd /usr/src/libpri-1.4.* &&make &&make install

    Скомпилируйте и установите pjproject

    (Требуется для поддержки драйвера SIP канала PjSIP)

    cd /usr/src &&tar -xjvf pjproject-2.2.1.tar.bz2 &&cd pjproject-2.2.1 &&CFLAGS='-DPJ_HAS_IPV6=1' ./configure —prefix=/usr —enable-shared —disable-sound —disable-resample —disable-video —disable-opencore-amr &&make dep &&make &&make install

    Скомпилируйте и установите jansson

    cd /usr/src/jansson &&autoreconf -i &&./configure &&make &&make install

    Скомпилируйте и установите Asterisk

    cd /usr/src && tar xvfz asterisk-13-current.tar.gz &&rm -f asterisk-13-current.tar.gz &&cd asterisk-* &&./configure &&contrib/scripts/get_mp3_source.sh &&make menuselectПосле ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль ‘format_mp3’.

    В разделе Core Sound Packages выберете поддержку русскоязычных файлов (если требуется)

    
В разделе Extra Sound Packages выберете дополнительные звуковые файлы. В завершении выберете Save & Exit и продолжите установку.В разделе Extra Sound Packages выберете дополнительные звуковые файлы. В завершении выберете Save & Exit и продолжите установку.make &&make install &&make config &&ldconfig

    Установка и настройка FreePBX

    Скачайте и распакуйте FreePBX.

    cd /usr/src &&wget http://mirror.freepbx.org/freepbx-12.0.43.tgz &&tar zxvf freepbx-*.tgz &&cd /usr/src/freepbx

    Создайте пользователя Asterisk и задайте права пользователя.

    useradd -m asterisk &&chown asterisk. /var/run/asterisk &&chown -R asterisk. /etc/asterisk &&chown -R asterisk. /var/{lib,log,spool}/asterisk &&chown -R asterisk. /usr/lib/asterisk

    Настроим Apache

    sed -i 's/(^upload_max_filesize = ).*/120M/' /etc/php5/apache2/php.ini &&sed -ie 's/;date.timezone =/date.timezone = «Europe/Moscow»/g' /etc/php5/apache2/php.ini &&cp /etc/apache2/apache2.

    conf /etc/apache2/apache2.conf_orig &&sed -i 's/^(User|Group).*/1 asterisk/' /etc/apache2/apache2.conf &&sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.

    conf &&service apache2 restart

    Подготовим MySQL

    Требуется создать безопасный пароль для связи FreePBX и MySQL

    export ASTERISK_DB_PW=`dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 — | cut -c2-18`

    Эта команда сгенерирует 16-тизначный пароль и сохранит значение в переменной {ASTERISK_DB_PW}.

    Подготовка базы данных Asterisk в MySQL.

    Если вы задали ‘root’ пароль MySQL при установке, добавьте его после ключа -pyourpassword. (mysqladmin -u root -pYOURPASSWORD create asterisk).

    mysqladmin -u root create asteriskmysqladmin -u root create asteriskcdrdb

    Зададим права на использование БД MySQL.Замените asteriskuser на имя пользователя, которое вам нравится. Например: YOURUSER@localhost. Можно оставить как есть.

    mysql -u root -e «GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';»mysql -u root -e «GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';»mysql -u root -e «flush privileges;»

    Запустим Asterisk и установим FreePBX.

    Если в предыдущем пункте вы задали собственное имя пользователя, замените asteriskuser на него. Например: –username=YOURUSER

    ./start_asterisk start./install_amp —installdb —username=asteriskuser —password=${ASTERISK_DB_PW}amportal a ma refreshsignaturesamportal a reloadamportal chown

    В завершении настроим создадим ссылку на директорию Music On Hold формата mp3

    ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3

    и запустим amportal

    amportal start

    Поверим состояние Asterisk подключившись к консоли

    asterisk -vvrAsterisk 13.0.1, Copyright (C) 1999 — 2014, Digium, Inc. and others.Created by Mark Spencer Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.This is free software, with components licensed under the GNU General PublicLicense version 2 and other licenses; you are welcome to redistribute it undercertain conditions. Type 'core show license' for details.=========================================================================Connected to Asterisk 13.0.1 currently running on ubuntu (pid = 24513)ubuntu*CLI>core restart now

    Подключимся к FreePBX

    • http://IP.Address.FreePBX.Server/admin

    Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBXnano +67 /etc/locale.aliasrussian ru_RU.UTF-8

    или sed:

    sed -i 's/ru_RU.ISO-8859-5/ru_RU.UTF-8/g' /etc/locale.aliaslocale-gen ru_RUservice apache2 restart

    На этом установка окончена. Если возникли трудности или вы заметили неточности в статье, просьба указать это в х.

    Источник: https://zen.yandex.ru/media/id/5d90d329433ecc00b139a5ba/5d932a7cfe289100b03371cc

    Как установить Asterisk on Ubuntu 18.04 Server | Реальные заметки Ubuntu & Mikrotik

    Если Вы хотите чтобы Ваш «Умный дом» мог уведомлять Вас звонками, обрабатывать звонки, то Вам необходимо будет на систему которая выбрана серверной, как у меня до этого была Ubuntu Trusty Server, а сейчас Ubuntu 18.

    04 Server установить пакет именуемый, как asterisk. Предупреждаю он всемогущ, но порой сложен из-за того, что является консольным, но после нескольких проведенных дней и ночей он поражает своей универсальностью в решении.

    Пока выкладывать свои наработки я не буду, сперва приведу их в более читаемый вид, а пока первоначальная заметка, как установить Asterisk на Ubuntu 18.04 Server.

    Каждый маленький шаг приближает Вас, а до этого меня к исполнению задуманного, главное не останавливайтесь.

    • tips_ubuntu_18_04_cloud_init_uninstall_v1.odt
    • ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists
    • ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y
    • ekzorchik@srv-bionic:~$ uname -a

    Linux srv-bionic 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    1. Устанавливаю в систему необходимые пакеты которые нужны для разворачивания asterisk в системе:
    2. ekzorchik@srv-bionic:~$ sudo apt -y install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev subversion
    3. ekzorchik@srv-bionic:~$ sudo su —
    4. root@srv-bionic:~# cd /usr/src
    5. Скачиваю пакет asterisk с официального сайта в виде пакета исходников чтобы самолично его собрать применительно к моей системе и с моими ключами:

    root@srv-bionic:/usr/src# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz

    root@srv-bionic:/usr/src# tar zxf asterisk-15-current.tar.gz

    root@srv-bionic:/usr/src# cd asterisk-15*/

    Устанавливаю поддержку Mp3 файлов:

    root@srv-bionic:/usr/src/asterisk-15.4.0# ./contrib/scripts/get_mp3_source.sh

    Устанавливаю последние недостающие пакеты:

    root@srv-bionic:/usr/src/asterisk-15.4.0# ./contrib/scripts/install_prereq install

    Do you want to continue? [Y/n] Y

    ITU-T telephone code: 7

    Т.к. я скачал исходники пакеты asterisk то их нужно собрать на текущей системе под текущую систему:

    root@srv-bionic:/usr/src/asterisk-15.4.0# ./configure

    root@srv-bionic:/usr/src/asterisk-15.4.0# make menuselect

    root@srv-bionic:/usr/src/asterisk-15.4.0# make

    root@srv-bionic:/usr/src/asterisk-15.4.0# make install

    root@srv-bionic:/usr/src/asterisk-15.4.0# make samples

    root@srv-bionic:/usr/src/asterisk-15.4.0# make config

    root@srv-bionic:/usr/src/asterisk-15.4.0# ldconfig

    root@srv-bionic:/usr/src/asterisk-15.4.0# cd ~

    • По умолчанию сервис asterisk работает из под root пользователя, а это не правильно, изменю чтобы он работал от имени учетной записи:
    • root@srv-bionic:~# groupadd asterisk
    • root@srv-bionic:~# useradd -d /var/lib/asterisk -g asterisk asterisk
    • root@srv-bionic:~# sed -i 's/#AST_USER=»asterisk»/AST_USER=»asterisk»/g' /etc/default/asterisk
    • root@srv-bionic:~# sed -i 's/#AST_GROUP=»asterisk»/AST_GROUP=»asterisk»/g' /etc/default/asterisk
    • root@srv-bionic:~# sed -i 's/;runuser = asterisk/runuser = asterisk/g' /etc/asterisk/asterisk.conf
    • root@srv-bionic:~# sed -i 's/;rungroup = asterisk/rungroup = asterisk/g' /etc/asterisk/asterisk.conf
    • root@srv-bionic:~# chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk
    • ekzorchik@srv-bionic:~$ sudo asterisk -rv
    Читайте также:  Как сделать wi-fi-антенну из подручных материалов

    Asterisk 15.4.0, Copyright (C) 1999 — 2016, Digium, Inc. and others.

    1. Created by Mark Spencer
    2. Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
    3. This is free software, with components licensed under the GNU General Public
    4. License version 2 and other licenses; you are welcome to redistribute it under

    certain conditions. Type 'core show license' for details.

    • =========================================================================
    • Running as user 'asterisk'
    • Running under group 'asterisk'

    Connected to Asterisk 15.4.0 currently running on srv-bionic (pid = 8868)

    srv-bionic*CLI>

    Установка Asterisk 15 на Ubuntu 18.04 Server amd64 разобрана. Как видно выше все просто, сложное будет потом. Но справиться с возникающими вопросами Вам поможет мой блоги: www.ekzorchik.ru. А пока на этом всё, с уважением автор блога Олло Александр aka ekzorchik.

    Источник: https://www.ekzorchik.ru/2018/06/how-to-install-asterisk-on-ubuntu-18-04-server/

    Установка и настройка телефонии Asterisk в Linux Ubuntu. Установка и настройка Asterisk

    23.02.2012 15:56

    Статья, позволяющая начинающим программистам выполнить базовую настройку asterisk

    Asterisk является одним из самых распространенных серверов ip-телефонии наряду с такими системами, как Switchwox и 3CX. Большую популярность данная система обрела с распространением в нашей стране качественного интернета, а также множества телефонных провайдеров, предоставляющих телефонные номера в SIP-формате или так называемые SIP-номера.

    Одной из таких компаний является Датагруп, которая зарекомендовала себя одним из лидеров рынка услуг связи. С удешевлением SIP-номеров появился смысл использовать современные телефонные системы ip-телефонии взамен старым аналоговым мини-атс. Это связано с широкими функциональными возможностями call-центров на базе Asterisk.

    При этом стоимость оборудования и настройка Asterisk практически не уступает в денежных затратах.

    Установка asterisk производится путем скачивания и дальнейшей компиляции бесплатно распространяемого исходного кода, разработанного компанией Digium.

    Исходники asterisk существуют только для unix-совместимых операционных систем, самыми распространенными из которых являются Linux и FreeBSD. Установка asterisk под Windows возможна только путем реализации виртуальной машины .

    Скачать последние версии asterisk можно по следующей ссылке. На данный момент развивается сразу 4 версии этого сервера. Наибольшую стабильность всех модулей имеют версии asterisk 1.4 и asterisk 1.6. С другой стороны, в функциональном плане выгодно отличается версия asterisk 1.

    8, в которой есть поддержка множества новых модулей и функций, среди которых можно отметить поддержку протокола SRTP, работу с IPv6 и улучшенные показатели при работе SIP и ISDN.

    В данной статье будет рассмотрена установка asterisk v 1.6.22 на Linux Fedora Core.

    Для начала установки, скачаем исходники asterisk. Для этого, выполняем в консоли сервера команды:

    # wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.22.tar.gz

    # tar -xzvf asterisk-1.6.2.22.tar.gz

    • Перед тем как компилировать исходники, установим все необходимые сопутствующие модули и утилиты:
    • # yum install gcc
    • # yum install gcc-c++
    • # yum install make
    • # yum install libxml2-devel
    • # yum install ncurses-devel
    • После того, как все дополнительные утилиты установлены, производим установку самого asterisk:

    # cd asterisk-1.6.2.22

    После удачной установки в каталоге /etc/asterisk вы обнаружите конфигурационные файлы asterisk»a. Настройка asterisk осуществляется путем редактирования файлов конфигурации, имеющих очень специфическую структуру и операторы. Основу конфигурации при настройке астериск составляют файлы sip.conf и extensions.conf. Изучив и отредактировав эти файлы, можно добиться правильной работы сервера.

    Файл sip.conf включает в себя настройки всех sip-устройств, зарегистрированных на сервере, который в последствии взаимодействуют между собой путем соединения двух и более sip-каналов, благодаря чему инициируется телефонное соединение — то есть звонок.

    Пример файла sip.conf:

    Qualify=yes nat=no

    Defaultexpiry=3600 disallow=all allow=alaw allow=ulaw fromuser=044XXXXXXX host=80.91.169.2 insecure=invite,port secret=xxxxxxxxxxx type=peer username=044XXXXXXX context=incoming language=ru qualify=yes

    dtmfmode=auto

    1. Type=friend host=dynamic insecure=invite,port username=fxo secret=xxxxxxxx context=incoming qualify=yes nat=no canreinvite=no allowtransfer=no dtmfmode=auto disallow=all allow=alaw
    2. allow=ulaw
    3. Type=friend regexten=101 secret=xxxxxxxxxxxxx context=internal host=dynamic callerid=»101″ disallow=all allow=alaw allow=ulaw language=ru callgroup=1 pickupgroup=1 qualify=yes canreinvite=yes call-limit=4
    4. nat=no

    В данном примере приведен простейший список sip-устройств. Несложно заметить, что в конфигурации имеются блоки, заключенные в квадратные скобки. Именно такими блоками описывается конфигурация любых устройств (пиров) при настройке Asterisk. Пройдемся вкратце по блокам и по самым основным параметрам.

    Блок является обязательным. В него входят настройки и параметры, которые применяются ко всем блокам по умолчанию. Другими словами, если при описании того или иного устройства не указан какой-либо параметр, то Asterisk читает его из этого блока.

    Следующие три блока описывают непосредственно sip-устройства. Для наглядности все три устройства имеют разные предназначения. Блок описывает параметры для sip-номера компании Датагруп, блок описывает параметры, для соединения с VOIP-шлюзом, а блок описывает параметры обычного внутреннего sip-устройства, которым может программный или аппаратный ip-телефон.

    Пробежимся по основным параметрам sip устройств. Параметр context определяет какой алгоритм действий применять к тому или иному устройству.

    Callerid определяет номер и имя пира, которые будут высвечиваться при исходящем звонке с него. Опции disallow и allow определяют, какие кодеки использовать для связи. Опция secret — это пароль для регистрации данного пира.

    Пароли желательно составлять достаточно сложными во избежание взломов недоброжелателями.

    Файл extensions.conf описывает взаимодействия между контекстами и каналами связи, которых может быть большое множество. По сути, этот файл является основным при настройке asterisk.

    Пример файла extensions.conf:

    Exten => _XXX,1,Dial(SIP/${EXTEN},120,tT) exten => _XXX,n,Hangup

    Exten => _X.,1,Dial(SIP/datagroup/${EXTEN},120,tT) exten => _X.,n,Hangup

    Exten => _X.,1,Dial(SIP/101,60,tT) exten => _X.,2,Hangup

    Exten => h,1,Hangup

    В данном простейшем примере мы имеем два алгоритма действий (контекста) — internal и incoming. Напомним, что привязка к контекстам осуществляется при создании пиров в файле sip.conf и в дальнейшем присваивается уже в extensions.conf при попытке инициации связи с пиром.

    Опишем подробнее два контекста. Уже по их названиям становится понятно, что они применяются для алгоритмов внутренних абонентов (internal) и входящих звонков (incoming). Разобраться в конструкции этого файла поможет обобщенный пример, который можно выразить строкой:

    Exten => _XXX,n,Command(Options)

    Расшифровываются эти опции так:

    Exten => _XXX — служебный префикс, с которого начинаются практически все строчки в данном файле. Он описывает представление входящего контекста.

    Другими словами, если на этот контекст обратился пир с номером 101, то алгоритм для него должен начинаться с конструкции exten => 101. Префикс поддерживает регулярные выражения и может указываться обобщенно.

    Например, exten => _XXX говорит о том, что под данный алгоритм попадают все пиры, которые состоят из трех цифр.

    N — номер строчки алгоритма. В любом программном коде имеется последовательность операторов, которые выполняются по очереди. Точно также и в настройках asterisk есть такая последовательность. Единственное отличие — команды, выполняемые asterisk’ом, нумеруются. Обязательным является указание первой сточки явно. Как вы успели заметить, все контексты начинаются со строчек:

    Exten => _XXX,1,….. exten => _X.,1,…..

    exten => h,1,……

    А вот дальнейшие строчки могут нумероваться неявно, то есть так:

    Exten => _XXX,n,….. exten => _X.,n,…..

    exten => h,n,……

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

    Command — команда выполняемая asterisk’ом. Основных команд не так уж много. Для базовой настройки достаточно знать синтаксис команды Dial (позвонить), на примере которой мы рассмотрим оставшиеся опции.

    Например: exten => _X.,1,Dial(SIP/101,60,tT) — asterisk наберет внутренний номер 101 и будет пытаться дозвониться до абонента в течении 60 секунд с возможностью перехвата звонка со стороны звонящего и принимающего пиров (опции tT)

    exten => _X.,1,Dial(SIP/datagroup/${EXTEN},120,tT) asterisk наберет номер, которые передан в переменной ${EXTEN} с помощью пира datagroup ранее указанного в sip.conf

    Первый пример применялся в контексте incoming. Это говорит о том, что все входящие звонки, приходящие на этот контекст перенаправляются на внутреннего абонента, который отвечает на эти звонки. Второй пример в свою очередь показывает, как осуществляется исходящий звонок передавая набранный номер в служебной переменной ${EXTEN}.

    Примеры файлов можно напрямую скопировать с этой статьи и вставить в ваши sip.conf и extensions.conf и подредактировать некоторые опции (логины, названия пиров, пароли и т.д). После настройки asterisk, запускаем сервер простой командой:

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

    # asterisk -rvvvvd

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

    P.S. В случае, если у вас не получилось настроить сервер, либо же вам нужна более сложная конфигурация, с радостью поможем в настройке asterisk. Наши контакты.

    По установке системы.
    Наконец тем или иным образом у нас появился установленный Asterisk и FreePBX.

    Источник: https://lab-music.ru/ustanovka-i-nastroika-telefonii-asterisk-v-linux-ubuntu-ustanovka-i-nastroika/

    Ссылка на основную публикацию
    Adblock
    detector