Чтение онлайн

на главную

Жанры

Asterisk™: будущее телефонии Второе издание
Шрифт:

Работа с конфигурационными файлами интерфейсов

В данной главе будет построена конфигурация Asterisk на платформе, установленной в предыдущей главе. Для первых нескольких разделов, в которых рассматриваются каналы FXO и FXS, предполагается использование комплекта TDM11B производства Digium (который поставляется с одним FXO- и одним FXS-интерфейсом). Он обеспечит возможность подключения к аналоговой сети (FXO) и аналоговому телефону (FXS). Обратите внимание, что этот аппаратный интерфейс не является обязательным; если вы хотите настроить конфигурацию для общения только по IP-протоколу, можете пропустить раздел, посвященный конфигурации SIP.

Сама по себе выполняемая здесь конфигурация не будет иметь особенного практического значения, но она станет основой для дальнейшей работы. Будут

рассмотрены следующие файлы: zaptel.conf

1

Здесь будет выполнена низкоуровневая конфигурация аппаратного интерфейса. Будут настроены один канал FXO и один канал FXS. Это сконфигурирует драйвер для ядра Linux.

zapata.conf

В данном файле будет выполнена настройка взаимодействия Asterisk с оборудованием. Этот файл обеспечивает конфигурацию оборудования, используемого в пользовательском процессе Asterisk, на более высоком уровне. extensions.conf

Будут созданы достаточно примитивные диалпланы, но они подтвердят работоспособность системы. sip.conf

Здесь будет сконфигурирован SIP-протокол. iax.conf

Здесь будет выполнена конфигурация входных и выходных IAX-каналов.

Следующие разделы посвящены редактированию нескольких конфигурационных файлов. Чтобы внесенные изменения возымели действие, придется перезагрузить эти файлы. После редактирования файла zaptel.conf понадобится выполнить перезагрузку конфигурации оборудования, используя строку /sbin/ztcfg -vv (-vv можно опустить, если не нужен развернутый вывод). Изменение файла zapata.conf потребует выполнения команды module reload из консоли Asterisk; однако изменение методов обмена сигналами требует перезагрузки системы (команда restart). После редактирования файлов iax.conf и sip.conf необходимо выполнить команды iax2 reload и sip reload соответственно. Для тестирования вновь определенных устройств необходим диалплан, посредством которого могут устанавливаться соединения. Хотя диал- план Asterisk еще не рассматривался (этим мы займемся в следующей главе), для тестирования работы, выполняемой в данной главе, необходимо создать базовый файл extensions.conf.

Создайте резервную копию файла-шаблона extensions.conf (попробуйте команду bash mv extensions.conf extensions.conf.sample), затем создайте пустой файл extensions.conf (используя команду bash touch extensions.conf) и вставьте в него следующие строки:

[globals]

[general]

autofallthrough=yes

[default]

[incoming_calls]

[internal]

[phones]

include => internal

В разделе [general] задано autofallthrough=yes, что указывает Asterisk продолжать выполнение, если все действия для добавочного номера исчерпаны. Если задать этому параметру значение no, Asterisk после выполнения всех предусмотренных приоритетов будет ожидать ввода. Это значение является предпочтительным, если последним приложением, выполняемым для добавочного номера, является приложение Backg round. Если задано значение yes (которое стало значением по умолчанию в версии 1.4), Asterisk прервет вызов после завершения выполнения Background (после воспроизведения имеющихся звуковых файлов). Чтобы заставить Asterisk ожидать ввода номера после того, как приложение завершит воспроизведение предоставляемых ему голосовых сообщений, используется приложение WaitExten.

Не пугайтесь, если вышесказанное не имеет сейчас для вас особого смысла. Просто мы еще не рассматривали диалплан, приложения, приоритеты и добавочные номера (все это ожидает нас в следующей главе). Поэтому пока что просто задайте 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] .

55

Двустороннюю связь иногда называют также полнодуплексной. Полудуплексная связь - это связь, которая осуществляется одновременно только в одном направлении.

Если у вашего сервера Asterisk есть совместимый FXO-порт, в него можно подключить телефонную линию телефонной компании (или telco), что позволит Asterisk использовать эту телефонную сеть для отправки и приема телефонных звонков. Кроме того, если ваш сервер Asterisk имеет совместимый FXS-порт, в него можно подключить аналоговый телефон. Таким образом, Asterisk сможет направлять поступающие вызовы в телефон и вы будете способны использовать этот телефон для звонков куда-либо.

В конфигурации порты определяются протоколом обмена сигналами, который они используют, а не их физической сущностью. Например, физический FXO-порт будет определен в конфигурации протоколом обмена сигналами FXS, а FXS-порт - протоколом FXO. Это может сбивать с толку до тех пор, пока не станут ясны причины такого явления. Платы FX_ названы так не исходя из их физической сути, а соответственно тому, какие устройства подключаются к ним. Следовательно, плата FXS - это плата, подключаемая к станции (station). Таким образом, можно заметить, что, для того чтобы справится со своими задачами, плата FXS должна вести себя как центральная АТС и использовать протокол обмена сигналами FXO. Аналогично, плата FXO подключается к центральной АТС. Это означает, что она должна будет вести себя как станция и использовать протокол обмена сигналами FXS. Модем в компьютере - классический пример устройства FXO.

Поделиться:
Популярные книги

Машенька и опер Медведев

Рам Янка
1. Накосячившие опера
Любовные романы:
современные любовные романы
6.40
рейтинг книги
Машенька и опер Медведев

Волк 5: Лихие 90-е

Киров Никита
5. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 5: Лихие 90-е

Приручитель женщин-монстров. Том 4

Дорничев Дмитрий
4. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 4

Приручитель женщин-монстров. Том 2

Дорничев Дмитрий
2. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 2

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Бальмануг. (Не) Любовница 1

Лашина Полина
3. Мир Десяти
Фантастика:
юмористическое фэнтези
попаданцы
5.00
рейтинг книги
Бальмануг. (Не) Любовница 1

Курсант: Назад в СССР 10

Дамиров Рафаэль
10. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 10

Путь (2 книга - 6 книга)

Игнатов Михаил Павлович
Путь
Фантастика:
фэнтези
6.40
рейтинг книги
Путь (2 книга - 6 книга)

Live-rpg. эволюция-4

Кронос Александр
4. Эволюция. Live-RPG
Фантастика:
боевая фантастика
7.92
рейтинг книги
Live-rpg. эволюция-4

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Краш-тест для майора

Рам Янка
3. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
эро литература
6.25
рейтинг книги
Краш-тест для майора

Последний реанорец. Том I и Том II

Павлов Вел
1. Высшая Речь
Фантастика:
фэнтези
7.62
рейтинг книги
Последний реанорец. Том I и Том II

Измена. Право на семью

Арская Арина
Любовные романы:
современные любовные романы
5.20
рейтинг книги
Измена. Право на семью