Меню Рубрики

Установка dahdi на linux

Установка DAHDI

Описание DAHDI

DAHDI расшифровывается как Digium Asterisk Hardware Device Interface, интерфейс оборудования Asterisk фирмы Digium. DAHDI представляет собой набор драйверов и утилит для различных аналоговых и цифровых телефонных плат, в частности, разработанных фирмой Digium. Драйверы DAHDI являются независимыми от системы Asterisk и могут использоваться другими приложениями. Ранее DAHDI имел название Zaptel, поскольку принадлежал к проекту Zapata Telephony Project.

Код DAHDI может быть скачан отдельными блоками (dahdi-linux для драйверов DAHDI и dahdi-tools для утилит DAHDI), кроме того, DAHDI может быть скачан единым пакетом под названием dahdi-linux-complete (он содержит как драйверы, так и утилиты DAHDI).

Почему DAHDI разделен на 2 части?
DAHDI разделен на две части (драйверы linux и утилиты) поскольку драйверы могут быть портированы [кем-либо] на другие операционные системы (такие как FreeBSD). В конце концов мы будем иметь пакеты драйверов dahdi-linux, dahdi-freebsd, и так далее.

Текущие версии libpri, DAHDI и Asterisk можно скачать здесь: http://downloads.digium.com/pub/telephony/

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

Для корректной работы DAHDI необходимо установить системые библиотеки. Для большинства операционных систем, библиотеки имеют название, совпадающее с названием пакета, но к этому названию обычно добавляется приставка -dev или -devel. К примеру, для Red Hat Linux Вам необходимо установить как «openssl», так и «openssl-devel» пакеты.

Список библиотек, которые Вам понадобятся, включает в себя:

  • OpenSSL
  • ncurses
  • newt
  • libxml2
  • kernel headers (этот пакет нужен для драйверов DAHDI)

Скачивание DAHDI

Как уже говорилось, скачать DAHDI можно (и нужно) здесь: http://downloads.digium.com/pub/telephony/. Вы можете скачать отдельно архивы dahdi-linux и dahdi-tools, распаковать их и установить каждый индивидуально. Мы же рассмотрим более простой вариант — скачивание и распаковку полного пакета: dahdi-linux-complete. Для этого Вы открываете указанный выше URL, находите там каталог dahdi-linux-complete и в этом каталоге выбираете файл вида dadhi-linux-complete-2.X.Y+2.X.Y.tar.gz, где 2.X.Y — номер версии dahdi.

Чтобы скачать файл, запускаете команду вида:

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.X.Y+2.X.Y.tar.gz

где 2.X.Y — номер версии dahdi, например:

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.6.2+2.6.2.tar.gz

Распаковка DAHDI

Для распаковки DAHDI запускаете команду вида:

tar -zxvf dahdi-linux-complete-2.X.Y+2.X.Y.tar.gz

Сборка и установка DAHDI

Для настройки конфигурации, сборки и установки DAHDI на компьютере с подключением к интернету, запустите следующие команды:

cd dahdi-linux-complete-2.X.Y+2.X.Y
make
make install
make config

Для настройки конфигурации, сборки и установки DAHDI на компьютере без подключения к интернету, сначала скачайте:

wget http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-hx8-2.06.tar.gz
wget http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-064-1.05.01.tar.gz
wget http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-128-1.05.01.tar.gz
wget http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-vpmoct032-1.8.0.tar.gz
wget http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-tc400m-MR6.12.tar.gz
wget http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.25.0.tar.gz

после чего сохраните все эти файлы внутри папки dahdi-linux-complete:

источник

Установка и базовая настройка сервера Asterisk на Ubuntu

Инструкция позволит быстро познакомиться с сервером Asterisk, выполнив базовые действия по установке и настройке сервера. Нижеописанные действия протестированы на Ubuntu 16.04 и Asterisk 15.

Подготовка сервера

Актуализируем список пакетов:

Установка

Установку можно выполнить с помощью команды apt install asterisk. Но в данной инструкции мы разберем установку путем сборки из исходников.

