IAX2 channels
Протокол IAX (Inter Asterisk Exchange) позволяет проще проходить NAT, за счет использования одного и того же порта для инициализации соединения и для медиа-потоков. А также уменьшением трафика при многоканальных соединениях, по сравнению с chan_sip, за счет уменьшения сигнальных пакетов.
Протокол IAXможет быть использован для соединения с другими Asterisk PBXсерверами и для соединения с IAXклиентами.
IAX2 настройка
IAXканалы определяются в файле Asterisk: iax.conf.
Имена каналов
Формат имен IAXканалов, использующийся для исходящих вызовов:
IAX/[<user>[:<secret>]@]<peer>[:<portno>][/<exten>[@<context>][/<options>]]
- <user>: идентификатор пользователя на удаленной системе, или имя клиента, сконфигурированного в файле iax.conf (опционально).
- <secret>: Пароль (не обязательно). Как альтернатива, это может быть имя файла, содержащего ключ RSA, без соответствующего расширения файла (.key или .pub), и заключенного в [квадратные скобки] , например, так: [thefilename]
- <peer>: Имя вызываемого сервера.
- <portno>: Номер порта, который используется при соединении с удаленным сервером (не обязательно)
- <exten>: Екстеншен, который должен быть вызван на удаленном сервере Asterisk (не обязательно)
- <context>: Контекст, который должен быть использован на удаленном сервере Asterisk (не обязательно).
- <options>: Пока доступен только один параметр - 'a', который подразумевает: 'запрос автоматического ответа',
Примеры имен каналов для исходящих соединений:
- IAX/mark:asdf@myserver/6275@default – Вызов сервера «myserver», используя имя пользователя: «mark» и пароль: «asdf», и запрос на вызов екстеншена: 6275 в контексте по умолчанию: default.
- IAX/iaxphone/s/a – Вызов «iaxphone» и запрос немедленного ответа.
- IAX/guest@misery.digium.com – Вызов в Digium
- IAX/john: [johnrsa] @somewhere.com — Вызов направляется на сервер: somewhere.com, используется имя пользователя: «john» и ключ RSA для авторизации.
Формат имен IAXканалов, использующийся для входящих вызовов довольно прост:
IAX[[<username>@]<host>]/<callno>
- <username>: имя пользователя, если оно известно
- <host>: имя или адрес хоста, с которого поступило соединение
- <callno>: вызываемый локальный номер в системе
Примеры имен каналов для входящих соединений:
- IAX [mark@192.168.0.1] /14 – Вызов номера: 14 от пользователя «mark» с адреса: 192.168.0.1
- IAX [192.168.10.1] /13 – Вызов номера: 13 с адреса: 192.168.10.1
Обратите внимание
Для организации транкового канала IAXнеобходима поддержка аппаратного таймера в системе с Asterisk. IAXТранк позволяет нескольким голосовым потокам использовать один «транковый канал» при коммуникации с другим сервером, тем самым, уменьшая избыточность создаваемых IP пакетов. Обычно, уже после использования 4 одновременных соединений, становиться заметен выигрыш в объеме передаваемых данных на один пакет с данными, когда используется транковый канал.