355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Джим Меггелен » Asterisk™: будущее телефонии Второе издание » Текст книги (страница 29)
Asterisk™: будущее телефонии Второе издание
  • Текст добавлен: 7 октября 2016, 17:17

Текст книги "Asterisk™: будущее телефонии Второе издание"


Автор книги: Джим Меггелен


Соавторы: Джаред Смит,Лейф Мадсен

Жанр:

   

ОС и Сети


сообщить о нарушении

Текущая страница: 29 (всего у книги 41 страниц)

Регистрация на других серверах с помощью выражений register

Выражение регистрации register => используется для регистрации вашего сервера Asterisk на удаленном сервере. Это позволяет удаленному концу соединения знать ваше местонахождение на случай, если вы сконфигурированы с динамическим IP-адресом. Заметьте, что выражения register используются, только если вы сконфигурированы на удаленном конце как равноправный участник сети и когда host=dynamic. Основной формат выражения register:

register => имяпользователя: пароль@удаленный-хост пароль является необязательным параметром (если не сконфигурирован в удаленной системе).

В качестве альтернативы можно задать RSA-ключ, заключив его имя[142]142
  RSA-ключи Asterisk обычно располагаются в папке /var/lib/asterisk/keys/. С помощью сценария astkeygen можно генерировать собственные ключи.


[Закрыть]
в квадратные скобки ([]):

register => имяпользователя:[имя-rsa-ключа]@удаленный-хост По умолчанию запросы register будут посылаться через порт 4569. Их можно направить на другой порт, явно задав его:

register => имяпользователя:пароль@удаленный-хост:1234

Описания IAX-каналов

Теперь, когда определены общие настройки, можно приступать к описанию каналов. Если предполагается принимать анонимные IAX-вы– зовы, рекомендуется создать гостевой канал. Это очень распространенный способ связи в сообществе Asterisk. Прежде чем решить, что это не для вас, подумайте о том, что, если вы хотите предоставить кому-либо возможность связи с вами через IAX (без конфигурации специальной учетной записи), он должен соединяться как гость. Эта учетная запись, в сущности, становится вашим «телефонным номером по протоколу IAX». Описание гостевого канала должно выглядеть примерно так: [guest] type=user context=incoming callerid="Incoming IAX Guest"

Несомненно, спамеры найдут способ доступа к этим адресам, но в ближайшем обозримом будущем это не представляет проблемы. В долгосрочной перспективе, вероятно, будет использоваться DUNDi (больше информации об этом вы найдете в главе 14).

Если требуется принимать вызовы из сети Free World Dialup, в Asterisk есть предопределенный защитный ключ, который гарантирует невозможность для анонимных соединений сымитировать звонок Free World Dialup. Для этого потребуется настроить канал iaxfwd:

[iaxfwd] type=user context=incoming auth=rsa

inkeys=freeworlddialup Если имеются ресурсы, опубликованные в сети DUNDi, в файле iax. conf должен быть описан соответствующий пользователь:

[dundi] type=user

dbsecret=dundi/secret context=dundi-incoming

Если имеются устройства, работающие по протоколу IAX (такие, как IAXy), или IAX-пользователи на удаленном сервере, возможно, вы захотите обеспечить их собственным описанием пользователя, посредством которого они будут соединяться с системой.

Допустим, на удаленном сервере имеется пользователь, для которого решено определить IAX-канал типа user. Назовем этого гипотетического пользователя sushi. Описание этого канала может быть примерно таким:

[sushi] type=user

context=local_users

auth=md5,plaintext,rsa

secret=wasabi

transfer=no

jitterbuffer=yes

callerid="Happy Tempura" <(800) 555-1234>

accountcode=seaweed

deny=0.0.0.0/0.0.0.0

permit=192.168.1.100/255.255.255.0

language=en

Входящие звонки от этого пользователя будут поступать в контекст local_users и передавать системе Caller ID (ID звонящего) Happy Tempura <(800) 555-1234>. Система ожидает от этого пользователя аутентификации с использованием простого текстового пароля или алгоритмов MD5 и RSA, поскольку предоставлен пароль wasabi и звонок поступил с IP– адреса 192.168.1.100. Всем звонкам, поступившим по этому каналу,

Аутентификация по протоколу IAX

IAX предоставляет механизмы аутентификации для обеспечения достаточного уровня безопасности между конечными точками. Это не означает, что аудиоинформацию нельзя захватить и декодировать, но свидетельствует о том, что можно более тщательно управлять правами доступа к вашей системе. В IAX-ка– налах поддерживается три уровня безопасности. Опция auth определяет, какой метод аутентификации используется в канале: plaintext, md5 или rsa.

