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:

Источник

Настройка DAHDI — chan_dahdi

DAHDI Linux и DAHDI Tools

Скачать DAHDI

настройка E1 — /etc/dahdi/system.conf

В синхронной сети должно выполняться одно простое правило — master должен быть соединен с slave. Если это правило нарушается — будут потерянные(skip) или повторенные (slip) кадры.

Читайте также:  Контекстные переводчики для windows

При разговоре слышно легкое пощелкивание, факсы не идут или проходят с ошибками. У вас неправильно настроена синхронизация. Настройте синхронизацию как описано выше.

ISDN PRI — /etc/asterisk/chan_dahdi.conf

context — привязывает канал к контексту в плане набора (диалплане), тем самым определяя действия при инициации вызова. :

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

group — назначает каналы в группу. Для исходящей связи будет выбираться первый свободный канал. Для назначения в несколько групп, перечислите значения через запятую. Чтобы не назначать в группу — оставьте значение пустым.

switchtype — устанавливает тип сигнализации для PRI.

Аналоговые интерфейсы могут стать источником путаницы в Asterisk.
Для FXS интерфейсов используется fxo_ks.
Для FXO — fxs_ks.

priindication: Этот параметр устанавливает то, как сервер Asterisk должен сигнализировать состояние Busy() и Congestion() для удаленного коммутатора или пользователя. По умолчанию: inband. Доступные значения следующие:

pridialplan — устанавливает тип плана набора для ISDN PRI. Игнорируется в большинстве случаев. Может понадобиться для корректной работы CallerID Доступные значения: unknown, local, private, national, international.

overlapdial: если — «yes», то набранные цифры будут сразу отправляться в поток. По умолчанию: no. (enblock)

Состояние аналоговых вызовов

В этой секции описываются директивы сигнализирующие о состоянии вызовов аналоговых интерфейсов.

busydetect — детектирование сигнала занято для FXS, FXO или T1 (E&M, Wink, Feature Group D). Значение ‘yes’ или ‘no’.

callprogress — контроллировать состояние вызова (КПВ, занято или подняли трубку). Значение ‘yes’ или ‘no’.

Функции CallerID

usecallerid — разрешить или запретить передачу CallerID (yes/no) По умолчанию ‘yes’.

hidecallerid — скрывать исходящий CallerID. По умолчанию ‘no’.

calleridcallwaiting — получать CallerID во время вызова.

callerid — устанавливает CallerID для данного канала. Принимает данные правильного формата «имя» и . Возможное значение ‘asreceived’ для передачи полученных значений.

Call feature options

Эти параметры включают или отключают дополнительные опции для FXS (FXO) каналов, такие как конференция и пере-адресация и т.д.. Значения могут быть только (yes/no)

threewaycalling — разрешает или запрещает three-way calling для канала.

cancallforward — разрешает или запрещает функцию «следуй за мной».

transfer — разрешает или запрещает функцию флэш для канала (для включения threewaycalling должно быть ‘yes’)

immediate — Если этот режим установлен ‘yes’, входящий вызов немедленно направляется на расширение ‘s’ без тона набора и чтения цифр.

ADSI — Включает или выключает поддержку ADSI. ADSI спецификации системы, аналогичной Caller ID для передачи закодированной информация для аналоговых телефонов. Это позволяет создавать интерактивные меню и обеспечивает доступ к таким услугам, как голосовая почта, посредством текстового интерфейса.

Параметры качества аудио

echocancel включить эхо-подавление. По умолчанию всегда включен.

rxgain — регулировка усиления приемника.
txgain — регулировка усиления передатчика.

Call Logging Options

Эти параметры влияют на записи Call Detail Records Asterisk.
amaflags: Устанавливает AMA флаги, влияющие на классификацию записей в Call Detail Records. Принимает следующие значения:

accountcode: Устанавливает код счета за звонки. Код в счете может иметь любое буквенное или цифровое значение.

Читайте также:  Как решить ошибку windows не удалось автоматически обнаружить параметры прокси этой сети

Asterisk -vvvvvv команды CLI для тестирования DAHDI

dahdi show status

Команда dahdi show status отобразит состояние установленных плат.

Источник

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

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

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

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

Установка

Установку можно выполнить с помощью команды 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.

Читайте также:  Не загружаются библиотеки windows

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

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

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.

Источник

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