Рекомендуется установить Asterisk с DAHDI (драйверы плат интерфейсов телефонии) и LibPRI (библиотека для работы с потоковыми TDM-интерфейсами). Сначала необходимо собрать DAHDI, затем LibPRI и только потом — Asterisk.

Устанавливаем пакеты, необходимые для корректной сборки DAHDI и LibPRI:

Сборка DAHDI

Распаковываем его и переходим в распакованный каталог:

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

Собираем пакет и устанавливаем его:

Выходим из каталога dahdi:

Сборка LibPRI

tar -xvf libpri-current.tar.gz

Выходим из каталога libpri:

Установка Asterisk

Переходим по ссылке https://downloads.asterisk.org/pub/telephony/asterisk и копируем ссылку на последнюю версию asterisk. Используя ссылку, скачиваем исходник:

* в моем случае, последняя версия была 15.

Распаковываем архив и переходим в папку, появившуюся после распаковки:

Устанавливаем библиотеки для работы с mp3:

./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-dahdi —with-pri —with-iconv —with-libcurl —with-speex

  • —with-dahdi — с драйверами DAHDI.
  • —with-pri — с библиотекой PRI.
  • —with-iconv — с возможностью конвертации кодировок (будет не лишним для поддержки русских символов).
  • —with-libcurl — возможность извлекать данные посредством CURL-запросов (по http).
  • —with-speex — дополнительный VBR-кодек (используется на многих софт-фонах).

** список всех доступных опций можно посмотреть командой ./configure -h.

Мы должны увидеть логотип астериска:

Читайте также:  Установка камеры в автосервисе

Вызываем оконное меню настройки модулей:

Для большинства случаев, настройки можно оставить по умолчанию. В противном случае рекомендуется изучить опции и выбрать необходимые. После нажимаем Save & Exit.

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

Устанавливаем скрипт инициализации (для автозапуска):

Устанавливаем скрипты для отсекания логов:

Создаем конфигурационный файл для указания дополнительного пути с библиотеками:

Добавляем в него одну строчку:

* это путь до каталога с библиотеками, с которым мы собирали asterisk (опция —libdir).

Настройка и запуск

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

runuser = asterisk
rungroup = asterisk
defaultlanguage = ru
documentation_language = ru_RU

Создаем системную учетную запись asterisk:

chown -R asterisk:asterisk /var/run/asterisk

chown -R asterisk:asterisk /etc/asterisk

chown -R asterisk:asterisk /var//asterisk

chown -R asterisk:asterisk /usr/lib64/asterisk

chown -R asterisk:asterisk /var/log/asterisk

Исправляем ошибки и предупреждения. В моем случае были следующие.

Ошибки запуска

No configured users for ARI. ARI предоставляет API для Asterisk REST Interface. В данном примере, отключаем поддержку:

Name or service not known. Если появится такая ошибка, система не может разрешить имя компьютера в IP-адрес. Необходимо правильно настроить DNS или прописать имя компьютера в файл /etc/hosts.

No directory URL or host found. Модуль для работы lpad неправильно настроен или не настроен.
PostgreSQL RealTime: Failed to connect database asterisk on 127.0.0.1. Модуль для работы с СУБД PostgreSQL.
Failed to open /dev/dahdi/transcode: No such file or directory. Ошибку можно увидеть, если нет оборудования DAHDI.

Вышеописанные ошибки возникают из-за включенных, но не используемых модулей. Отключаем:

noload => res_config_ldap.so
noload => res_config_pgsql.so
noload => codec_dahdi.so

Предупреждения при запуске

  • Unable to find a valid server address or name.
  • Process_dahdi: Ignoring any changes to .
  • CEL pgsql config file missing global section.
  • Cel_tds module had config problems; declining load.

Отключаем следующие модули:

noload => res_phoneprov.so
noload => app_dahdiras.so
noload => chan_dahdi.so
noload => res_pjsip_phoneprov_provider.so
noload => cel_pgsql.so
noload => cel_tds.so

Список всех загружаемых модулей можно посмотреть командой:

ls -la /usr/lib64/asterisk/modules/

Разрешаем сервис asterisk и запускаем его:

systemctl enable asterisk

Заведение первых номеров

Для первой настройки достаточно завести 2 номера с возможностью подключения по SIP.

Создаем правило обработки вызова (контекст). Открываем следующий файл:

И добавляем в него следующее:

[outcaling]
exten => _XXXX,1,Dial(SIP/$,,m)

* создаем контекст с именем outcaling для четырехзначных номеров (XXXX) с вызовом по SIP по внутреннему номеру.

Открываем следующие конфигурационный файл:

И добавляем в него два внутренних номера (extensions):

[1001]
type=friend
regexten=1001
secret=1234
context=outcaling
host=dynamic
caller
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no

[1002]
type=friend
regexten=1002
secret=1234
context=outcaling
host=dynamic
caller
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no

  • [1001], [1002] — имена для обозначения номеров.
  • type — типы проверки номеров. Могут быть peer, user или friend. Peer — вызовы сопоставляются с IP-адресами и номерами портов. User — проверка username. Friend — включает возможности peer и user (проверка username и IP-адреса источника) и лучше всего подходит для телефонов и телефонных программ.
  • regexten — добавочный номер. Если не задан, используется имя.
  • secret — пароль для аутентификации.
  • context — контекст или группа правил.
  • host — IP-адрес или имя клиента. Для автоматической регистрации используем dynamic.
  • callerid — идентификатор пользователя при звонке.
  • disallow — запрещает кодеки (задается перед параметром allow).
  • allow — разрешает кодеки. alaw и ulaw — алгоритмы для кодеков g711.
  • language — код используемого языка.
  • callgroup — задает группу устройства (для возможности перехвата).
  • pickupgroup — задает перечень групп, которые можно перехватывать.
  • qualify — включает или отключает периодическую проверку подключенного клиента.
  • canreinvite — включает или отключает прохождение голосового RTP трафика через Asterisk. Устанавливать, только если клиент поддерживает функцию SIP re-invites.
  • call-limit — ограничение количества одновременных вызовов.
  • nat — устанавливается в yes, если клиент находиться за NAT.

systemctl restart asterisk

Проверка

Все, что происходит в Asterisk можно посмотреть в лог-файле командой:

tail -f /var/log/asterisk/messages

Для теста настроенного сервера можно воспользоваться IP-телефоном или софт-фоном на компьютере или телефоне. Например, а качестве SIP-клиента под Windows можно установить бесплатную программу X-Lite, для Android — Zoiper.

Читайте также:  Установка водосчетчиков гбу жилищник

Настраиваем первый клиент для подключения с логином и паролем 1001 / 1234, второй — 1002 / 1234. Пробуем позвонить.

источник

Установка DAHDI, LibPRI и Asterisk 16 на Centos7

Asterisk – бесплатное решение для организации VoIP телефонии, обладая всеми возможностями АТС, предоставляет более многофункциональное управление звонками. В данной статье рассмотрена подробная установка Asterisk 16 на CentOs 7.5. Asterisk 16 выпущен с расширенной поддержкой (LTS), обновления будут выпускаться в течении пяти лет, в которых основное внимание уделяется обеспечению оптимизации производительности и стабильности. Основные улучшения, […]

Asterisk – бесплатное решение для организации VoIP телефонии, обладая всеми возможностями АТС, предоставляет более многофункциональное управление звонками.

В данной статье рассмотрена подробная установка Asterisk 16 на CentOs 7.5. Asterisk 16 выпущен с расширенной поддержкой (LTS), обновления будут выпускаться в течении пяти лет, в которых основное внимание уделяется обеспечению оптимизации производительности и стабильности.

