Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. + 7 499 704 2566 Skype Me™!

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

Оцените материал
(4 голосов)

SIP

Конфигурационный файл 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

domain

Определяет домен по умолчанию для данного сервера Asterisk. Если определен этот параметр, Asterisk допускает отправку сообщений INVITE и REFER только нелокальным доменам. Получить список локальных доменов можно с помощью CLI-команды sip show domains:

domain=sipring.ru

dumphistory

Для параметра dumphistory можно задать значение yes или no, чтобы активировать или деактивировать вывод отчета по истории SIP в конце диалогового окна SIP. SIP-история записывается в канал протоколирования DEBUG:

dumphistory=yes|no

externhost

Параметр externhost принимает в качестве аргумента полное имя домена. Если Asterisk выполняется за NAT, SIP-заголовок, как правило, будет использовать внутренний IP-адрес, присвоенный серверу. Если вы зададите эту опцию, Asterisk будет периодически выполнять DNS-поиск по имени хоста и замещать внутренний IP-адрес на тот, который был возвращен в результате DNS-поиска:

externhost=my.hostname

externip

Параметр externip в качестве аргумента принимает IP-адрес. Если Asterisk выполняется за NAT, SIP-заголовок будет использовать внутренний IP-адрес, заданный для сервера. Удаленный сервер не будет знать, как вернуться к этому адресу; поэтому он должен быть заменен действительным маршрутизируемым адресом:

externip=135.35.76.12

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, его размер будет меняться вплоть до максимального, определенного параметром jbmax 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=asterisk.sipring.ru

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 несколько неэффективна. Если возвращено несколько SRV-записей, 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

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:

useragent=Asterisk PBX v1.4

usereqphone

Опция usereqphone указывает Asterisk добавлять ;user=phone в SIP URI, содержащие действительный номер телефона:

usereqphone

videosupport

Параметру videosupport можно задать значение yes или no. Если активирована общая поддержка видео, ее можно отключить для отдельного равноправного участника сети, но ее нельзя активировать для одного равноправного участника сети, если она не активирована в разделе [general]:

videosupport=yes|no

vmexten

Эта опция задает добавочный номер диалплана для доступа к ящику голосовой почты, который будет передан в разделе Message-Account сообщения MWI NOTIFY. Задавайте эту опцию, если ваше SIP-устройство поддерживает настройку Message-Account. Значение по умолчанию – asterisk:

vmexten=8500