Параметр plaintext в IAX обеспечивает очень низкий уровень защиты. Хотя он разрешает соединение с каналом только при условии введения правильного пароля, но тот факт, что пароль хранится в файле iax.conf как простой текст и передается и принимается в таком же незашифрованном виде, делает этот метод аутентификации очень ненадежным.

md5 обеспечивает большую безопасность сетевого соединения, однако по-прежнему в файле iax.conf на обоих концах соединения должен быть задан текстовый secret. Вот как происходит аутентификация в данном случае: сервер А запрашивает соединение с сервером В, который, в свою очередь, отвечает запросом на авторизацию, включающим сгенерированный случайным образом номер. Сервер А генерирует хеш MD5, используя значение, заданное в поле secret файла iax.conf, и случайный номер, полученный от сервера В. Этот хеш возвращается в ответе на запрос на авторизацию, и сервер В сравнивает его с локально сгенерированным хешем. Если хеши совпадают, предоставляется разрешение на доступ.

Метод rsa обеспечивает самый высокий уровень безопасности. Чтобы использовать RSA-аутентификацию, каждый конец соединения с помощью сценария astgenkey, обычно находящегося в папке /usr/src/asterisk/contrib/scripts/, должен создать пару ключей – открытый и закрытый. После этого открытый ключ передается на дальний конец. Каждый конец соединения в свое описание канала должен включить открытый ключ противоположного конца, используя для этого параметры inkeys и outkey. RSA-ключи хранятся в папке /var/lib/asterisk/keys/. Открытым ключам присваиваются имена имя.риЬ; закрытым ключам - имя. key. Закрытые ключи должны быть зашифрованы по алгоритму 3DES[143]143
  Из соображений безопасности файл закрытого ключа должен быть защищен от несанкционированного копирования. - Примеч. науч. ред.


[Закрыть]
.

будет присваиваться код учетной записи seaweed. Поскольку для параметра transfer (переадресация) задано значение no, медиа-поток этого канала всегда будет проходить через Asterisk; он не может быть перенаправлен на другой IAX-узел.

Если вы сами являетесь удаленным узлом и вам необходимо устанавливать соединения с другим узлом, главный узел был бы определен для вас как равноправный участник (peer):

[sashimi_platter]

type=peer

username=sushi

secret=wasabi

host=192.168.1.101

qualify=yes

trunk=yes

peer вызывается из диалплана с помощью приложения Dial(), в которое передается имя, указанное в квадратных скобках. Если равноправный участник требует от вас аутентификации с использованием имени пользователя, имя пользователя и секрет можно задать в полях username и secret.

Помните, аутентификация входящего звонка от пользовате-0% ля, заданного в iax.conf, должна выполняться с использовани– Л * ем имени, заданного в квадратных скобках. Однако если ™ Asterisk сама вызывает внешнего равноправного участника сети, имя пользователя, используемое при аутентификации, можно задать с помощью настройки username.

Для описания host используется или запись IP-адреса с точками-разделителями, или полное доменное имя (fully qualified domain name, FQDN). Задавая параметр qualify=yes, можно определить задержку соединения между вами и удаленным хостом и проверку, активен ли он. Чтобы свести до минимума количество издержек при поступлении множества звонков к одному равноправному участнику сети, их можно объединить (trunk).

Объединение каналов является уникальной возможностью IAX. Благодаря ей между двумя большими сайтами можно устанавливать множество одновременных VoIP-соединений. Объединение каналов, предоставляемое IAX, обеспечивает сокращение количества переносимой служебной информации за счет загрузки в каждый сигнальный пакет аудиоданных нескольких параллельных вызвов[144]144
  Можно провести аналогию между объединением VoIP-пакетов, реализуемым с помощью IAX, и объединением вагонов, принадлежащих различным компаниям, в один состав. Это очень полезно во многих ситуациях, поскольку объем служебных данных IP (UDP-заголовки, IP-заголовки и т. д.) часто превышает объем полезной нагрузки (аудиоинформации). Если между двумя серверами Asterisk выполняется несколько параллельных вызовов, вы обязательно захотите включить объединение каналов!


[Закрыть]
. Чтобы активировать

Рис. A.1. Объединение каналов деактивировано

Рис. A.2. Объединение активировано

объединение для канала, необходимо задать для него параметр trunk=yes в файле iax.conf.

На рис. А.1 показан канал с отключенной возможностью объединения, а на рис. А.2 – канал, для которого эта возможность активирована.

Параметры канала

Теперь рассмотрим параметры канала:

callerid

С помощью параметра callerid можно задать рекомендуемый строковый Caller ID (ID звонящего) для каналов типа user или peer. Если для user задано значение в поле Caller ID, всем звонкам, поступающим по этому каналу, будет присвоен этот Caller ID, независимо от того, что посылает вам дальний конец соединения. Если Caller ID задан для peer, вы посылаете запрос дальнему концу на использование его как вашего идентификатора (хотя не располагаете средствами, чтобы проконтролировать это). Если вы хотите, чтобы вызывающие абоненты могли использовать собственные Caller ID (то есть для гостей), убедитесь, что значение в поле callerid не задано: callerid=John Smith <(800) 555-1234> defaultip

Настройка defaultip дополняет host=dynamic. Если хост еще не зарегистрирован на вашем сервере, вы будете пытаться отправлять сообщения по указанному здесь IP-адресу по умолчанию:

defaultip=192.168.1.101

inkeys

Опция inkeys может использоваться для аутентификации пользователя с помощью RSA-ключа. Чтобы связать с описанием канала типа user более одного RSA-ключа, имена ключей записываются через

двоеточие (:). Для подтверждения допустимости соединения может использоваться любой из заданных ключей. Inkey – это открытый ключ, который вы раздаете своим пользователям:

inkeys=сервер_один:сервер_два

mailbox

Если в описании канала вы связываете с peer почтовый ящик, сервис голосовой почты будет посылать сигналы индикации ожидающего сообщения (Message Waiting Indication, MWI) узлам на конце этого канала. Если номер почтового ящика обрабатывается в другом контексте голосовой почты, не default, его можно описать как почто– выйящик@контекст. Чтобы связать несколько почтовых ящиков с одним peer, используется несколько выражений mailbox: mailbox=1000@internal

outkey

Опция outkey может использоваться для аутентификации канала peer с помощью RSA-ключа. Для исходящей аутентификации может использоваться только один RSA-ключ. Outkey не распространяется; это ваш закрытый ключ:

outkey=закрытый_ключ

qualify

Для параметра qualify может быть задано значение yes, no или время в миллисекундах. Если задается qualify=yes, удаленным равноправным участникам периодически будут посылаться сообщения PING для определения, доступны ли они, и установления величины задержки между ответами. Равноправные участники будут отвечать сообщениями PONG. Равноправный участник будет признан недоступным в случае непоступления ответа в течение 2000 мс (изменить это значение по умолчанию можно, задав для параметра qualify время ожидания ответа в миллисекундах).

qualifyfreqok и qualifyfreqnotok

Эти две настройки используются для определения частоты, с какой Asterisk будет отправлять сообщения PING равноправному участнику сети, если задан параметр qualify. Параметры qualifyfreqok и qualifyfreqnotok определяют частоту проверки возможности установления соединения с удаленным участником, когда он находится в состоянии OK и не в состоянии OK соответственно.

qualifysmoothing

Для параметра qualifysmoothing может быть задано значение yes или no. Если он активирован, Asterisk будет брать среднее из двух последних значений времени подтверждения возможности соединения. Это помогает не допустить появления равноправных участников, отмеченных как LAGGED (с запаздыванием), особенно в сети с потерями.

sendani

В сети PSTN с SS7 для идентификации вызывающего абонента используется автоматическое определение номера (Automatic Number Identification, ANI). Пользователю предоставляется Caller ID (ID звонящего). Caller ID формируется из ANI, поэтому их легко спутать. Блокировка Caller ID приводит к установлению флага конфиденциальности для ANI, но базовой сети все равно известен источник вызова: sendani=yes

ANI используется уже некоторое время. Его первоначальным назначением было доставка на входящую станцию номера абонента, выполняющего междугородный звонок, для которого выставляется счет. В отличие от Caller ID, ANI не требует SS7, поскольку может передаваться с помощью DTMF. Также ANI не может быть заблокирован.

transfer

Параметру transfer может быть присвоено значение yes, no или mediaonly. Если задано yes, Asterisk, если может, будет выполнять переадресацию вызова с целью сократить путь пакета между двумя конечными точками. (Очевидно, что это не будет возможным, если Asterisk придется выполнять перекодировку или преобразование между протоколами или если состояние сети не обеспечивает возможности соединения двух конечных точек напрямую.) Если задано значение no, Asterisk не будет пытаться переадресовать вызов.

Если задано значение mediaonly, Asterisk будет пытаться переадресовывать медиа-поток так, чтобы он проходил непосредственно между двумя конечными точками, но обмен служебными сигналами (сообщения установления и разрыва соединения) по-прежнему будет проходить через Asterisk. Это полезно, потому что гарантирует правильность записей параметров вызовов даже несмотря на то, что переносимые данные больше не проходят через сервер Asterisk.

SIP

Как и для IAX, конфигурационный файл SIP (sip.conf) содержит информацию о конфигурации для каналов, работающих по протоколу SIP. Заголовки описаний каналов формируются словом, заключенным в квадратные скобки ([ ] ), опять же, за исключением раздела [general], в котором задаются глобальные параметры SIP. Не скупитесь на комментарии в файле sip.conf. Текст комментария начинается с точки с запятой; все, что располагается справа от нее, будет проигнорировано.

Общие параметры SIP

В разделе [general] файла sip.conf должны использоваться следующие опции:

allowexternalinvites

Если задано значение no, эта настройка деактивирует отправку сообщений INVITE и REFER нелокальным доменам. Смотрите настройку

domain.

allowexternalinvites=yes|no allowguest

Если задано значение no, этот параметр запрещает гостевые SIP-со– единения. По умолчанию они разрешены. SIP обычно требует аутентификацию, но можно принимать вызовы от пользователей, которые не поддерживают аутентификацию (то есть для которых не задано значение в поле secret). Некоторые SIP-устройства (такие, как Cisco Call Manager v4.1) не поддерживают аутентификацию, поэтому они не смогут устанавливать соединения, если задано allowguest=no: allowguest=no|yes allowoverlap

Если задано значение no, деактивирован набор в режиме наложения:

allowoverlap=no|yes allowsubscribe

Разрешает или запрещает внешним устройствам подписываться на получение информации о состоянии добавочного номера (заданное в приоритете hint). Значение по умолчанию – yes:

allowsubscribe=yes|no

allowtransfers

Значение no деактивирует переадресацию для всех SIP-вызовов, кроме тех, для которых она активирована специально:

allowtransfers=no|yes

alwaysauthreject

Если эта опция активирована, любое отклонение INVITE или REGISTER Asterisk будет сопровождать сообщением 401 Unauthorized, а не предоставлять вызывающему абоненту информацию о наличии соответствующего user или peer для этого запроса:

alwaysauthreject=no|yes

autodomain

Задайте для этой опции значение yes, тогда Asterisk будет добавлять имя локального хоста и локальные IP-адреса в список доменов:

autodomain=yes|no

bindaddr и bindport

Эти необязательные параметры позволяют задавать IP-интерфейс и порт, на которые вы желаете принимать SIP-соединения. Если данные параметры опущены, будет задан порт 5060 и все IP-адреса вашей системы Asterisk будут принимать входящие SIP-соединения. Если задано несколько адресов привязки, соединения будут слушать только эти интерфейсы. Значение 0.0.0.0 указывает Asterisk слушать все интерфейсы: bindaddr=0.0.0.0 bindport=5060 buggymwi

Эта настройка позволяет Asterisk отправлять уведомления об ожидающих сообщениях на определенные SIP-телефоны Cisco, прошивка которых не обеспечивает полной поддержки индикации ожидающих сообщений, описанной в документации RFC для Интернета. Активируйте эту опцию, чтобы не получать сообщения об ошибках при отправке MWI-сообщений на телефоны с таким недостатком: buggymwi=no|yes callevents

Задайте значение yes, если вы хотите, чтобы SIP формировал события интерфейса Manager. Это важно при наличии внешних программ, использующих интерфейс Asterisk Manager, таких как Flash Operator Panel:

callevents=yes

checkmwi

Эта опция определяет интервал времени по умолчанию, в секундах, между проверками почтовых ящиков для равноправных участников:

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, что означает бесконечное число попыток.

registerattempts=0

registertimeout

Определяет, как часто Asterisk должна выполнять попытку повторно зарегистрироваться на других устройствах:

registertimeout=30

relaxdtmf

Для параметра relaxdtmf можно задать значение yes или no. Значение yes обусловит ослабление выявления DTMF-сигналов. Оно должно использоваться, если Asterisk испытывает трудности по определению наличия DTMF в SIP-канале. Обратите внимание, что это может приводить к «ложным срабатываниям», когда Asterisk ошибочно определяет наличие DTMF-сигнала при его отсутствии: relaxdtmf=yes|no rtautoclear (глобальный)

