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



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

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

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

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

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: Устанавливает код счета за звонки. Код в счете может иметь любое буквенное или цифровое значение.

Источник

1 Аннотация

Данный документ является частью документации, поставляемой в рамках проекта "ПТК ЦОИ", и описывает процесс инсталляции и конфигурирования сервера IP-телефонии Asterisk версии 1.6.1 в предположении, что планируется создание VoIP сети, состоящей из 18 автоматизированных рабочих мест (АРМ) с возможностью поддержки конференции и записи переговоров.

Привлечение дополнительного аппаратного обеспечения фирмы Digium для поддержки аналоговой и цифровой телефонии не предполагается.

2 Установка необходимого программного обеспечения

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

  • gcc
  • newt-devel
  • libusb-devel
  • kernel-devel (or kernel-smp-devel depending on your kernel)
  • glibc-devel
  • ncurses-devel
  • openssl-devel
  • zlib-devel

2.1 Краткая инструкция

Все релизы Asterisk ветки 1.4 с версией выше 1.4.21 и все релизы ветки 1.6 автоматически используют канал DAHDi вместо Zaptel, даже если Zaptel все еще установлен и присутствует в системе.

Для установки модуля канала DAHDi необходимо предварительно установить в системе исходные коды ядра ОС!

Установите пакет DAHDi согласно прилагающимся к нему инструкциям по установке, затем переконфигурируйте и пересоберите сам Asterisk.

2.2 Детальное описание процесса установки

Предполагается, что пользователь, проводящий процесс установки и настройки, имеет достаточные знания в области работы с командной оболочкой shell ОС Linux(Unix) и предварительно ознакомился с содержанием главы 3 [1].

2.2.1 Модуль канала DAHDI

Модуль канала DAHDI (Digium Asterisk Hardware Device Interface) обеспечивает интерфейсный уровень между сервером Asterisk с одной стороны, и драйвером интерфейса Dahdi плюс программные эхоподавителели с другой. Этот модуль канала пришел на смену Zaptel и наследует все его основные возможности. Кроме того, были расширены возможности по работе с программными эхоподавителями и добавлены новые параметры в файл конфигурации.

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

  • dahdi-linux: модули драйверов ядра системы.
  • dahdi-tools: пользовательские утилиты.
Читайте также:  Установка задний мост классика ваз

Получение исходного кода и установка:

В результате в системе появится специальное псевдоустройство dahdi и драйвер dahdi_dummy в виде одноименного модуля ядра, необходимые как источник цифрового сигнала для поддержки возможности организации конференции. Устройство dahdi_dummy не предоставляет каналов и используется только как источник DAHDI сигналов таймера. Подробности см. на стр.77,90 [1].

Поддержка таймера может быть также необходима для "Music on Hold".

Проверка наличия модуля ядра:

В результате процесса инсталляции в каталоге /dev появится псевдоустройство /dev/dahdi .

Загрузка модулей ядра (без стартового сценария) при необходимости осуществляется командой modprobe:

Если все прошло нормально, то на экран ничего не выводится.

Выполнение этих двух команд предусмотрено в стартовом сценарии, который появляется в системе после установки пакета dahdi-tools (см.ниже).

Проверка наличия загруженных модулей:

Чтобы выгрузить драйвер из памяти:

2.2.2 Пользовательские утилиты dahdi-tools

Установка данного пакета не является обязательной.

Процесс установки предусматривает выполнение следующей последовательности команд:

При старте ОС загрузка модулей dahdi будет произведена стандартным скриптом /etc/init.d/dahdi

При необходимости ручной запуск:

Примечание: для того, чтобы стартовый сценарий в ОС SuSe Linux не прерывал свою работу из-за ошибки, следует внести изменения в файл /etc/init.d/dahdi, добавив после:

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

2.2.3 Asterisk-1.6.1

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

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

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

На эране появится примерно следующее:

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

На экран будет выдано:

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

imgdoc/pic1.png

Возможно также получение исходного кода посредством:

В этом случае понадобится распаковка:

Итак, после загрузки исходного кода, перейдем в каталог:

и выполним команду конфигурирования:

Выполняя сценарий ./configure с флагом --prefix , системе указывается установить двоичные компонентыв подпапку asterisk-bin папки $HOME. Флаг --sysconfdir указывает системе, куда поместить конфигурационные файлы, а флаг --localstatedir — куда установить дополнительные файлы, например, звуковые. Главное здесь то, что, поскольку загрузка, компиляция и установка выполняются от лица пользователя asterisk, все, что создается, будет закреплено за этим пользователем и будет иметь права, предоставленные этому пользователю [1].

В результате выполнения команды configure на экране появится:

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

imgdoc/pic2.png

Выбрать app_meetme из раздела Application! (Без предустановленного DAHDi недоступно.)

imgdoc/pic3.png

imgdoc/pic4.png

imgdoc/pic5.png

После окончания нажать "х".

На экране появится сообщение:

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

На экране должно появиться:

Теперь можно установить файлы примеров:

Файлы примеров будут установлены в папку $HOME/asterisk-bin/asterisk

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

На экране получим:

imgdoc/pic6.png

Произведем установку и конфигурирование стартового сценария.

На экране получим примерно следующее:

Внесем изменения в файл asterisk-bin/sbin/safe_asterisk, изменив строку:

imgdoc/pic7.png

Убедиться, что asterisk запущен:

3 Конфигурирование и запуск

Команда make samples (последний шаг установки) создает множество конфигурационных файлов в etc/asterisk. В минимальной конфигурации необходимы только sip.conf, extensions.conf, voicemail.conf, meetme.conf. Для того, чтобы Asterisk не сообщал о том, что какие-то из конфигурационных файлов отсутствуют, можно оставить также и:

Перед настройкой сервера следует в каталоге /home/rtbr/src3/etc/asterisk выполнить:

3.1 Конфигурирование каналов в Asterisk: файл sip.conf

SIP телефоны работают через SIP каналы. Они конфигурируются в файле sip.conf:

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

Примечание: директива canreinvite=no заставляет весь голосовой RTP трафик проходить через Asterisk.

[1000] — это имя, ассоциируемое с SIP клиентом, или это может быть произвольным именем SIP устройства, на которое можно ссылаться из других конфигурационных фалов. Обычно, если SIP телефон имеет номер екстеншена 1000, тогда, соответствующие ему настройки в этом файле начинается со строки [1000]. Обратите внимание, что для того, чтобы можно было позвонить на этот экстеншен 1000 следует описать его в плане набора. Тип SIP клиента может быть: "user", "peer" или "friend".

Для получения возможности записи разговора в файл, убедитесь, что аудиопоток проходит через сервер Asterisk, т.е. необходимо установить параметр canreinvite=no в файле конфигурации sip.conf, если это канал SIP, или использовать параметры t или T в команде Dial, или использовать трансляцию между звуковыми кодеками (абоненты используют различные кодеки для связи).

Полный текст файла sip.conf для всех требуемых АРМ-ов приведен в Приложении A.

3.2 Конфигурирование плана набора в Asterisk: файл extensions.conf

Конфигурация плана набора содержится в файле конфигурации Asterisk — extensions.conf. Это один из самых важных конфигурационных файлов. В нем определяется обработка и маршрутизация входящих и исходящих вызовов. Этот файл управляет поведением всех соединений, проходящих через АТС. План набора состоит из контекстов. Определение контекстов — самая важная часть файла extensions.conf и самая важная часть конфигурации сервера Asterisk. Когда Asterisk принимает вызов, вне зависимости от того, поступил ли этот вызов из вне или с внутреннего абонента, этот вызов поступает на обработку в контекст. Выбор того, в каком контексте этот вызов будет обрабатываться, зависит от того, с какого канала поступил этот вызов. Когда конфигурируются каналы, которые планируется использовать в сервере Asterisk, одна из важных вещей, которую нужно указать в настройках каналов — это в какой контекст будут попадать вызовы, поступающие через каждый конкретный канал, используя определенную директиву, чаще всего такую:

Читайте также:  Точечные светильники шаг установки

В контексте определены разные, для каждого вызываемого пользователями наборы команд для исполнения (экстеншен). Например, в контексте может быть определен один набор команд, если пользователь набрал "1000", и другой набор команд, если пользователь набирает "9".

Контекст — это способ указать серверу Asterisk выполнить различные действия по обработке вызова в зависимости от того, откуда он поступил. Должен быть определен, по крайней мере, один контекст для того, чтобы Asterisk смог обрабатывать входящие вызовы через телефонную линию: это могут быть действия по вызову определенных экстеншенов или проигрывание приветственного сообщения и запись сообщения голосовой почты. Если требуется, чтобы Asterisk обрабатывал вызовы из внутренней сети особым образом, например, ограничить выбор вызываемых номеров экстеншенов или, если требуется ввести ограничение на набираемые номера в публичную телефонную сеть ? тогда нужно определить другой "контекст" в который будут попадать вызовы с "каналов", по которым подключены внутренние абоненты.

Каналы в asterisk — это внешние или внутренние соединения, по которым производиться доставка вызовов в АТС Asterisk. Каналом может быть соединение с обычным телефонным аппаратом или с обычной телефонной линией, или он может быть виртуальным (логическим) каналом для совершения вызовов (как, например, совершение телефонных вызовов через Интернет). В данном случае речь идет о типе канала — SIP: Протокол Инициирования Сеанса (Session Initiation Protocol), один из частоиспользуемых VOIP протоколов. SIP телефоны работают через SIP каналы. Они конфигурируются в файле sip.conf.

После того, как определены все требуемые SIP аккаунты для всех клиентов (АРМ-ов) в файле sip.conf, то у этих клиентов появляется возможность зарегистрироваться на сервере asterisk и совершать исходящие вызовы. Для того, чтоб они могли принимать вызовы, необходимо описать екстеншены для них в файле плане набора extensions.conf.

Если кто-нибудь совершит вызов на номер 1010, тогда будут совершена попытка вызвать SIP клиента, зарегистрированного как commander_in_chief .

Если команда Dial() содержит параметр t или T, Asterisk не производит процедуру re-invite .

В рассматриваемой конфигурации диалплана сервера Asterisk, предусмотрена запись телефонных переговоров в файл. Запись продолжается пока связь по текущему каналу не будет закончена. Если не определен полный путь для файла, то они будут сохраняться в поддиректории по умолчанию: /var/spool/asterisk/monitor. В нашем конкретном случае используется каталог /tmp и формат звуковых файлов — wav .

Запись разговора звонящего и вызываемого абонента сохраняются в раздельные звуковые файлы. Именование указанных файлов производится по шаблону:

Например, звонок абонента 241 абоненту 1000 будет записан в следующие два файла:

Примечание: Управление командой записи может предусматривать в момент окончания записи выполнение сервером Asterisk команды ОС для слияния двух звуковых файлов в один. По умолчанию, Asterisk будет исполнять программу soxmix, а потом удалит два исходных файла.

Полный текст файла extensions.conf для всех требуемых АРМ-ов приведен в Приложении Б. Для поддержки аудиоконференц-связи по номеру 600, следует использовать файл meetme.conf (Приложение Г). Подробности см. стр.208 [1]

4 Настройка X-lite

Исходный код может быть получен из:

Предполагается, что IP хоста Asterisk 10.10.10.206

Поля ‘User name’ и ‘Authorization user name’ должны совпадать с уникальным ID SIP устройства ([1000]) из sip.conf !

imgdoc/pic8.png

В результате в окне терминала, с которого был запущен Asterisk появится сообщение о регистрации SIP-клиента:

Примечание: Обратите внимание, что Xlite сам посылает NAT пакеты keep-alive, следовательно, надобности в Asterisk SIP параметре qualify=yes (периодическая проверка доступности клиента) нет.

При запуске сконфигурированного телефона (см.выше) происходит его регистрция в Asterisk:

5 Диагностика

Звонок на номер 1000 (сам себе).

В результате в окне терминала, с которого был запущен Asterisk появится сообщение.

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

В случае, если вызываемый абонент ответил:

Толкование вышеприведенного выходит далеко за рамки данной Инструкции и требует глубоких знаний сути рассматриваемого предмета.

Примечание: когда имеется установленное соединение по протоколу SIP, то имя канала будет иметь такой формат:

Поле peer — идентифицирует клиента, а id — это случайный идентификатор, используемый для уникальной идентификации канала, потому что с одним SIP клиентом может быть установлено несколько сеансов связи.

SIP/ipphone-45ed721c — SIP вызов, поступивший от клиента "ipphone"

Источник

Asterisk. Установка DAHDI

Всем добра! Не судите строго, линукс знаю неплохо, но с астериском пришлось столкнуться впервые и туплю как блондинка за рулём получившая вчера права. Кучу инфы пересмотрел и везде спотыкаюсь на DAHDI. Везде говорится что эти драйвера не столь важны, но тем не менее решил что их поставить всё же надо. Остановился на этом мануальчике. В общем как дело доходит до проблемного места, появляется эта ошибка. Переводчик говорит что у меня нет исходников для этого ядра. Помогите начинающему VoIP-шнику.

Если вы будете использовать только устройства sip, то в актуальных версиях звёздочки вам эти драйвера вообще не нужны

Читайте также:  Контроллер для ваз с установкой

Да. Все так. Исходники ядра не установлены. А зачем вообще тебе dahdi нужен? Стоит железка для подключения аналоговых телефонов (или для подключения самого астерикса к аналоговой телефонной линии)?

Никогда не сталкивался с астериском, но меняя работу придётся. В понедельник уже выхожу, знаю что придётся с этим работать. Знаю что там стоит автоответчик (на праздниках говорит что компания сегодня не работает, звоните завтра), вроде как SIP-аппараты там. Хочу в первый рабочий день выглядеть не как ёжик из тумана с узелком на плече, а более-менее продвинутым. Дома на KVM пытаюсь развернуть всё это добро, чтобы пощупать. Посмотреть на конф файлы, понять как это работает, но даже установить не могу из-за дахди

То есть можно пропустить все эти драйвера и приступить к установке астериска.

Да пропускайте, сосредоточьтесь на диалплане, если вам в наследство не останутся тяжёлые проблемы совместимости оборудования

Появилась следующая проблема. Я так понимаю что есть некий php-шный репозиторий pear. Не получается с него установить Console_Getopt, не подскажете куда копать.

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

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

Давайте так, какой у вас дистрибутив? Наверняка что-то из бинарных, там есть репозитории и в первую очередь пакеты нужно искать там

CentOS 7. Но рекомендуют собирать из исходников, а не ставить из реп

Вы можете собирать звездочку из исходников, но это не значит, что все зависимости тоже надо собирать из исходников. И даже если собирать из исходников для центоси то надо пользоваться rpmbuild. Скорее всего придется тащить src rpm из федоры , добавлять к нему свежие исходники, затем править ошибки сборки

Источник

Установка Asterisk с помощью YUM

Для последнего стабильного релиза (с долговременной поддержкой: LTS):

DAHDI

Большинство конфигураций Asterisk включают три основных пакета: основная программа Asterisk (asterisk), драйверы телефонии (zaptel) и PRI-библиотеки (libpri). На данный момент на смену каналу Zap (zaptel) пришел модуль канала DAHDI.

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

  • dahdi-linux: драйвера ядра системы;
  • dahdi-tools: пользовательские утилиты.

По умолчанию, dahdi-linux, должен был быть установлен на первом этапе установки asterisk (как зависимость). Поэтому продолжим:

Примечание: libpri (PRI-интерфейсы ISDN, такие как E1, T1) тоже должен был быть установлен при первом шаге установки asterisk. Вам не обязательно иметь его в системе если вы не используете PRI-интерфейсы.
Если нет уверенности какие пакеты установлены, а какие нет то выполните:

Конфигурация локального межсетевого экрана

Необходимо открыть порт 5060 для обмена по сигнальному протоколу SIP и порты 10000..20000 для RTP трафика.

Внимание: будут открыты порты 5060 и 10000..20000 для всего UDP-трафика.

Русские голосовые файлы asterisk

В последнюю стабильную версию asterisk 10.x уже включены русские голосовые файлы. Они автоматически устанавливаются только при сборке астериска из исходников. В YUM репозитории есть только пакеты с английским и французским языками. По ссылке: http://downloads.asterisk.org/pub/telephony/sounds/releases/ вы можете скачать необходимые вам пакеты голосовых файлов и поместить их в директорию: /var/lib/asterisk/sounds/

Решение проблем

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

Источник

[edit] What is DAHDI

DAHDI is the new name for ‘Zaptel’ as of May 19th 2008.

More information can be found here

[edit] Install your kernel devel package

if PAE kernel is used on machine.

[edit] Download DAHDI

This manual assumes that you already have MOR billing installed!

[edit] Download DAHDI tools

[edit] Build DAHDI linux

[edit] Build DAHDI tools

[edit] Alternative setup

Download the complete Dahdi package which includes both the DAHDI module and tools. If you need to influence the installation

of both the DAHDI linux and tools use above steps

[edit] Recompile Asterisk for DAHDI support

Go to «Channel Drivers» and make sure that «chan_dahdi» is checked.

[edit] How to use Zap instead of DAHDI

As ZAPTEL is now not used in Asterisk, systems that are still using ZAP channels can be configured to use Dahdi.

Edit /etc/asterisk/asterisk.conf file and add this line:

Adding this entry solves a few issues:

All CLI commands that begin with ‘zap’ are now available as ‘dahdi’ commands as well; the ‘zap’ variants will report that they are deprecated the first time you use each one in an Asterisk instance, but they will otherwise operate just as they did in previous versions

Channel configurations will be read from

So if you use «dahdichanname = no» — make sure to enter channel configuration in that file.

Источник

Adblock
detector