Джим Меггелен - Asterisk™: будущее телефонии Второе издание
Публикация запрещена, экранирование учетных данных не производится.
prohib_passed_screen
Публикация запрещена, экранирование разрешено.
prohib_failed_screen
Публикация запрещена, экранирование запрещено.
prohib
Публикация запрещена, сетевой номер.
unavailable
Номер недоступен.
=yes|no canreinvite (для обоих)
SIP-протокол пытается соединить конечные точки напрямую. Однако Asterisk должна оставаться на линии передачи между конечными точками, если необходимо определять наличие DTMF (более подробную информацию можно найти в главе 4): canreinvite=no context (для обоих)
Контекст задается в описании канала, чтобы входящие звонки направлялись в соответствующий контекст в extensions.conf, где осуществляется их обработка (см. главы 4 и 5). Для любого канала, соединяющегося с сервером Asterisk, должен быть задан контекст, в который он будет направлен. Контекст обязателен для любого описания канала типа user; если контекст не задан, входящие звонки будут направляться в контекст default:
context=incoming
Необходимо знать о необычном сценарии, который потребует задания контекста для peer. Когда по SIP-каналу поступает вызов, он сначала пытается найти соответствующее описание user (согласно имени пользователя, заданному в квадратных скобках, и паролю). Если он не может найти ни одного подходящего пользователя, он ищет соответствие среди peer по IP- адресу, с которого поступил вызов. Поскольку обычно peer не имеют контекстов, такой вызов в итоге поступит в контекст default. Хотя это будет работать, контекст default не следует использовать для обработки входящих звонков. Выход - определить контекст для каждого peer, который может обрабатывать входящие звонки. Чтобы поэкспериментировать с этим, можете позвонить на свой номер в службе Free World Dialup; вызов вернется прямо к вам.
defaultip (равноправный участник)
Настройка defaultip дополняет host=dynamic. Если хост еще не зарегистрирован на вашем сервере, вы будете пытаться отправлять сообщения по указанному здесь IP-адресу по умолчанию:
defaultip=192.168.1.101 deny (для обоих)
С помощью опции deny можно задавать конкретные IP-адреса и диапазоны. Чтобы ограничить доступ для диапазона IP-адресов, используется маска подсети, например deny=192.168.1.0/255.255.255.0. Также можно запретить все адреса, задав deny=0.0.0.0/0.0.0.0, а затем с помощью команды permit разрешить доступ только определенным адресам. Помните о влиянии на безопасность, которое оказывает данная настройка (см. также permit): deny=0.0.0.0/0.0.0.0 disallow (для обоих) См. allow.
dtmfmode (для обоих)
Параметру dtmfmode могут быть присвоены значения inband, rfc2833 или info. DTMF-коды могут быть отправлены или в полосе частот (как часть аудиопотока), или вне полосы (как сигнальная информация) с помощью методов RFC 2833 или INFO. Метод inband работает надежно только при использовании кодека без сжатия, такого как G.711, plaw или alaw. Рекомендуемым является метод rfc2833; однако некоторые устройства, например производимые компанией Grandstream, поддерживают метод info: dtmfmode=rfc2833
В Asterisk 1.4 был введен DTMF-сигнал переменной длительности (Variable Length DTMF), чтобы Asterisk имела возможность сообщать дальнему концу соединения верную длительность нажатия кнопки на телефоне, подключенном к входящему каналу (согласно RFC 2833 IETF). Более старые системы Asterisk не понимают параметра переменной длины. В старых системах Asterisk DTMF-сигнал, доставляемый через RFC 2833, может быть неправильно интерпретирован, что приводит к странным эффектам, например, в сеансах передачи голосовой почты. Если требуется, чтобы настройка rfc2833 была реализована, как в более старой версии (до 1.4), необходимо добавить опцию rfc2833compensate=yes в описание peer в файле sip.conf, который определяет порядок обмена информацией с вашей системой Asterisk версии до 1.4.
fromdomain (равноправный участник)
Позволяет задавать домен в поле From: SIP-заголовка. Может требоваться некоторыми поставщиками сервисов для аутентификации: fromdomain=my.hostname.tld fromuser (равноправный участник)
Позволяет задавать имя пользователя для аутентификации. Обычно используется имя, заключенное в квадратные скобки в описании канала, но оно может быть переопределено с помощью опции fromuser. Это позволяет обращаться к описанию канала по имени, отличному от того, которое используется для аутентификации: fromuser=john_smith host (равноправный участник)
Конфигурирует хост, с которым должен соединяться данный равноправный участник сети. Используйте полное доменное имя: host=remote.hostname.tld incominglimit (для обоих)
Эта опция ограничивает общее число одновременных звонков для равноправного участника сети или пользователя. Задает максимальное число одновременных исходящих звонков для равноправного участника сети или максимальное число входящих звонков для пользователя. incominglimit=3 insecure (для обоих)
При получении сообщения INVITE от удаленного ресурса Asterisk пытается аутентифицировать строку символов перед знаком @ в строке INVITE, полученную в SIP-заголовке с именем описания канала из sip.conf. Если удаленный конец связи является агентом пользователя, его аутентификация будет проводиться исходя из описания user. Однако, если удаленный конец является прокси-сервисом SIP, он будет аутентифицироваться по записи peer. Когда вызовы поступают от такого провайдера, как Free World Dialup, который выступает в роли прокси для удаленной стороны, фактически вызывающей вас, этот провайдер не может принимать вызов от лица конечной точки. Поскольку было бы непрактичным конфигурировать аутентификацию для каждого FWD-пользователя и поскольку FWD не может отвечать на сообщения 407 Proxy Authentication Required (Необходима аутентификация на прокси), требуется альтернативный способ разрешения приема звонков от этих абонентов. Задавая insecure=invite, вы определите, какому каналу peer ищется соответствие при сравнении IP-адреса или имени хоста и номера порта с предоставленными в поле Contact SIP-заголовка опциями host и port в sip.conf. Если соответствие найдено, исходное сообщение INVITE не станет требовать аутентификации и звонок будет разрешен.
При наличии большого количества конечных точек за NAT-уст- ройством необходимо активировать параметр insecure=port, чтобы выполнять сопоставление только по IP-адресу. Чтобы не предъявлять требование на аутентификацию во входящем INVITE для peer, задайте insecure=invite,port: insecure=invite language (для обоих)
Задает флаг языка для всего, что вы определяете. Глобальный язык по умолчанию - английский. Заданный язык отправляется каналом как элемент информации. Он также используется такими приложениями, как SayNumber(), чтобы выбрать соответствующий файл для воспроизведения. Не забывайте, что все остальные языки, кроме английского, не устанавливаются в системе явно, поэтому ваша задача конфигурировать систему так, чтобы гарантировать правильную обработку задаваемых языков: language=en mailbox (равноправный участник)
Если в описании канала вы связываете mailbox с peer, сервис голосовой почты будет посылать MWI-сигналы узлам на конце этого канала. Если номер почтового ящика обрабатывается в другом контексте голосовой почты, не default, его можно описать как почтовыйящик@ контекст. Чтобы связать несколько почтовых ящиков с одним peer, используется несколько выражений mailbox: mailbox= [email protected] maxcallbitrate (для обоих)
Задает максимальную скорость передачи данных для отдельного звонка от конкретного пользователя или к конкретному равноправному участнику сети. Значение по умолчанию - 384 Кбит/с: maxcallbitrate=384 md5secret (для обоих)
Если вы не хотите использовать простые текстовые пароли в файлах sip.conf, с помощью md5secret можно сконфигурировать хеш MD5, который будет использоваться для аутентификации. Чтобы сгенерировать хеш MD5 из консоли Linux, используйте следующую команду:
# echo -n "username: realm:secret" | md5sum Не забудьте использовать флаг -n, иначе echo добавит n в конец строки; тогда символ перевода строки будет учтен при вычислении хеша MD5, что приведет к созданию неверного хеша. Если не задана опция realm (обсуждаемая в списке общих параметров SIP), будет принята область действия по умолчанию - asterisk. Если в одном описании канала заданы параметры и md5secret, и secret, последний будет проигнорирован:
md5secret=0bcbe762982374c276fb01af6d272dca mohinterpret (канал)
Эта опция определяет, какой класс музыки во время ожидания должен воспроизводиться по данному каналу, если в диалплане для канала нет выражения Set(CHANNEL(musicclass)=fl»6on), определяющего класс музыки, и канал типа peer, поддерживающий вызов, не предлагает класса музыки.
Эта опция может быть задана глобально или для каждого пользователя либо равноправного участника сети в отдельности: mohinterpret=default mohsuggest (канал)
Эта опция определяет, какой класс музыки во время ожидания (как определено в musiconhold.conf) должен предлагаться каналу типа peer, когда этот канал переводит равноправного участника сети в режим ожидания. Он может быть задан глобально или для каждого пользователя или равноправного участника сети в отдельности: mohsuggest=default musicclass (для обоих)
Эта опция задает класс музыки во время ожидания по умолчанию: musicclass=classical nat (для обоих)