Джим Меггелен - 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= [email protected]
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-пакета. Не используйте эту опцию, если не знаете, что делаете: