Настройка FreePBX Distro часть 4
Поскольку мы настроили внешний транк и нам могут позвонить из вне то сразу всплывает вопрос, как настроить входящие звонки по направлению, желательно к конкретному номеру, кому разрешить пользоваться внешней связью а кого ограничить только внутренней, ведь номеров у нас уже порядка 20. Рассмотрим более детально шаблоны и правила набора номера.
Итак, для того что бы астериск мог совершить звонок вне нашей IP-АТС он должен знать какой номер (в каком формате) по какому транку передать, для этого предназначен раздел Исходящая маршрутизация (Outbound Routes), в этом разделе мы можем создать несколько маршрутов в каждом маршруте может быть использовать несколько транков, маршруты астериск перебирает по порядку сверху вниз, как только находит совпадение в шаблоне номера использует транки в маршруте, перебирает их так же сверху вниз, если первый маршрут по какой-то причине не сработал (например занят, не работает, какой-то иной сбой) используется второй и так далее по списку.
Учитывая то что маршруты перебираются сверху вниз, первыми по списку лучше пускать более детальные маршруты, например с кодом города, после них пускать маршруты с более общей маской например мобильники, затем уже страну, потому что если сделать наоборот то сработает маршрут страны, но не сработают остальные, впрочем остановимся более подробно на шаблонах.
В шаблоне есть поля: приставка(prepend), префикс (prefix), совпадение шаблона (match pattern) и Caller ID, раньше были не поля, в какой-то момент времени использовалась запись как в конфиг файлах астериска.
Приставка это любые цифры которые Астериск подставит перед номером, префикс это цифры которые астериск уберёт из номера, шаблон это шаблон.
В шаблоне мы можем использовать следующие обозначения: X – одна цифра от 0 до 9, Z – одна цифра от 1 до 9, N – одна цифра от 2 до 9, ну и конечно мы можем использовать и сами цифры. Например, если нам нужен шаблон для номеров от 1000 до 1099 мы можем использовать 10XX.
Наш провайдер использует набор номера через 8, а определяет входящие как 7ХХХХХХХХХХ, в сотовых телефонах это +7 значит необходимо заменить 7 и +7 на 8 при наборе номера.
Здесь мы разрешаем прохождение вызова при наборе через 8, и заменяем +7 и 7 на 8 в случае их набора. В поле CallerID прописан диапазон номеров кому разрешено пользоваться транком. Если транк не один то выбираем последовательность их использования. Если занят первый то используется второй.
Махинации с префиксами и приставками можно делать не только в исходящей маршрутизации, но так же и в самом транке. Но если в исходящей маршрутизации шаблон используется для определения в какой транк запустить вызов, то в самом транке это уже на шаблон, а маска, т.е.
если астериск передаёт номер в транк который не соответствует маске, то вызов совершён не будет, если не задавать маску в транке, то и проверки никакой проводится не будет, астериск пропустит все номера.
В самом транке (в данном случае intelnetcom) введем правило позволяющее звонить на городские и мобильные номера.
А в транке Sipnet добавим эти правила:
Sipnet при наборе использует не 8 а 7, теперь при этих настройках в случае когда занят intelnetcom звонок уйдет на Sipnet и 8 поменяется на 7. здесь же указано конкретно что звонить только на Московские стационарные телефоны.
С исходящей маршрутизацией разобрались, теперь о входящей. Телефонов много и самый простой способ это донабрать внутренний номер. Сделать это можно при помощи интерактивного меню IVR. Создаем меню и называем его как нибудь.
Редактируем как удобно вам. В примере при поступлении звонка входящая маршрутизация направляет его на IVR, прокручивается приветствие, которое запишите сами, далее Прямой набор– наши внутренние номера, таймаут – время ожидания набора номера, если трижды был введен не правильный номер то звонок сбрасывается.
Если кто то не сообразил что от него хотели или не знает что делать то звонок будет переведен на номер 1001. С донабором тоже разобрались. А как быть с теми номерами которые должны дозваниваться до конкретного внутреннего номера в обход меню.
Делаем это так, добавляем Входящий маршрут в котором явным образом указываем кого подключать при совпадении входящего номера.
Гораздо проще разбираться если описание делать похожим на входящий номер. Caller ID – номер который надо перенаправить на конкретный телефон и активируем маршрут по приоритету CID
и устанавливаем конкретное направление на внутренний номер. На этом пока все. Система полностью работоспособна и у меня трудится уже с пол года без каких либо нареканий.
Источник: http://avr-ip.ru/?p=73
Грабли, или 5 типичных ошибок настройки Asterisk
Статья ориентирована на начинающих пользователей Asterisk, которые, тем не менее,
имеют знания о работе компьютерных сетей на уровне CCNA и которые изучали основы IP-телефонии без специализированных курсов.
1. Вы не отключили анонимные звонки и использовали контекст по умолчанию для плана нумерации
Проблема
По умолчанию, в Asterisk включены анонимные звонки, чтобы вам могли звонить из любой точки планеты напрямую, указывая номер@вашдомен в качестве назначения звонка и опираясь на работу DNS.
Это очень полезная возможность, но она может сыграть с вами дурную шутку, если вы используете контекст по умолчанию для основной нумерации.
Получится, что любой желающий, отправивший запрос на номер_телефона@ваш_домен сможет за ваш счет позвонить по межгороду, например.
Решение
Первое правило, которому следовать нужно всегда: не использовать контекст по умолчанию для нумерации. Запомните, контекст default только для анонимных звонков из интернета, рассматривайте его как самый недоверенный из всех.
Если вы не планируете принимать анонимные звонки, обязательно отключите их.sip.conf
[general] allowguest=no
2.
Вы по-разному отвечаете на запрос регистрации с верным именем пользователя и неверным паролем и на запрос с несуществующим именем пользователя
Проблема
В интернете хватает желающих позвонить за чужой счет, поэтому надо максимально усложнять им жизнь.
Asterisk, по умолчанию (до недавних пор, но вдруг у вас не совсем свежая версия), по-разному отвечает на попытки регистрации с неверным именем пользователя и с верным именем, но неверным паролем.
Отсюда возникает возможность у атакующего выяснить существующие имена абонентов и уже целенаправленно подбирать пароли к ним.
Решение
sip.conf
[general] alwaysauthreject = yes
3. Вы не используете списки доступа ACL и/или средства динамического ограничения доступа Поскольку, несмотря на предпринятые в прошлом пункте усилия, все ещё сохраняется возможность подбора пароля, во всех случаях, когда возможно, следует использовать правила контроля доступа (acl)sip.conf
[my_user] deny=0.0.0.0/0 permit=172.16.0.0/12 ; указывайте сети, откуда может выполняться регистрация
Бывают случаи, когда невозможно использовать acl — абонент может регистрироваться из произвольной сети. В этом случае необходимо использовать средства динамической блокировки, например fail2ban — утилита для обработки логов Asterisk с целью выявления и блокировки адресов, с которых производилось много попыток неудачных регистрации.
4. В плане нумерации вы пропустили _ и удивляетесь тому, что звонки не идут
Довольно простая ошибка, но часто встречается среди начинающих.
Неправильно[citycalls] exten => XXXXXX,1,Dial(DAHDI/g1/${EXTEN})
Правильно[citycalls] exten => _XXXXXX,1,Dial(DAHDI/g1/${EXTEN})
В первом случае вы задали не шаблон, а звонок на номер XXXXXX (икс-икс-икс-икс-икс-икс). Просто не забывайте, что шаблоны задаются символом _
5. Вы используете nat и звук проходит только в одну сторону
Тема работы Asterisk и абонентов, между которыми в разных конфигурациях существует трансляция адресов настолько обширна, что выходит за рамки этой статьи, но все же дам несколько полезных советов:
- Если нет звука, возьмите лист бумаги и изобразите как ходит трафик (не только SIP, но и RTP) между клиентами.
Уже на этом шаге можно многое понять, особенно если вы знаете как работает NAT.
- Если клиенты потенциально находятся за натом, не давайте им делать reinvite (canreinvite=no в соответствующей секции sip.
conf) и установите directmedia=nonat, если вам не нужно прохождение всего трафика через Asterisk, что может потребоваться для записи разговоров.
- Выберите что-нибудь одно — поддержку nat в Asterisk или поддержку SIP в брэндмауэре вашей ОС: в Windows ISA Server поддержка SIP, включенная параллельно поддержке nat в Asterisk, дает полное отсутствие звука, поэтому если не можете повлиять на ОС, задавайте nat=no в соответствующих секциях sip.
conf
- Помните, что кроме трафика на порту 5060/udp, аудио данные передаются по протоколу RTP через udp порты, диапазон которых указан в rtp.conf (по умолчанию 100005) -20000)
- Если ничего не помогает, включайте debug в Asterisk и используйте tcpdump — это позволит вам увидеть куда уходят запросы и аудио-трафик, а понимание проблемы это 90% её решения.
Удачи в освоении Asterisk!
Источник: https://habr.com/post/157545/
Интеграция АТС и 1С. Звонки через Asterisk из 1С используя модуль связи
Самые большие возможности дает интеграция цифровых АТС на базе Asterisk с 1С. Кроме этого возможна интеграция 1С и АТС Panasonic.
Другие производители также имеют кое-какие возможности, однако работают они не так стабильно и результат некоторых внедрений не гарантированный.
100% результат и предсказуемость дает Asterisk, именно на него приходится большая доля работ.
Важное отличие нашего модуля интеграции Asterisk и 1С от других существующих в том, что мы не берем плату за каждого пользователя. Мы предоставляем весь функционал телефонии в безлимитное пользование и неважно сколько человек и филиалов у вас появится через год.
Кроме этого мы не продаем “нечто”, что вам потом нужно будет устанавливать самостоятельно или дополнительно платить за установку и внедрение.
Мы продаем именно готовую установку вместе с услугой и внедрением у вас на предприятии, а сам продукт вам предоставляется бесплатно. За сам продукт не берется никакой платы, т.к. наша цель не продать и забыть, а установить и чтобы у вас всё работало.
Это же является гарантией результата, т.к. если что-то не будет работать, вы просто нам не заплатите.
Интеграция Asterisk возможна с любой конфигурацией 1С версии 8: Предприятие, Торговля, УПП, ERP, неуправляемые и управляемые формы. После согласования функционала большинство внедрений происходит удаленно без выезда специалистов.
Таким образом, не важно из какого вы города или поселка – все работы будут выполнены без выезда.
Это существенно экономит средства, к тому же внедрение нашими специалистами производится намного быстрее и качественнее, чем сторонними программистами еще не сталкивающимися с интеграцией 1С и АТС.
И наконец, наша разработка не закрыта, а полностью открыта и в последствии вы сможете самостоятельно вносить в нее изменения и добавлять новые функции и отчеты. Это также оградит вас от крупных скрытых плат в будущем.
У нас вы платите только за время внедрения, получая все необходимые компоненты и модули бесплатно в открытом виде.
Поэтому на практике наши готовые внедрения оказываются в 2-3 раза дешевле других платных “готовых” пакетов для которых вам потребуется дополнительно оплачивать внедрение. А закрытые разработки вынуждают в течение двух лет совершать платы соизмеримые с первичным платежом.
Важным достоинством нашей разработки и модуля интеграции с Астериск является полная поддержка нового канального драйвера PJSIP Asterisk.
Результат интеграции 1С и АТС Asterisk, Panasonic
Приведем список функций, а затем рассмотрим каждую из функций подробно:
- Личные менеджеры для групп клиентов или VIP-клиентов. При звонке клиент всегда попадает на своего личного менеджера (задаются в 1С).
- Звонки клиентам по нажатию на кнопку в 1С.
- Звонки сотрудникам на внутренние и мобильные номера по нажатию на кнопку в 1С.
- Перевод звонка на другого сотрудника из 1С.
- Отображение на панели телефонии свободен или с кем именно разговаривает другой сотрудник.
- Отчет по всем разговорам сотрудников и возможность прослушать их. Каждый видит только свои, начальник все.
- Добавление функции отправки уведомлений о пропущенных звонках на электронную почту сотрудника или отдела.
- Отображения звонков на компьютере и интеграцией с базой данных клиента (например, отображение статуса заказа клиента, его статистика, задолженность и т.п.).
- Звонки одновременно нескольким операторам/менеджерам.
- При неответе оператора в течение 5-10 секунд дублирование вызова на мобильный телефон.
Источник: https://asofts.ru/1s/integraciya-ats-i-1s-zvonki-iz-1s.html
Настройка АТС Asterisk
Подробная инструкция по настройке АТС Asterisk сервера для офиса. После настройки Вы получите базовую функциональность телефонной АТС.1. Создадим 5 номеров к которым можно будет подключить как softphone например 3CXPhone и MicroSIP так и железный радио sip телефон например GIGASET C610A IP, телефон Cisco 7492.
2. Подключим прямой московский номер у провайдера IP телефонии Zadarma, настроим прием звонков с прямого номера на наши внутренние номера телефонов.3. Настроим звонки с/на внутренние номера Zadarma провайдера телефонии которые не тарифицируются.4. Настроим звонки на внешние номера через Zadarma провайдера телефонии.
Регистрируемся на сайте zadarma.com, регистрируем прямой номер в нужной стране (обязательно потребуется прикрепить скан паспотра), в настройках sip выписываем логин пароль и сервер:
login: 08364
pass: sBfdf8Hja46dov
server: sip.zadarma.com
Если Вам нужно потренироватся, то можно не подключать прямой номер, а обойтись внутренним провайдера, чтобы проверить текущую конфигурацию телефонии в работе. Для имитации звонка на прямой номер, подключаетесь со смартфона к задарма по одному из сипов, стандартно дается 3 sip номера на аккаунт и позвонить на внутренний sip номер подключенный на Asterisk.
Исходные данные:
Установлен Asterisk 13 по инструкции Установка Asterisk PBX 13 в Debian и Ubuntu server либо по другой из множества инструкций по установке Asterisk на данном сайте.
После установки сервера мы имеем стандартные конфигурационные файлы Asterisk сервера которые находятся по пути /etc/asterisk/
Переходим в эту папку выполнив команду:
cd /etc/asterisk/
Создаем нужные конфигурационные файлы выполнив команды:
echo '
[general]
context=default
alwaysauthreject=yes
allowguest=no
match_auth_username=yes
allowoverlap=no
allowtransfer=yes bindport=5060 ; управляющий SIP порт 5060 по умолчанию
bindaddr=0.0.0.0
tcpenable=yes
udpbindaddr=0.0.0.0
tcpbindaddr=0.0.0.0 ;bindport=5171 ; управляющий SIP порт 5171 не стандартный, ставим при работе через интернет, чтобы отсечь основную массу ботов
;bindaddr=0.0.0.0:5171 ; расскоментировать этот блок и закоментировать блок выше со стандартным портом 5060
;tcpenable=yes
;udpbindaddr=0.0.0.0:5171
;tcpbindaddr=0.0.0.0:5171 videosupport=yes
useragent=csipsimple
pedantic=no
limitonpeers = yes callcounter=yes ; раскоментировать и изменить на свои айпи сервера при подключении через NAT роутера, ; и обязательно пробросить на этот сервер rtp и sip порты на файрволе роутера(сервера):
;localnet=192.168.1.0/255.255.255.0
;externip=36.49.23.69 disallow=all
allow=alaw
allow=ulaw language=ru
relaxdtmf=yes
dtmfmode=rfc2833
force_rport=yes #include peers_registered.conf
#include peers_templates.conf
#include peers_userall.conf
#include peers_trunks.conf
' > sip.conf
Создаем файл с шаблонами пользователя:
Источник: https://softnastroy.com/content/nastroyka-ats-asterisk.html
Поддержка SS7 (ОКС7) протокола в Астериск – Документация
На данный момент существуют следующие варианты подключения Астериск к сети с использованием ОКС7
- LIBISUP. Замена LIBPRI от Cosini technologies, доступная по коммерческой лицензии Digium.
- Использование внешнего SS7 конвертера для подключения Asterisk к ОКС7 сети.
- Sangoma Signal Media Gateway (SMG & ss7box), коммерческий продукт от Sangoma.
- chan_ss7. Open Source ss7 реализация от Sifira A/S.
- libss7. “Родная” реализация SS7 для Asterisk как libpri.Итого, первые три способа требуют покупки оборудования/лицензий, а последние два являются открытыми и бесплатными.
После изучения libpri и chan_ss7 был сделан вывод о “сырости” первого и готовности второго к коммерческому использованию. Далее речь пойдет о chan_ss7.
Драйвер SS7 chan_ss7 от Sifira
Данный драйвер был разработан для внутреннего использования и был выложен в открытый доступ по лицензии GPL в надежде на дальнейшее развитие активными участниками сообщества.
- Официальный сайт -http://www.netfors.com/chan_ss7_free
- Скачать chan_ss7
Основные функциональные возможности
- Compatible with Asterisk 1.2.x, 1.4.x and 1.6.x.
- MTP2 (Q.703) implementation
- MTP3 (Q.704) implementation (subset).
- ISUP (Q.76x) implementation (mostly complete).
- Supports Dahdi/Zaptel compatible digital interfaces, e.g. Redfone, Sangoma, Digium or Openvox
- Facilities for protocol analysis using e.g. wireshark
- Supports high call volumes
- Supports multiple linksets with different OPCs and DPCs
- Supports linksets with multiple links.
- Supports load sharing and MTP changeover.
- Supports multiple hosts (cluster) configuration with load sharing and failover.
- Flexible Dial command syntax to allow routing to different linksets.
Требования
Общие
Для работы chan_ss7 треубется работающий Астериск сервер с E1 картой и драйвером Dahdi. Драйвер протестирован с оборудованием Digium, asterisk 1.4.10 и chan_ss7-0.9. Лучше всего использовать ядро версии 2.
6 в связи с улучшенным временем реакции (lower latency), что позволяет избегать недогрузок буферов ОКС7 линка (MTP2 протокол является протоколом реального времени).
Однако возможно запускать решение и на более старом оборудовании путем увеличения значения NUM_ZAP_BUF в mtp.c.
Zaptel
chan_ss7 работает с сигнализацией напрямую, поэтому в zaptel.conf под b-каналы нужно отдавать все таймслоты. Пример zaptel.conf:
span=1,1,0,ccs,hdb3 – got this working!
span=1,0,0,ccs,hdb3
bchan=1-31 span=2,0,0,ccs,hdb3
bchan=32-62
Обратите внимение на отсутствующие декларации dchan!
Ядро
Часто современные Linux дистрибутивы поставляются с активированными режимами вытесняющей многозадачности (preemption), предназанченными для desktop систем для улучшенной интерактивности. Ядро должно быть пересобрано со следующими настройками:
Processor type and features —> … Preemption Model (No Forced Preemption (Server)) —> [ ] Preempt The Big Kernel Lock … Timer frequency (100 HZ) —>
Конфигурационный файл chan_ss7
Конфигурационный файл для канала chan_ss7 называется ss7.conf и должен находится в папке с остальными конфигурационными файлами Астериск (обычно /etc/asterisk).
Конфигурационный файл содержит несколько секций.
- linkset-имя – параметры набора линков (linkset).
- link-имя – параметры линков.
- host-имя – в данной секции определяются хосты (это позволяет иметь единый файл конфигурации для разных серверов, каждый будет использовать свои настройки).
- cluster – определяет настройки кластера.
Секция Linkset
- hunting_policy. Алгоритм выбора каналов для исходящих звонков. Желательно выбирать подходящий алгоритм с обих сторон ОКС7 линка для минимизации риска коллизий (когда обе стороны пытаются сделать исходящий звонок по тому же самому каналу одновременно). Возможные варинты:
- odd_lru– осуществлять исходящие звонки по нечетным CICs, по каждой группе выбирать последний использованный (odd least reacently used);
- even_mru– алгоритм по умолчанию. Использовать четные CICs и выбирать последний использованный в каждой группе (even least recently used);
- seq_lth– последовательный перебор CICs снизу вверх (sequential low-to-high);
- seq_htl– последовательный перебор CICs вверху внизу (sequential high-to-low).
- enable_st. Использовать end-of-pulsing (ST) для определения полноты номера (завершенности).
- use_connect. Отвечать на входящий звонок сообщением CON вместо ACM и ANM.
- context. Название контекста для входящих звонков. По умолчанию default.
- language. Язык астериск для входящих звонков из данного линксета. По умолчанию пустая строка.
Секция Link
- linkset. The linkset that this link belongs to
- channels.The speech/audio circuit channels on this link.
- schannel. The signalling channel
- firstcic. The first CIC on this link
Секция Host
chan_ss7 auto-configures by matching the machines host name with the host-
section in the configuration file. The same configuration file can thus be used on several hosts.
- default_linkset. This sets the SS7 linkset that receives outgoing calll where no linkset is defined in the Dial command'.
- opc. The point code for this SS7 signalling point
- dpc. A list of linkset:point-code pairs that specifies the point code to use for the linkset.
- links. A list of link:connector-no pains that specifies which links are on which connectors.
Пример конфигурационного файла ss7.conf для Digium TE207P
В данном примере используются следующие настройки ОКС7:
- 2 потока E1 по карте Digium TE120P.
- Сигнализация на первом таймслоте на обоих потоках.
- firstcic=1
- opc=1, dpc=5003 (decimal)
[linkset-siuc]
enabled => yes
enable_st => no
use_connect => no
hunting_policy => even_mru
context => ss7-in
language => en
subservice => auto [link-l1]
linkset => siuc
channels => 2-31
schannel => 1
firstcic => 1
enabled => yes [link-l2]
linkset => siuc
channels => 2-31
schannel => 1
firstcic => 33
enabled => yes [host-ivr]
enabled => yes
if-1 => 192.168.0.2
opc => 1
dpc => siuc:5003
links => l1:1,l2:2
Часто задаваемые вопросы
Может ли один Asterisk сервер поддерживать несколько ОКС7 линков, т.е. иметь несколько OPC?
Нет, в текущей реализации chan_ss7 не может. В настройках ss7.conf возможно указать только один OPC. Таким образом, даже если у вас 4-х портовая карта и провайдер может подать на нее два логических ОКС7 линка, это невозможно.
Возможно ли иметь только один сигнальный таймслот на несколько потоков?
Да, возможно. Для этого не надо указывать значения для schannel. Например:
Источник: http://asteriskpbx.ru/pages/viewpage.action?pageId=1737125
Сигнализация ОКС-7 на платформе Asterisk
В версии Asterisk v13+ появилась поддержка SS7, позволяющая выполнять подключения к реальному оборудованию. Итак, рассмотрим последовательность шагов, необходимых для сборки Asterisk, поддерживающего работу с цифровыми каналами связи.
Планирование подключения
Нам надо определиться, будет ли у нас подключение к вышестоящему оператору связи (uplinks) телефонии, или мы будем заниматься исключительно обслуживанием наших downlinks. От этого будут зависеть как параметры настройки канального уровня (от кого и в каком порядке будет осуществляться синхронизация физических потоков), так и параметры сетевого уровня (см. ниже).
В нашем примере мы будем использовать следующие исходные данные:
– две 4-х портовые интерфейсные платы Digium TE 420;
– на первой плате 4 порта управляются по сигнализации ОКС-7 и собраны в один пучок (linkset). Параметры подключения: «точка-точка», наш pointcode 650, pointcode соседа 599, он же является конечной точкой. Это подключение к «uplink», т. е. физическую синхронизацию будем получать от него; — на второй плате к первому порту подключается потребитель, работающий по протоколу EuroISDN, которому мы даем 30 соединительных линий (т. е. задействуем все таймслоты в E1). Для этого потребителя мы являемся сетью (NET);
– на второй плате ко второму порту подключается другой потребитель, но также работающий по протоколу EuroISDN. Но ему мы даем только 10 соединительных линий (10 младших таймслотов в E1. Остальные таймслоты в потоке, за исключением сигнального, не задействованы);
– оставшиеся два порта второй платы пока не используются.
Установка интерфейсных плат
Я использую интерфейсные платы производства Digium на 1 (TE 131*), 2 (TE 235*), и 4 (TE 420*) канала. Сейчас в продаже имеются и 8-канальные платы, но как-то руки не доходили протестировать их работоспособность.
Перед установкой плат необходимо:— выставить джамперами требуемый тип интерфейса (T1 или E1) для каждого из портов на плате; — выставить переключатель, идентифицирующий порядковый номер платы в системе (при установке нескольких плат значения, выставленные на переключателях, должны быть уникальны для каждой карты); — при установке в систему нескольких карт рекомендуется также соединить их специальным шлейфом, который обеспечит единую синхронизацию для всех портов (хотя в действительности я не заметил каких-либо нарушений работоспособности при отсутствии этого шлейфа даже при передаче факсов между портами, расположенными на разных платах); Подробнее процесс установки оборудования см. в оригинальных datasheet от Digium.
Сборка драйверов уровня ядра и сопутствующих утилит
Так как мы установили дополнительное интерфейсное оборудование, то для его поддержки потребуются драйвера уровня ядра, которые отсутствуют в стандартных дистрибутивах linux. Поэтому нам придется собрать их самостоятельно, а для этого понадобятся исходные тексты ядра linux.
Если использовать исходные тексты именно той версии ядра, которая установлена в системе, то сборка и установка самого ядра нам не потребуется. Если версия не совпадает, то необходимо будет сначала собрать новое ядро, и только после этого собирать драйвера dahdi.
Итак, скачиваем с официального сайта asterisk и распаковываем последнюю версию драйверов dahdi. Кстати сразу же можно скачать и библиотеки libpri и libss7, которые будут необходимы для сборки chan_dahdi. В пакете tools для работы с dahdi есть две полезные утилиты, которые по умолчанию могут и не собраться.
Это dahdi_tool (позволяет в консольном режиме посмотреть состояние физических портов E1) и dahdi_pcap (позволяет сохранять трафик, проходящий через порт E1, для дальнейшего его анализа при помощи wireshark). Для сборки dahdi_tool требуется наличие в системе пакета newt-devel, а для dahdi_pcap требуется libpcap-devel.
Для работоспособности утилиты dahdi_pcap до сборки требуется отредактировать файл dahdi-linux-complete/linux/include/dahdi/dahdi_config.
h, в котором надо добавить строку #define CONFIG_DAHDI_MIRROR Далее приступаем к сборке и установке собственно драйверов: cd dahdi-linux-complete make clean make sudo -u root make install Утилита dahdi_pcap штатной системой сборки в любом случае не собирается, поэтому собираем ее вручную: cd dahdi-linux-complete/tools make dahdi_pcap После этого вручную копируем исполняемый файл dahdi_pcap в нужное нам место.
Создание конфигурации драйверов уровня ядра
Источник: http://canmos.ru/ofisnaya-ats/ats/ats-universalnaya/upravlenie-telefoniej-s-pomoschyu-freepbx/signalizaciya-oks-7-na-platforme-asterisk/
Настройка сервера VoIP Asterisk на PBX Elastix (CentOS) – Часть 1 / CentOS / Howitmake.ru
Когда-то давно я разворачивал сервер VoIP в офисе, выбор был между Trixbox и Elastix, правда у Elastix был странный глюк со стабильностью работы транка к провайдеру, проблема была в том что транк падал по необъяснимой причине, в логах по данному поводу ничего вразумительного не было, в результате, после тестирования, предпочтения были отданы Trixbox, который, в тестовой среде, показал себя просто отлично, и результатом стало успешное использование более 2х лет. Тут мне на поддержку перешла новая компания, в планах которой было использовать VoIP в этот раз я решил еще раз протестировать Elastix. Визуально Elastix более функционален т.к. содержит больше функций из коробки, остальное можно добавлять с помощью модулей. В функционале Elastix есть, собственно PBX-сервер, mail-сервер, jabber (openfire), статистика. Все остальное можно добавить самому.
Я хочу настроить сервер Asterisk с тремя подключенными телефонами, мы будем использовать 2 провайдера VoIP — PCtel.ru и sipnet.ru
Первый обеспечивает дешевую телефонную связь по РФ 1 руб. за мин. второй позволяет звонить на прямые московские номера до 40 мин в день бесплатно, при условии что у вас на счету более 5 у.е., в общем для тестирования данные провайдеры легко настраиваются, а в дальнейшем, с небольшими изменениями, можно подключать к любому провайдеру с сохранением функционала.
Мы настроим диалплан, чтобы звонки на мобильные телефоны и городские телефоны в других городах автоматически шли через pctel.ru, а на городские Москвы через sipnet.
ru, при этом входящие звонки будут попадать на номер 100, если он недоступен или не отвечает, через 10 сек, перенаправлен на номер 200, если и он не отвечает то «пиликать» должны все телефоны — 100, 200, 300.
Я не буду рассматривать процесс установки системы, он весьма прост и нагляден.
Для работы нам понадобится дистрибутив Elastix, актуальную версию которого, можно скачать с сайта разработчика
Подготовительная часть
Для начала обновим систему, зайдя под пользователем root и паролем который вы указали при установке системы:yum -y updateПерезагрузимся, чтобы применить обновления:rebootну и идем в web консоль, если случайно вы не задали статистический IP адрес вашему серверу, то IP можно узнать зайдя в консоль, под пользователем root( на скриншоте подчеркнуто красным):Если требуется настроить сеть то идем во вкладку System, а там в Network и жмем на кнопку Edit Network Parameters (на скриншоте обведено красным)
Редактируем настройки сети- если требуется, далее идем настраивать экстеншены- вкладка PBX.
1 Настраиваем экстеншены, для подключения телефонов пользователей
Выбираем устройство SIP:
Первый пользователь с внутренним номером 100 у нас будет оператор (operator) в поле DisplayName, укажем его имя латиницей, тогда у того кому он звонит, будет высвечиваться его имя(при условии что телефон, у того кто принимает звонок, поддерживает данную функцию есть такие что не поддерживают, тогда высвечивается номер), также мы активируем функцию, Call Waiting, весьма полезная вещь, нужна она для того, если поступил новый звонок, во время того как пользователь уже разговаривает, а телефон имеет 2 канала, то пользователь может переключиться на вторую линию, а первый звонок будет находиться в режиме удержания и к нему можно будет вернуться, если телефон пользователя имеет только одну линию, то положив трубку, он будет переключен на новый входящий звонок. Для подключения экстеншена к VoIP серверу нам нужно придумать пароль, !!! для тестовых целей!!! я использовал 123456qw.
Источник: https://howitmake.ru/blog/centos/147.html