Определяет, должна ли Asterisk автоматически завершать действие регистрации соединений типа friend, созданных «на лету», по тому же графику, как если бы они зарегистрировались в обычном режиме. Если задано значение yes, по истечении срока действия регистрации friend исчезнет из конфигурации до следующей регистрации. Если задано целое значение, регистрация будет действительна в течение этого количества секунд, а не в течение обычного срока действия регистрации:

rtautoclear=yes|no|количествосекунд rtcachefriends (глобальный)

Если rtcachefriends включен, Asterisk будет кэшировать соединения типа friend, регистрирующиеся в режиме реального времени, точно так же, как если бы они поступали из iax.conf. Это часто помогает в таких вопросах, как оповещение о непросмотренных сообщениях для равноправных участников сети, зарегистрировавшихся в режиме реального времени: rtcachefriends=yes|no rtsavesysname (глобальный)

Определяет, должна ли Asterisk сохранять имя системы в базе данных реального времени в момент регистрации: rtsavesysname=yes|no rtupdate (глобальный)

Если задано значение yes, Asterisk будет обновлять IP-адрес, порт вызова и срок регистрации при регистрации равноправного участника сети. Значение по умолчанию – yes: rtupdate=yes|no

sipdebug

Определяет, должна ли включаться отладка SIP с того момента, когда Asterisk загружает драйвер SIP-канала:

sipdebug=yes|no

sendrpid

Определяет, должна ли Asterisk посылать заголовок Remote-Party-ID (идентификатор удаленной стороны):

sendrpid=yes|no

srvlookup

SRV-записи DNS – это средство задания логических разрешимых адресов, по которым с вами можно связаться. Позволяет перенаправлять вызовы в разные точки без необходимости изменения логического адреса. Использование SRV-записей открывает доступ ко многим преимуществам DNS, тогда как их отключение лишает вас возможности размещать SIP-вызовы на основании доменных имен.

В настоящее время поддержка SRV-записей в Asterisk не– i сколько неэффективна. Если возвращено несколько SRV-за– 1 писей, Asterisk будет использовать только первую из них.

Настоятельно рекомендуется использование DNS-поиска SRV-за– писей. Чтобы активировать его, задайте srvlookup=yes в разделе [general] файла sip.conf:

srvlookup=yes

t1min

Это минимальное время на передачу и подтверждение приема для сообщений, отправленных к контролируемым хостам, в миллисекундах. Значение по умолчанию – 100 мс.

t1min=100

subscribecontext

Ограничивает количество запросов SUBSCRIBE (подписаться) к заданному контексту. Полезно, например, если необходимо ограничить количество подписок на внутренние добавочные номера. Эта опция также может быть задана для каждого пользователя или равноправного участника сети отдельно: subscribecontext=internal t38pt_udptl

Если для t38pt_udptl задано значение yes, активирована возможность транзитной пересылки факсов по протоколу T.38 (UDPTL) в вызовах от SIP к SIP при условии, что обе стороны поддерживают T.38. Чтобы передача факсов была возможна, эта настройка должна быть активирована в разделе [general] для всех устройств. Затем ее можно деактивировать для каких-то отдельных устройств: t38pt_udptl=yes|no

Транзитная пересылка факсов по протоколу T.38 возможна только при вызовах от SIP к SIP, при этом не используются локальные каналы или каналы агента. Asterisk в настоящее время не может начинать или завершать передачу факсов по протоколу T.38; она может только выполнять транзитную пересылку UDPTL с одного устройства на другое.

tos_sip,tos_audio и tos_video

Asterisk может задавать биты TOS в IP-заголовке, чтобы улучшить производительность маршрутизаторов, которые учитывают биты TOS при определении маршрутов. Настройки tos_sip, tos_audio и tos_video управляют TOS-битами для SIP-сообщений, аудио– и видеоданными RTP соответственно. Допустимые значения: CS0, CS1, CS2, CS3, CS4, CS5, CS6, CS7, AF11, AF12, AF13, AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43 и ef (срочная пересылка). Также в качестве TOS– битов можно использовать числовое значение.

Больше информации можно найти в файле doc/ip-tos.txt в папке исходного кода Asterisk.

trustrpid

Определяет, должна ли Asterisk доверять значению в заголовке

Remote-Party-ID:

trustrpid=yes|no useragent

Параметр useragent принимает в качестве аргумента строку, определяющую значение поля useragent в SIP-заголовке. Значение по умолчанию – asterisk:


    Ваша оценка произведения:

Популярные книги за неделю