Основные улучшения, представленные в Asterisk 16:

  1. Увеличение производительности обработки SIP – вызовов.
  2. Снижена нагрузка на CPU и уменьшено потребление памяти в канальном драйвере PJSIP.
  3. Добавление поддержки обмена текстовыми сообщениями, использование Asterisk как коммуникационную платформу широкого профиля.
  4. Повышена производительность обработки видеопотоков и улучшена адаптация к изменению качества канала связи.
  5. В модуль app_queue появилась возможность настройки времени ожидания завершения вызова в привязке к отдельным участникам (агентам), а не только для каждой очереди. Так же добавлена поддержка обработчика predial, вызываемого перед созданием канала вызываемого или вызывающего абонента.
  6. В модуль app_originate добавлена опция `a`, которая информирует о вызове в асинхронном режиме, т.е. управление сразу возвращается в приложение вместо ожидания ответа.
  7. Модуль app_fax в новой версии объявлен устаревшим, вместо него следует использовать res_fax.
  8. Добавлены новые вызовы AMI (Asterisk Manager Interface) в драйвер PJSIP, которые позволяют инспектировать настройки:
  9. PJSIPShowAors для вывода списка AOR (Address-Of-Record);
  10. PJSIPShowAuths для получаения списка секций с параметрами аутентификации;
  11. PJSIPShowContacts для вывода контактов.

Вместе с Asterisk выпущен релиз проекта FreePBX 15, в рамках которого совершенствуется интерфейс для управления Asterisk и готовый дистрибутив для удобного развертывания VoIP – системы. Статья по установке FreePBX 15 так же представлена на нашем сайте.

Перейдем к установке Asterisk 16.

Далее необходимо установить зависимости и утилиты.

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

Необходимые устанавливаемые зависимости и утилиты:

Установка параметра тайм зоны:

Для установки параметром необходимо выполнить команду: tzselect

Перезагружаем систему: reboot.

В дальнейшем может пригодиться Midnight Commander. Midnight Commander – файловый менеджер с текстовым интерфейсом для Unix-подобных операционных систем, а так же Microsoft Windows и Windows NT, OS/2, Mac OS X. Midnight Commander является частью проекта GNU.

Скачивание Midnight Commander: yum –y install mc.

Приступаем непосредственно к установке Asterisk. Оно состоит из нескольких этапов. Далее рассмотрена установка с использованием аналоговых или цифровых сетей. Для этого используется модуль DAHDI. Этот модуль канала пришел на смену Zap и наследует весь его основной функционал, также были расширены возможности по работе с программными эхоподавителями, добавлены новые параметры в файл конфигурации. Модуль DAHDI обеспечивает интерфейсный уровень между Asterisk с одной стороны и драйвером интерфейса Dahdi+программные эхоподавители с другой. Драйвера интерфейсов позволяют использовать аппаратные средства для соединения Asterisk с традиционными аналоговыми и цифровыми телефонными сетями.

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

На данный момент драйвер DAHDI поддерживает следующее аппаратное обеспечение:

  • wctdm24xxp (Digium TDM2400P/AEX2400: до 24 аналоговых портов, Digium TDM800P/AEX800: до 8 аналоговых портов, Digium TDM410P/AEX410: до 4 аналоговых портов);
  • wctdm (Digium TDM400P, до 4 аналоговых портов);
  • xpp: (Xorcom Astribank: USB устройство, до 32 портов включая цифровые BRI и E1/T1 модули);
  • wcfxo (X100P, оригинал и его клоны. Простая однопортовая FXO карта).

