Джим Меггелен - Asterisk™: будущее телефонии Второе издание
checkmwi=30
compactheaders
Для параметра compactheaders можно задать значение yes или no. Если задано yes, для SIP-заголовков будет использоваться компактный формат. Это может потребоваться, когда размер SIP-заголовка больше максимального размера передаваемого блока данных (Maximum Transmission Unit, MTU) ваших IP-заголовков, что приводит к фрагментации IP-пакета. Не используйте эту опцию, если не знаете, что делаете:
compactheaders=yes|no defaultexpiry
Задает срок действия SIP-регистрации по умолчанию, в секундах, для входящих и исходящих регистраций. Клиент обычно задает это значение при первой регистрации, поэтому значение по умолчанию будет использоваться, только если клиент не задал собственное значение. Если вы регистрируетесь на другом сервере агента пользователя (User Agent Server, UAS), этот срок регистрации будет передан на дальний конец:
defaultexpiry=300
directrtpsetup
Эта настройка конфигурирует прямое установление соединения в реальном масштабе времени между двумя конечными точками без необходимости повторного обмена сообщениями INVITE.
directrtpsetup=yes|no
На момент написания данной книги параметр directrtpsetup все еще считается экспериментальным, и поэтому вы не должны активировать его, если полностью не осознаете последствий этого действия. Эта опция не будет работать для видеосессий и в случаях, когда вызываемая сторона посылает полезную нагрузку RTP и FMTP-заголовки в ответе 200 OK, что не соответствует запросу INVITE вызывающего абонента.
domain
Определяет домен по умолчанию для данного сервера Asterisk. Если определен этот параметр, Asterisk допускает отправку сообщений INVITE и REFER только нелокальным доменам. Получить список локальных доменов можно с помощью CLI-команды sip show domains:
domain=example.com
dumphistory
Для параметра dumphistory можно задать значение yes или no, чтобы активировать или деактивировать вывод отчета по истории SIP в конце диалогового окна SIP. SIP-история записывается в канал протоколирования DEBUG:
dumphistory=yes|no
externhost
Параметр externhost принимает в качестве аргумента полное имя домена. Если Asterisk выполняется за NAT, SIP-заголовок, как правило, будет использовать внутренний IP-адрес, присвоенный серверу. Если вы зададите эту опцию, Asterisk будет периодически выполнять DNS-поиск по имени хоста и замещать внутренний IP-адрес на тот, который был возвращен в результате DNS-поиска: ex.ternhost=my.hostname.tld
В системах, находящихся в производственной эксплуатации, не рекомендуется использовать externhost, потому что в случае изменения IP-адреса сервера в SIP-заголовках будет указываться неверный IP-адрес вплоть до следующего поиска. Вместо этого рекомендуется использовать параметр externip.
externip
Параметр externip в качестве аргумента принимает IP-адрес. Если Asterisk выполняется за NAT, SIP-заголовок будет использовать внутренний IP-адрес, заданный для сервера. Удаленный сервер не будет знать, как вернуться к этому адресу; поэтому он должен быть заменен действительным маршрутизируемым адресом: externip=216.239.39.104 externrefresh
Если используется externhost, externrefresh определяет, сколько времени, в секундах, должно пройти между DNS-поисками:
externrefresh=30
g726nonstandard
Этот параметр может быть задан при общении с равноправными участниками, которые ошибочно используют неверную кодировку для кодека G.726. Эта настройка указывает Asterisk использовать порядок упаковки по протоколу AAL2, а не RFC3551, если равноправный участник согласовывает использование кодека G726-32. Обычно это противоречит спецификации RFC3551, поскольку равноправный участник должен согласовывать использование AAL2- G726-32. Эта опция может понадобиться в случае применения устройства Sipura или Grandstream: g726nonstandard=yes ignoreregexpire (глобальный)
Если параметр ignoreregexpire имеет значение yes, Asterisk может выполнить одно из двух действий для:
Равноправных участников, создаваемых не в режиме реального времени
По истечении срока их регистрации информация не будет удалена из памяти или базы данных Asterisk. При попытке вызова данного равноправного участника существующая информация будет использоваться, несмотря на истечение ее срока действия.
Равноправных участников, создаваемых в режиме реального времени
Когда равноправный участник извлекается из хранилища реального времени, его регистрационная информация будет использоваться независимо от истечения ее срока действия; если срок ее действия истек, в то время как равноправный участник, созданный в режиме реального времени, все еще находится в памяти (из-за кэширования или по другим причинам), информация не будет удалена из хранилища реального времени: ignoreregexpire=yes|no
jbenable
Активирует использование RTP-буфера, компенсирующего задержки, на принимающей стороне SIP-канала. Значение по умолчанию - no. Активированный буфер, компенсирующий задержки, будет использоваться, только если отправляющая сторона может создавать неустойчивую синхронизацию, а принимающая сторона ее не допускает. SIP-канал допускает неустойчивую синхронизацию; таким образом, компенсирующий задержки буфер на принимающей стороне будет использоваться, только если он активирован и задано его принудительное использование: jbenable=yes|no jbforce
Обусловливает принудительное использование RTP-буфера, компенсирующего задержки, на принимающей стороне SIP-канала. Значение по умолчанию - no:
jbforce=yes|no
jbimpl
Эта настройка используется для задания типа используемого буфера, компенсирующего задержки: fixed (фиксированный) или adaptive (адаптивный). Если используется буфер fixed, его размер всегда будет равен тому, который определен параметром jbmaxsize. Если задан буфер adaptive, его размер будет меняться вплоть до максимального, определенного параметром j bmax size. Значение по умолчанию - fixed.
jbimpl=fixed|adaptive
jblog
Определяет, активирована или нет запись в журнал кадров буфера, компенсирующего задержки. Значение по умолчанию - no:
jblog=yes|no
jbmaxsize
Задает максимальный размер буфера, компенсирующего задержки, в миллисекундах:
jbmaxsize=200
jbresyncthreshold
Переходит на временные метки кадров, из-за которых произошла рассинхронизация буфера, компенсирующего задержки. Полезно для улучшения качества голоса, переданного со скачкообразными/ прерывистыми временными метками, которые обычно поступают с экзотических устройств и программ. Значение по умолчанию - 1000:
jbresyncthreshold=1000
limitonpeers
Эта настройка указывает Asterisk применять ограничения по количеству вызовов только к равноправным участникам. Это улучшит уведомление о допустимом количестве вызовов и статусе для устройств типа type=friend, потому что будет контролироваться предельное число вызовов peer и не будут создаваться отдельные счетчики для частей user и peer канала friend: limitonpeers=yes|no localnet
Параметр localnet используется для указания Asterisk, какие IP- адреса считать локальными, чтобы адрес в SIP-заголовке мог транслироваться в заданный в externip или чтобы можно было выполнять поиск IP-адреса по externhost. IP-адреса должны задаваться в нотации CIDR (Classless InterDomain Routing - бесклассовая междоменная маршрутизация): localnet=192.168.1.0/24 localnet= 172.16.0.0/16
matchexterniplocally
Определяет, что Asterisk должна подставлять настройку externip или externhost, только если она совпадает с вашей настройкой localnet. Активировать эту опцию потребуется только для сетей с очень необычными настройками: matchexterniplocally=yes|no maxexpiry
Задает максимальный срок, в секундах, действия регистрации равноправного участника:
maxexpiry=3600
minexpiry
Задает минимально допустимую продолжительность, в секундах, регистрации или подписки:
minexpiry=60
notifymimetype
Принимает в качестве аргумента строку, определяющую тип MIME (Multipurpose Internet Mail Extensions - многоцелевые почтовые расширения в Интернете), используемый для индикации ожидающего сообщения в SIP-сообщении NOTIFY. Чаще всего для этого поля применяется настройка text/plain, хотя в случае необходимости может использоваться и другое значение: notifymimetype=text/plain notifyringing
Определяет, должна ли Asterisk уведомлять подписчиков о состоянии RINGING:
notifyringing=yes|no
notifyhold
Определяет, должна ли Asterisk уведомлять подписчиков о состоянии HOLD:
notifyhold=yes|no
pedantic
Для параметра pedantic может быть задано значение yes или no. Значение yes активирует медленную, педантичную проверку для телефонов, которым она необходима, таких как Pingtel, и более строгое соответствие SIP RFC. С целью повышения производительности строгий контроль соответствия SIP RFC обычно не проводится: pedantic=yes
realm
Эта опция задает область действия краткой аутентификации. Задайте в качестве значения realm свое полное доменное имя, которое должно быть глобально уникальным:
realm=myserver.example.com
recordhistory
Можно задать для recordhistory значение yes или no, чтобы активировать или отключить запись SIP-истории для всех каналов:
recordhistory=yes|no
registerattempts
Определяет для Asterisk количество попыток исходящих регистра- ций. Значение по умолчанию - 0, что означает бесконечное число попыток.