Джим Меггелен - Asterisk™: будущее телефонии Второе издание
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 (глобальный)
Если этот параметр задан, Asterisk деактивирует вычисление контрольных сумм UDP пакетов и не будет проверять контрольные суммы UDP от систем, поддерживающих эту функцию: nochecksums=yes regcontext (канал)
Задавая контекст, содержащий некоторые команды, можно сконфигурировать Asterisk на выполнение ряда действий при регистрации равноправного участника сети на вашем сервере. Эта опция используется в сочетании с regexten, определяющей, какой добавочный номер должен быть выполнен. Если параметр regexten не задан, в качестве добавочного номера используется имя равноправного участника. Asterisk будет динамически создавать и уничтожать для добавочного номера NoOp в приоритете 1. Все действия, которые будут выполняться при регистрации, должны начинаться с приоритета 2. Может быть задано несколько regexten, разделенных символом &. regcontext задается для каждого равноправного участника или глобально: regcontext=зарегистрированные-телефоны regexten (канал)
Опция regexten используется в сочетании с regcontext для определения добавочного номера, выполняемого в заданном контексте. Если опция regexten не задана явно, в качестве добавочного номера для сопоставления используется имя равноправного участника сети:
regexten=мойтелефон resyncthreshold (канал)
Порог ресинхронизации используется для восстановления синхронизации буфера, компенсирующего задержки, если после получения нескольких кадров выявлено существенное отклонение, при условии что отклонение было обусловлено путаницей с временными метками. Порог ресинхронизации определяется как замеренная флуктуация1 плюс значение resyncthreshold в миллисекундах: resyncthreshold=1000 rtautoclear (глобальный)
Этот параметр определяет, должна ли Asterisk автоматически завершать действие регистрации соединений типа friend, созданных «на лету», по тому же графику, как если бы они были зарегистрированы обычным способом. Если задано значение yes, по истечении срока действия регистрации friend исчезнет из конфигурации до следующей регистрации. Если задано целое значение, регистрация будет действительна в течение этого количества секунд, а не обычного срока действия регистрации: rtautoclear=yes|no|количествосекунд rtcachefriends (глобальный)
Если rtcachefriends включен, Asterisk будет кэшировать соединения типа friend, регистрирующиеся в режиме реального времени, точно так же, как если бы они поступали из iax.conf. Это часто помогает в таких вопросах, как оповещение о непросмотренных сообщениях для равноправных участников сети, зарегистрировавшихся в режиме реального времени: rtcachefriends=yes|no rtignoreregexpire (глобальный)
Если для параметра rtignoreregexpire задано значение yes и срок регистрации равноправного участника сети, зарегистрировавшегося в режиме реального времени, истек (на основании срока действия регистрации), Asterisk продолжит использовать IP-адрес и порт, хранящиеся в базе данных: rtignoreregexpire=yes|no rtupdate (глобальный)
Если задано значение yes, Asterisk обновит при регистрации IP-ад- рес, порт вызова и срок действия регистрации равноправного участника сети. Значение по умолчанию - yes: rtupdate=yes|no tos (глобальный)
Asterisk может задавать в IP-заголовке биты типа обслуживания (Type of Service, TOS), чтобы способствовать повышению производительности в маршрутизаторах, которые учитывают TOS-биты при определении маршрутов. Допустимыми являются такие значения: CS0, CS1, CS2, CS3, CS4, CS5, CS6, CS7, AF11, AF12, AF13, AF21, AF22, AF23, AF31,
Флуктуация - случайное отклонение величины, характеризующей систему из большого числа частиц, от ее среднего значения. - Примеч. науч.ред.
AF32, AF33, AF41, AF42, AF43 и ef (expedited forwarding - срочная пересылка). Также для TOS-битов может использоваться числовое значение.
Больше информации можно найти в файле doc/ip-tos.txt в папке исходного кода Asterisk. trunk (канал)
Функция объединения каналов IAX2 позволяет Asterisk отправлять голосовые данные (в виде мини-кадров) из нескольких каналов под одним заголовком. Сокращение дополнительных издержек делает протокол IAX2 более эффективным при отправке нескольких потоков в одну конечную точку (обычно на другой сервер Asterisk): trunk=yes|no trunkfreq (канал)