Цифровые карты

  • wct4xxp (Digium TE205P/TE207P/TE210P/TE212P: PCI 2 порта T1/E1/J1, Digium TE405P/TE407P/TE410P/TE412P: PCI 4 порта T1/E1/J1, Digium TE220: PCI-Express 2 порта T1/E1/J1, Digium TE420: PCI-Express 4 порта T1/E1/J1);
  • wcte12xp: (Digium TE120P: PCI один порт T1/E1/J1, Digium TE121: PCI-Express один порт T1/E1/J1, Digium TE122: PCI один порт T1/E1/J1);
  • wcte11xp: (Digium TE110P: PCI один порт T1/E1/J1);
  • wct1xxp: (Digium T100P: PCI один порт T1, Digium E100P: PCI один порт E1);
  • tor2: (Tormenta 4 портовая T1/E1 карта от «Zapata Telephony project»).
  • pciradio (Zapata Telephony PCI Quad Radio Interface);
  • wctc4xxp (Аппаратный транскодер кодеков от Digium (необходим модуль dahdi_transcode);
  • dahdi_dynamic_eth (Драйвер TDM через Ethernet (TDMoE). Ему необходим модуль dahdi_dynamic);
  • dahdi_dynamic_loc (Mirror a local span. необходим модуль dahdi_dynamic);
  • dahdi_dummy (Устройство, не предоставляющее каналов, используется только как источник DAHDI сигналов таймера).
Читайте также:  Установка sp3 на нетбук acer

Для реализации работы так же необходимо установить LibPRI.

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

Скачиваем последние версии Asterisk, DAHDI и LibPRI, для этого используем утилитуwget.

Для данной статьи Asterisk 16 устанавливался на виртуальную машину, соответственно без DAHDI и LibPRI, но ниже представлен список полный:

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

Запускаем генератор конфигурации DAHDI: /usr/sbin/dahdi_genconf

Сразу можно включить DAHDI в автозагрузке: chkconfig dahdi on

Редактируем файл /etc/dahdi/modules
Там должна быть одна незакомментированная строка с драйвером для Вашей карты, например, wcte12xp. Остальные модули нам не нужны, их надо закомментировать, чтобы не загружались.
Далее настраиваем /etc/dahdi/system.conf:

  • span num — порядковый номер спана
  • timing source — выбор источника для синхронизации таймера. 0 – мастер, 1 и более – мастером является удаленная сторона. Чем больше число, тем меньше приоритет.
  • line build out (LBO) — выбор в зависимости от расстояния до удаленной стороны.
  • framing – тип телефонной сигнализации. Для E1 выбирается ccs или cas.
  • coding – кодирование в линии. Для E1 выбирается ami или hdb3.
  • yellow – выполняется ли проверка и генерация crc4.

Теперь можно стартовать DAHDI: service dahdi start
При установке DAHDI в /usr/sbin записывается несколько утилит:

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

  • dahdi_tool
    Показывает статус карты и ошибки в её работе
  • dahdi_scan
    Показывает сведения о карте
  • dahdi_cfg [options]
    Показывает конфигурацию
  • dahdi_hardware
    Показывает сведения об установленной карте

Первоначально для того, чтобы установился Asterisk 16 без ошибки компиляции необходимо установить libuuid-devel и jansson-devel.

    yum -y install libuu >Выполнение ./config

Если у нас установлена 64-разрядная версия ОС (это можно узнать набрав команду uname -r), то запускаем установку со следущими параметрами:

В случае с 32-разрядной ОС строка для установки выглядит немного иначе:

После выполненной команды должен появится знак [*] Asterisk.

Далее необходимо выполнить make menuselect.

Нам необходим модуль Core Suond Packages, выбираем параметры для русского языка.

Далее выполняем ряд команд: make && make install

После установки копируем файлы с примерами конфигураций в директорию с Asterisk: make samples

Добавляем скрипт запуска Asterisk в /etc/init.d: make config

Для полного запуска системы, сначала необходимо запустить DAHDI, потом Asterisk:

Для перехода в консоль выполним команды asterisk –rvvv

Verbose отвечает за отображение информации о протекающих в Аsterisk процессах: вызовах, их обработке, запуске call файлов, и т.п.
Для включения отображения такой информации есть 2 варианта:

  1. Подключаясь к asterisk CLI, выполните строку с добавлением буквы «v»:
    asterisk -rv
    asterisk -rvv
    asterisk –rvvvvvvvvvvvv

При этом количество букв «v» указывает на уровень отладки verbose: от verbose 1 до verbose 10 (и выше). Можно также подключиться к Аsterisk, отключив отображении такой информации вообще:
asterisk -r

  • Если у Вас уже открыт asterisk CLI, то выполните в командной строке астериска:
    core set verbose 1
    или
    core set verbose 3

    core set verbose 10

Число после verbose отвечает за подробность и количество сообщений. Число может быть и больше 10 (используйте автозаполнение asterisk).

Для отключения вывода сообщений verbose наберите в Аsterisk CLI: core set verbose off.

В данной статье рассматривалась полная установка Asterisk 16 на CentOS 7 с рассмотрением установки DAHDI и LibPRI, что необходимо для сборки АТС с аналоговыми и цифровыми устройствами.

источник

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

Adblock
detector