Asterisk™: будущее телефонии Второе издание - Меггелен Джим Ван
am flags=default|omit|billing|documentation authdebug (глобальный)
Можно свести до минимума объем записи параметров аутентификации, отключив его с помощью authdebug=no. Запись параметров аутентификации активирована по умолчанию, если не отключена явно:
authdebug=no autokill (глобальный)
Чтобы максимально сократить опасность зависания в условиях недоступности хоста, можно задать для параметра autokill значение yes, тогда любое новое соединение будет разорвано при отсутствии подтверждения ACK в течение 2000 мс. (Очевидно, что это не рекомендуется для хостов с большой задержкой.) Вместо yes можно указать время ожидания в миллисекундах перед тем, как будет принято решение о недоступности равноправного участника сети. Параметр autokill задает время ожидания для всех равноправных участников, работающих по протоколу IAX2, но с помощью команды qualify его можно сконфигурировать для каждого равноправного участника в отдельности: autokill=1500 bandwidth (канал)
bandwidth - это сокращенная запись, которая поможет избежать применения disallow=all и множества выражений allow для задания используемых кодеков. Допустимыми опциями являются:
high
Допускаются все медиа-кодеки (G.723.1, GSM, plaw, alaw, G.726, ADPCM, slinear, LPC10, G.729, Speex, iLBC).
medium
Допускаются все кодеки, кроме slinear, plaw и alaw.
low
Допускаются все медиа-кодеки, кроме G.726 и ADPCM. bandwidth=low|medium|high bindport и bindaddr (глобальные)
Эти необязательные параметры позволяют задавать IP-интерфейс и порт, которые будут принимать IAX-соединения. Если они опущены, будет задан порт 4569, и все IP-адреса системы Asterisk будут принимать входящие IAX-соединения. Если задано несколько адресов привязки, IAX-соединения будет принимать только заданный интерфейс[141]. Использование вместо адреса 0.0.0.0 указывает Asterisk слушать все интерфейсы: bindport=4569 bindaddr=192.168.0.1
codecpriority (канал)
Опция codecpriority определяет, какие параметры при входящем вызове будут иметь преимущество при согласовании кодеков. Если этот параметр задан в разделе [general], выбранные опции будут наследоваться всеми пользовательскими настройками в конфигурационном файле канала; однако их можно задавать в отдельных пользовательских параметрах для более тонкой настройки. Если значения заданы и в [general], и в пользовательских разделах, настройки пользователя переопределяют настройки раздела [general]. Если этот параметр не задан, значение по умолчанию - host. К допустимым опциям относятся: caller
Вызывающая сторона имеет приоритет над хостом.
host
Хост имеет приоритет над вызывающей стороной.
disabled
Предпочтения кодеков не учитываются; это поведение по умолчанию, если не определены предпочтения кодеков.
reqonly
Предпочтения кодеков игнорируются, и вызовы принимаются, только если запрашиваемый кодек доступен:
codecpriority=caller|host|disabled|reqonly
delayreject (глобальный)
Если по IAX-каналу поступает ошибочный пароль, это обеспечит задержку отправки сообщений отказа REGREQ или AUTHREP, что поможет защититься от атак с подбором паролей. Время задержки - 1000 мс: delayreject=yes|no forcejitterbuffer (канал)
Поскольку Asterisk пытается соединить каналы (конечные точки) напрямую, конечным точкам обычно позволено самостоятельно выполнять буферизацию входящих сообщений, которая будет компенсировать задержки. Однако, если конечные точки имеют слабую реализацию такой буферизации, можно заставить Asterisk выполнять ее всегда, независимо от условий. Чтобы принудительно активировать буферизацию входящих сообщений для компенсации задержки, необходимо задать forcejitterbuffer=yes: forcejitterbuffer=yes iaxthreads и iaxmaxthreads (глобальные)
Настройка iaxthreads определяет число вспомогательных потоков IAX, создаваемых при запуске для обработки соединений по протоколу IAX.
Настройка iaxmaxthreads определяет максимальное число дополнительных вспомогательных потоков IAX, которые могут быть созданы для обработки большого объема IAX-трафика:
iaxthreads=10 iaxmaxthreads=100
jitterbuffer (канал)
Неустойчивая синхронизация (Jitter) означает непостоянство задержки между поступлениями пакетов. Пакеты отправляются с конечного устройства с постоянной скоростью и практически постоянной задержкой между отправками. Однако при прохождении пакетов по Интернету задержка между ними может изменяться; из-за этого в место назначения пакеты поступают нерегулярно и, возможно, даже не в том порядке.
Буфер, компенсирующий задержки, в некотором смысле является промежуточной областью, в которой пакеты могут быть переупорядочены и направлены в место назначения регулярным потоком. Без такого буфера пользователь может почувствовать нарушения в потоке в виде помех, странных звуковых эффектов, искаженных слов или, в особо тяжелых случаях, пропущенных слов или слогов.
Буфер, компенсирующий задержки, обрабатывает только данные, поступающие с дальнего конца соединения. Данные, передаваемые вами, не будут затронуты, поскольку за компенсацию задержек в своих входящих соединениях отвечает дальний конец соединения.
Активация буфера, компенсирующего задержки, выполняется строкой jitterbuffer=yes:
jitterbuffer=yes|no
language (канал)
Задает флаг языка для всего, что вы определяете. Глобальный язык по умолчанию - английский. Заданный язык отправляется каналом как элемент информации. Он также используется такими приложениями, как SayNumber(), при выборе соответствующего файла для воспроизведения. Не забывайте, что все остальные языки, кроме английского, не устанавливаются в системе явно, поэтому ваша задача - сконфигурировать систему так, чтобы гарантировать правильную обработку задаваемых языков: language=en mailboxdetail (глобальный)
Если для mailboxdetail задано значение yes, пользователю вместо простого отчета о наличии новых и старых сообщений отправляется количество новых/старых сообщений. Параметр mailboxdetail также может быть задан для каждого равноправного участника сети отдельно:
mailboxdetail=yes maxjitterbuffer (канал)
Этот параметр используется для задания максимального размера буфера, компенсирующего задержки, в миллисекундах. Не задавайте maxjitterbuffer слишком большое значение, это приведет к ненужному увеличению вашего времени ожидания: maxjitterbuffer=500 maxjitterinterps (канал)
Максимальное количество пустых кадров вставки, которое должен возвратить подряд буфер, компенсирующий задержки. Поскольку некоторые клиенты не передают кадры CNG/DTX для обозначения паузы в разговоре, буфер, компенсирующий задержки, будет воспринимать такое количество пустых кадров как начало паузы. Это предотвращает появление искажений при длительной паузе: maxjitterinterps=70 maxregexpire и minregexpire (канал)
Задают в секундах максимальный и минимальный временные интервалы для истечения срока действия регистрации: maxregexpire=7S0 minregexpire=60
mohinterpret (канал)
Эта опция определяет, какой класс музыки во время ожидания должен воспроизводиться по этому каналу, если в диалплане для канала нет выражения Set(CHANNEL(musicclass)=fl»6ow), определяющего класс музыки, и одноранговый канал, удерживающий вызов, не предлагает класса музыки.
Если эта опция имеет значение passthrough, для оповещения вместо локального воспроизведения музыки во время ожидания всегда будет передаваться сообщение ожидания. Эта опция может быть задана глобально или для каждого пользователя либо равноправного участника сети в отдельности: mohinterpret=default mohsuggest (канал)
Эта опция определяет, какой класс музыки во время ожидания (как определено в файле musiconhold.conf) должен предлагаться одноранговому каналу, когда этот канал переводит равноправного участника сети в режим ожидания. Он может быть задан глобально или для каждого пользователя либо равноправного участника сети в отдельности: mohsuggest=default nochecksums (глобальный)