Джим Меггелен - Asterisk™: будущее телефонии Второе издание Страница 23
- Категория: Компьютеры и Интернет / Программное обеспечение
- Автор: Джим Меггелен
- Год выпуска: неизвестен
- ISBN: нет данных
- Издательство: неизвестно
- Страниц: 136
- Добавлено: 2019-06-19 14:52:37
Джим Меггелен - Asterisk™: будущее телефонии Второе издание краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Джим Меггелен - Asterisk™: будущее телефонии Второе издание» бесплатно полную версию:Джим Меггелен - Asterisk™: будущее телефонии Второе издание читать онлайн бесплатно
Не пугайтесь, если вышесказанное не имеет сейчас для вас особого смысла. Просто мы еще не рассматривали диалплан, приложения, приоритеты и добавочные номера (все это ожидает нас в следующей главе). Поэтому пока что просто задайте autofallthrough=yes. Безопаснее использовать команду autofallthrough=yes, поскольку мы не хотим, чтобы Asterisk простаивала без дела в ожидании ввода номера, если это не указано ей явно.
Контекст parkedcalls - это внутренний контекст Asterisk, заданный в файле features.conf.
Пока что это все, но данный файл будет использоваться по ходу этой главы для построения тестового диалплана, который поможет убедиться в работоспособности всех наших устройств. Также не забудьте выполнить команду dialplan reload из командной строки Asterisk, чтобы внесенные изменения вступили в силу. Проверьте свои изменения, введя в командной строке команду dialplan show:
*CLI> dialplan show
[ Context 'phones', created by 'pbx_config' ] Include => 'internal' [pbx_config]
[ Context 'internal', created by 'pbx_config' ]
[ Context 'incoming_calls', created by 'pbx_config' ]
[ Context 'default', created by 'pbx_config' ]
[ Context 'parkedcalls', created by 'res_features' ]
'700' => 1. Park((null)) [res_features]
-= 1 extension (1 priority) in 5 contexts. =-Настройка диалплана для выполнения тестовых вызовов
Теперь давайте подробнее остановимся на тестовом диалплане, о котором мы начали разговор в предыдущем разделе, - он позволит выполнять обратный вызов программного телефона, после того как тот будет настроен, и использовать приложение диалплана Echo() для тестирования двусторонней аудиосвязи. Более подробно диалпланы рассматриваются в главе 5, а пока что просто добавим выделенные курсивом строки в существующий файл extensions.conf. Мы будем использовать этот диалплан по ходу данной главы и дополнять его в определенных разделах. После ввода текста в extensions.conf диалплан необходимо перезагрузить, выполнив команду dialplan reload из консоли Asterisk: [globals]
[general]
[default]
exten => s,1,Verbose(1\Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Uait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hangup()
[incoming_calls]
[internal]
exten => 500,1,Verbose(^Echo test application)
exten => 500,n,Echo() extern => 500,n,Hangup()
[phones]
include => internal
Каналы FXO и FXS
Каналы FXO и FXS отличаются друг от друга лишь тем, что один из них обеспечивает тональный сигнал готовности линии. FXO-порт не генерирует тонального сигнала, он его принимает. Самый простой пример - тональный сигнал, поставляемый телефонной компанией. FXS- порт обеспечивает и тональный сигнал, и напряжение сигнала вызова (звонка), предупреждающего пользователя о входящем вызове. Оба интерфейса обеспечивают двустороннюю связь (то есть передачу и прием в обоих направлениях одновременно)[55].
Если у вашего сервера Asterisk есть совместимый FXO-порт, в него можно подключить телефонную линию телефонной компании (или telco), что позволит Asterisk использовать эту телефонную сеть для отправки и приема телефонных звонков. Кроме того, если ваш сервер Asterisk имеет совместимый FXS-порт, в него можно подключить аналоговый телефон. Таким образом, Asterisk сможет направлять поступающие вызовы в телефон и вы будете способны использовать этот телефон для звонков куда-либо.
В конфигурации порты определяются протоколом обмена сигналами, который они используют, а не их физической сущностью. Например, физический FXO-порт будет определен в конфигурации протоколом обмена сигналами FXS, а FXS-порт - протоколом FXO. Это может сбивать с толку до тех пор, пока не станут ясны причины такого явления. Платы FX_ названы так не исходя из их физической сути, а соответственно тому, какие устройства подключаются к ним. Следовательно, плата FXS - это плата, подключаемая к станции (station). Таким образом, можно заметить, что, для того чтобы справится со своими задачами, плата FXS должна вести себя как центральная АТС и использовать протокол обмена сигналами FXO. Аналогично, плата FXO подключается к центральной АТС. Это означает, что она должна будет вести себя как станция и использовать протокол обмена сигналами FXS. Модем в компьютере - классический пример устройства FXO.
Более старая плата X100P производства компании Digium использовала набор микросхем Motorola, а плата X101P (которую Digium продавала до того, как полностью переключилась на TDM400P) базируется на наборе микросхем Ambient/Intel MD3200. Эти платы являются модемами с драйверами, которые можно использовать в качестве отдельного устройства FXO (интерфейс для телефонии не может использоваться как FXS-порт). От поддержки плат X101P отказались в пользу плат TDM-серий.
Эти платы (или их клоны) НЕЛЬЗЯ использовать в средах производственной эксплуатации. Ведь не просто так они стоят на eBay всего $10.
Платы X100P/X101P не годятся для производственной эксплуатации, потому что часто являются причиной возникновения эха и не дают возможности удаленного управления разъединением. Будьте благоразумны и не тратьте время на это оборудование. Если обратиться с вопросом об этих платах к сообществу, многие ответы будут недружелюбными. Мы вас предупредили.
Как найти порты FXO и FXS на плате TDM400P
На рис. 4.1 представлена плата TDM400P с модулями FXS и FXO. Фото черно-белое, поэтому невозможно различить цвета, но под номером 1 -FXS-модуль зеленого цвета, а под номером 2 - FXO-модуль, оранжево- красный. В нижнем правом углу рисунка можно увидеть разъем Molex, посредством которого плата подключается к блоку питания компьютера.
Конфигурация канала FXO для соединения с PSTN
Начнем с конфигурации FXO-канала. Сначала сконфигурируем оборудование Zaptel, а затем - устройства Zapata. Зададим очень простой диалплан и покажем, как тестировать канал.
Подключение FXS-порта (зеленый модуль) к PSTN может привести к выходу из строя модуля и платы из-за подачи напряжения в систему, которая предназначена для его производства, а не потребления!
Рис. 4.1. Плата TDM400P с модулем FXS (1 по горизонтали) и модулем FXO (2 по горизонтали)
Если на плате TDM400P есть модули FXS, убедитесь, что вы не забыли подключить питание к разъему Molex, который используется для обеспечения напряжения, необходимого для возбуждения генератора звонка в FXS-портах. Разъем Molex не нужен, если имеются только FXO-модули.
Конфигурация оборудования Zaptel
Для конфигурации оборудования используется файл zaptel.conf, который находится в папке /etc/. Приведенная минимальная конфигурация определяет FXO-порт, использующий протокол обмена сигналами FXS:
fxsks=2
loadzone=us
defaultzone=us
В первой строке, кроме указания используемого протокола обмена сигналами (FXO или FXS), для канала 2 задается один из следующих протоколов:
• Loop start (ls)
• Ground start (gs)
• Kewlstart (ks)
Разница между loop start (кольцевая сигнализация) и ground start (сигнализация с заземлением) в том, как оборудование запрашивает тональный сигнал: линия, использующая сигнализацию с заземлением, подает сигнал дальнему концу о том, что хочет получить тональный сигнал, путем мгновенного заземления одного из проводов; линия с сигнализацией по шлейфу для запроса тонального сигнала использует замыкание. Хотя в новых системах их уже практически нет, аналоговые линии с сигнализацией с заземлением по-прежнему применяются во многих областях[56]. Сигнализация с заземлением на самом деле довольно странная штука, потому что в Asterisk нет ее аналоговой формы. Фактически передается не напряжение заземления, а сигнальный бит, предусмотренный для аналоговых сетей, присутствующих на стороне T1. Если вы чего-то здесь не понимаете, не отчаивайтесь; скорее всего, вам никогда не придется использовать сигнализацию с заземлением. Сейчас почти все линии связи (и аналоговые телефоны/модемы/ факсы) используют сигнализацию по шлейфу. Kewlstart, в сущности, - это то же самое, что и кольцевая сигнализация, за исключением того что он обладает более развернутой логикой и, таким образом, может определять отсоединение удаленного конца[57]. Kewlstart является предпочтительным протоколом обмена сигналами для аналоговых линий в Asterisk.
Чтобы определить другой метод обмена сигналами, не kewlstart, замените ks в выражении для fxsks на ls или gs (для кольцевой сигнализации или сигнализации с заземлением соответственно).
Параметр загрузки зоны loadzone задает набор сигналов (которые указаны в файле zonedata.c), используемых для канала. Файл zonedata.c содержит информацию о всевозможных звуках, воспроизводимых телефонной системой в определенной стране: тональный сигнал, сигналы дозвона, сигнал «занято» и т. д. Если применить загруженную тоновую зону к Zap-каналу, этот канал будет воспроизводить сигналы заданной страны. Для разных каналов можно задать различные наборы сигналов. Если для канала зона не задана, используется параметр зоны по умолчанию defaultzone.
После конфигурации zaptel.conf можно загрузить драйверы для платы. Команда modprobe применяется для загрузки модулей, используемых ядром Linux. Например, чтобы загрузить драйвер wctdm, нужно выполнить команду
Жалоба
Напишите нам, и мы в срочном порядке примем меры.