Dahdi linux или dahdi linux complete

Установка 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.

Читайте также:  Linux copy file from smb

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

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

Установка

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

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

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

apt install make gcc

Сборка 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.

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

tar -xvf asterisk-*.tar.gz

Устанавливаем библиотеки для работы с 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:

useradd asterisk -m

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

Читайте также:  Change windows account type

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

  • 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

systemctl start 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
callerid=»1001″
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
callerid=»1002″
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 можно установить бесплатную программу 3CX, для Android — Zoiper.

Подробнее рассмотрим настройку 3CX. Скачиваем ее с официального сайта. Устанавливаем, приняв лицензионное соглашение и нажимая далее. После установки запускаем приложение и на запрос отвечаем, что создадим новый профиль. Нажимаем New и вводим данные для подключения:

* настраиваем первый клиент для подключения с логином и паролем 1001 / 1234, второй — 1002 / 1234.

Источник

База знаний

Информация о процессе перехода с Zaptel версии 1.2 или 1.4 на DAHDI

Процесс перехода с Zaptel на DAHDI довольно таки простой и прямолинейный.
Установите пакет DAHDI согласно прилагающимся к нему инструкций по установке, затем переконфигурируйте и пересоберите сам Asterisk.
Релизы Asterisk ветки 1.4 с версией выше 1.4.21, и все релизы ветки 1.6, автоматически будут использовать DAHDI вместо Zaptel, даже если Zaptel все еще установлен и присутствует в системе.

Читайте также:  Как добавить свободного места для linux

Важные замечания по процессу перехода:

  • Пакет Zaptel, который включал в себя, как модули драйверов ядра системы, так и пользовательские утилиты для конфигурации и управления этими модулями, был разбит на два пакета. Для Линукс систем это:
    • dahdi-linux: модули драйверов ядра системы.
    • dahdi-tools: пользовательские утилиты.

Кроме того, существует пакет с именем dahdi-linux-complete, который содержит в себе оба пакета: dahdi-linux и dahdi-tools, для упрощения процесса установки.

Обратите внимание: Пакеты dahdi-linux и dahdi-tools имеют свою раздельную систему нумерации версий; они не синхронизируются при выпуске новых версий любого из пакетов, и вполне возможно использовать в системе, например,
dahdi-tools 2.0.6 совместно с dahdi-linux 2.0.11. Номер версии пакета dahdi-linux-complete всегда будет включать в себя номера версий обеих пакетов, для того чтобы Вы могли всегда понять, что в него входит.

Замечания, касающиеся пакета dahdi-linux:

  • Имена основных модулей ядра были изменены; в следующей зависимости:
  • Имена модулей ядра, которые являются аппаратными драйверами для различных карт не изменились, однако драйвера для wcusb и torisa более не входят в комплект.

  • Этот пакет более не включает в себя утилиту ‘menuselect’ для выбора модулей для компиляции; Теперь автоматически будут собраны все модули, которые можно собрать.

  • Теперь нет больше возможности выбрать программный эхоподавитель для включения его в dahdi.ko во время компиляции; все (на данный момент четыре) программных эхоподавителя (MG2, KB1, SEC и SEC2) теперь компилируются как модули ядра, а если двоичный объектный файл для Digium HPEC эхоподавителя был помещен в нужную директорию, тогда также будет собран HPEC модуль. Любой или даже все эти модули эхоподавителей могут быть загружены одновременно, а конкретный эхоподавитель, который будет использоваться для каналов в системе, может быть выбран с помощью утилиты dahdi_cfg из пакета dahdi-tools.

Обратите внимание:
Теперь нужно обязательно указать эхоподавитель, который будет использоваться для каналов в системе, используя dahdi_cfg, за исключением тех случаев, когда у используемых интерфейсных карт есть свой включенный аппаратный модуль эхоподавления. В DAHDI, по умолчанию, нет программного эхоподавителя.

Замечания, касающиеся пакета dahdi-tools:

  • Имена множества утилит были изменены; в следующей зависимости:
  • Системный файл конфигурации был переименован из /etc/zaptel.conf в /etc/dahdi/system.conf (в Линуксе).

  • Утилита dahdi_cfg теперь может использоваться для выбора эхоподавителя для каждого из канала или группы каналов на основании настроек из файла конфигурации: system.conf; См. примеры в файле: system.conf.sample.

  • Конфигурация XPP карт для скриптов init_card_*, теперь вынесена в файл /etc/dahdi/xpp.conf, где используется простой синтаксис (пример включен в пакет). Для модулей PRI, параметр ‘pri_protocol’, определяет, какой протокол будет

использоваться (E1/T1).

  • В PRI модулях Astribank, поведение индикаторов отображает, какой из портов является источником синхронизации *CLOCK MASTER* (красный цвет), кто использует этот источник *CLOCK SLAVE* (зеленый цвет). Обычно (но не всегда), это соответствует настройкам для NT/TE в Asterisk.

Источник

Оцените статью