Asterisk sip.conf General SIP Options

Asterisk sip.conf General SIP Options

В данной статье мы рассмотрим полный список параметров из файла sip.conf секции [general]. Параметры описаны из версии Asterisk 13.

allowexternalinvites

Если установлено ‘no‘, запрещает INVITE и REFER от внешних (не из localnet) доменов.
allowexternalinvites=yes|no

allowguest

Если ‘no’, запрещает гостевые (без аутентификации) подключения. По-умолчанию sipguest подключения разрешены.
allowguest=no|yes

allowoverlap

Включает (RFC2833) или выключает набор по одной цифре (т.е. каждая набранная цифра будет сразу отправляться в канал). Если установлено в ‘dtmf‘ то включается поддержка набора совпадений с использованием методов доставки DTMF (INBAND, RFC2833, SIP INFO) перед набором.Также используется приложением Incomplete для сбора и хранения набранных цифр. По-умолчанию ‘no’.
allowoverlap=no|yes|dtmf

allowsubscribe

Разрешает или запрещает внешним устройствам подписку (SUBSCRIBE) на информацию о статусе Extension. По-умолчанию – ‘yes‘.
allowsubscribe=yes|no

allowtransfer

Когда установлено ‘no‘, запрещает любые трансферы, если не переопределено в настройках пира. Параметры приложения Dial()t‘ и ‘T‘ не связаны с установкой.
allowtransfer=no|yes

alwaysauthreject

Если включено, всегда отвечает на INVITE и REGISTER, SIP сообщением 401 Unauthorized, вместо того чтобы сообщить вызывающему о существовании запрашиваемого user или peer. Важная настройка безопасности, которая снижает риск сканирования имен пользователей злоумышленником. По-умолчанию ‘yes‘.
alwaysauthreject=no|yes

autodomain

Установите эту опцию ‘yes‘, чтобы добавить локальное HOSTNAME и локальный IP адрес в список доменов.
autodomain=yes|no

autocreatepeer

Разрешает любому UAC, явно не определенному, устанавливать регистрацию БЕЗ АВТОРИЗАЦИИ. Включение этого параметра создает высокий потенциальный риск безопасности и его следует избегать, если сервер не находится за доверенным брандмауэром.
autocreatepeer=yes|no|persist

bindaddr

Эти параметры определяют IP адрес и порт, на которых Asterisk будет слушать SIP запросы. Для драйвера канала SIP Asterisk ‘chan_sip’ можно назначить только один адрес и порт для всех подключений по UDP и один порт по TCP транспорту, в отличии от нового драйвера PJSIP. По-умолчанию адрес не задан и лучше так и оставить. Некоторые рекомендуют изменять порт по умолчанию 5060, на другой, в целях безопасности. Но помните, что это только одна из мер безопасности, не самая важная, и не гарантирует вам полной защиты от злоумышленников.
bindaddr=0.0.0.0:5062

Вы можете задать независимые для UDP, TCP и TLS транспорта значения ‘udpbindadd’, ‘tcpbindaddr’ и ‘tlsbindaddr’.

buggymwi

Включите эту опцию, чтобы избежать ошибок при сообщении с некоторыми IP-телефонами Cisco при отправке MWI сообщений.
buggymwi=no|yes

callerid

Символьная составляющая Caller ID.
callerid=CUCM11.5(1)SU3

callcounter

Включает счетчик вызовов для устройств. Также можно настроить на SIP-аккаунте.
callcounter=yes

compactheaders

Использовать или нет компактные SIP заголовки.
compactheaders=yes|no

context

Контекст по-умолчанию для входящих вызовов. По-умолчанию ‘defaults’
context=internal

defaultexpiry

Срок действия регистрации в секундах для входящих и исходящих регистраций. При входящей регистрации, этот параметр задается клиентской стороной, и заданное здесь значение используется, только если клиент не сообщил свое значение. Для исходящих регистраций этот параметр сообщается удаленной стороне UAS (user agent server).
defaultexpiry=300

directrtpsetup

Данная опция позволяет управлять RTP соединением между двумя оконечными точками без re-INVITE (экспериментальная опция, используйте на свой страх и риск).
directrtpsetup=yes|no

domain

Задает имя домена сервера Asterisk по-умолчанию. Командой CLI ‘sip show domains’ выводится список локальных доменов.
domain=example.com

dumphistory

Включает или выключает отчет в завершении SIP диалога. SIP history выводится в DEBUG лог канала.
dumphistory=yes|no

externaddr и externhost

Когда Asterisk находится за NAT, “локальный” адрес (и порт), к которому привязан сокет, имеет разные значения внутри локальной сети и за ее пределами. Этот внешний адрес должен быть передан внешнему абоненту (например в сообщениях SIP и SDP) и для определения верных значений Asterisk должен понимать внутри или снаружи (за NAT) абонент. Внешний адрес Asterisk определяется при помощи значений externaddr или externhost на выбор
externaddr=12.34.56.78
externaddr=12.34.56.78:9900
externaddr=mynat.my.org:12600
;externhost=foo.dydns.net

Если Asterisk находится за NAT необходимо назначить параметру ‘localnet’ список сетевых адресов (масок), которые используются в локальной сети. Если параметр ‘localnet’ не установлен, внешний адрес будет работать НЕВЕРНО. При использовании ‘externaddr’ и ‘externhost’ адресная часть для сессий также используется в качестве внешнего адреса, поэтому информация о порте в SDP может быть неверной!

externrefresh

Если все же используется ‘externhost’, указывает промежуток времени в секундах между запросами DNS.
externrefresh=30

faxdetect

Активация детектирования факсимильных сообщение и переход на приложение fax() в канале SIP для обработки событий. События, которые могут быть обнаружены – это входящи сигнал CNG или входящий запрос T.38 re-INVITE.
faxdetect=yes|cng|t38

g726nonstandard

Значения: yes|no, по умолчанию: ‘no’. Если клиент собирается для сеанса связи «договориться» использовать звуковой кодек G726-32, с использованием компрессии AAL2, вместо RFC3551 (что требуется для аппаратов фирмы Sipura и шлюзов от Grandstream, и может другим), то это противоречит спецификации RFC3551, клиент должен вместо этого «договориться» использовать AAL2-G726-32.
g726nonstandard=yes

ignoreregexpire

Если ignoreregexpire установлен ‘yes’, Asterisk сделает одно из двух, в зависимости от настроек пиров:
  1. Non-realtime peer – Когда регистрация истекает, информация не удаляется из памяти или БД Asterisk и вызовы будут разрешены несмотря на то, что время регистрации истекло.
  2. Realtime peers – Когда peer сконфигурирован в режиме реального времени, информация о регистрации используется независимо от defaultexpiry.

ignoreregexpire=yes|no

jbenable

Включает поддержку RTP Jitter buffer на принимающей стороне канала SIP. По-умолчанию ‘no’. Будет работать, только если удаленная сторона поддерживает эту функцию.
jbenable=yes|no

jbforce

Принудительное использование Jitter buffer принимающей стороной SIP канала. По-умолчания ‘no’.
jbforce=yes|no

jbimpl

Использовать фиксированный или подстраиваемый (адаптивный) Jitter buffer. Fixed Jitter buffer всегда использует значение из jbmaxsizeadaptive и может принимать значение больше jbmaxsize. По-умолчанию ‘fixed’:
jbimpl=fixed|adaptive

Из личного опыта, включение ‘adaptive’ может приводить к весьма плачевным результатам.

jbmaxsize

Максимальная длина Jitter buffer в миллисекундах.
jbmaxsize=200

jblog

Включает или выключает Jitter buffer frame лог. По-умолчанию ‘no’.
jblog=yes|no

jbmaxsize

Установка максимальной длины буфера в миллисекундах.
jbmaxsize=200

jbresyncthreshold

Джиттер буфер порог синхронизации. По-умолчанию 1000.
jbresyncthreshold=1000

jbtargetextra

Этот параметр влияет только на jb, когда задан параметр ‘jbimpl=adaptive’ Опция определяет количество миллисекунд, через которое новый jitter буфер будет заполнять свой размер. По-умолчанию 40. Обычно увеличение помогает если в сети низкий джиттер или происходят “всплески”
jbtargetextra=40

icesupport

Использование Interactive Connectivity Establishment (ICE) / STUN / TURN в Asterisk. По-умолчанию ‘no’.
icesupport=no

limitonpeers

Применять call-limit только для type=peer это улучшит использование call-limit для устройств, настроенных, как type=friend, отделив ограничение call-limit от входящих вызовов.
limitonpeers=yes|no

localnet

Указывает серверу Asterisk какие подсети являются локальными, прозрачными для использования IP адресов сервера, SIP запросы к которым не требуют модификации поля Contact: c использованием externaddr или externhost
localnet=192.168.1.0/24
localnet=172.16.0.0/16

match_auth_username

Если доступно, сопоставьте запись имени пользователя, используя поле ‘username’ из строки аутентификации вместо поля ‘From:’.
match_auth_username=yes|no

matchexternaddrlocally

Сверять ‘externaddr’ с ‘localnet’ и производить подстановку, только если ‘externaddr’ из локальной подсети. Не совсем ясно, зачем это может понадобиться. Возможно при очень нестандартной топологии сети.
matchexternaddrlocally=yes|no

maxexpiry

Максимальная продолжительность регистрации в секундах.
maxexpiry=3600

minexpiry

Минимальная продолжительность регистрации в секундах.
minexpiry=60

nat

Asterisk имеет дополнительный параметр ‘nat’ для решения проблем, связанных с NAT во время входящих сессий SIP. На основе этого параметра Asterisk может преопределить информацию об адресате, указанную в сообщении SIP/SDP и вместо этого использовать информацию (адрес отправителя), поставляемую сетевым стеком. Доступны параметры:
no‘ – никакой специальной обработки NAT, кроме RFC3581.
force_rport‘ – использовать параметр rport, даже если он отсутствовал.
comedia‘ – отправлять медиа-поток на порт Asterisk, независимо от указаний SDP.
auto_force_rport‘ – установить ‘force_rport’ параметр если Asterisk обнаружил NAT (по-умолчанию).
auto_comdeia‘ – установить ‘comedia’ параметр если Asterisk обнаружил NAT.
Настройки могут совмещаться ‘auto_force_rport,auto_comdeia’.
nat=no
nat=force_rport
nat=comedia
nat=auto_force_rport
nat=auto_comedia
nat=auto_force_rport,auto_comedia

notifycid

Контроль отправки информации идентификатора вызывающего абонента с помощью уведомлений dialof-info+xml (поддерживаемые мобильными телефонами).
notifycid=yes|no

notifymimetype

Указывает MIME тип используемый для message-waiting indication (MWI) в SIP NOTIFY сообщении.
notifymimetype=text/plain

notifyringing

Сообщать подписчикам о состоянии вызов (RINGING).
notifyringing=yes|no

notifyhold

Сообщать подписчикам (SUBSCRIBERS) о состоянии удержание (HOLD).
notifyhold=yes|no

pedantic

Точная проверка SIP сообщений через проверку тегов в URI заголовке. Устанавливает более строгую проверку по стандартам SIP RFC.
pedantic=yes

realm

Данная установка используется для аутентификации в SIP. Задайте realm полное доменное имя вашего сервера. Имя должно быть совершенно уникальным.
realm=mybox.example.com

recordhistory

Включает или выключает историю SIP для всех каналов.
recordhistory=yes|no

registerattempts

Сколько попыток внешних регистраций произведет Asterisk, прежде чем откажется от продолжения. По-умолчанию стоит ‘0’, что значит бесконечно.
registerattempts=0

registertimeout

Таймаут между попытками регистрации на другом устройстве.
registertimeout=30

relaxdtmf

Если плохо распознаются DTMF сигналы, включите данную опцию.
relaxdtmf=yes|no

rtautoclear

Конфигурация Realtime Peers указывает должен ли Asterisk обнулять созданные на лету friends по истечении времени регистрации. Если установлено ‘yes’, по истечении срока регистрации, удалять friends до нового запроса. Если задано число, то оно используется вместо обычного времени регистрации.
rtautoclear=yes|no|<seconds>

rtcachefriends

Если rtcachefriends включен, Asterisk будет кэшировать friends (реалтайм пиры), которые приходят из realtime engine, так же, как если бы они сконфигурированы в «sip.conf».
rtcachefriends=yes|no

rtsavesysname

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

rtupdate

Если установлено ‘yes’ Asterisk будет обновлять IP-адрес, порт и период регистрации пиров при регистрации. Если установлено ‘yes’, то при успешной регистрации SIP UA, данные IP-адрес, порт источника, период регистрации и имя пользователя будут записываться в БД через realtime. Советую отключить, так как создается большая нагрузка на сервер. По-умолчанию ‘yes’:
rtupdate=yes|no

sdpowner

Позволяет изменить поле имени пользователя в строке владельца SDP (o=). Это поле не должно содержать пробелов.
sdpowner=CiscoSystemSIP-GW-UserAgent

sdpsession

Позволяет изменить строку имени сеанса SDP (s=) как и параметр ‘useragent’, строка имени сеанса содержит по-умолчанию версию Asterisk.
sdpsession=SIP Call

sipdebug

Указывает, должен или нет Asterisk включать SIP debug сразу при загрузке драйвера канала SIP. Отключить данный параметр через CLI невозможно – только с изменением конфигурации и перегрузкой Asterisk daemon.
sipdebug=yes|no

send_diversion

Asterisk обычно отправляет заголовки Diversion с определенными SIP INVITE для передачи данных о переадресованных вызовах. Если этот параметр отключен, Asterisk не будет отправлять заголовки Diversion, если они не будут добавлены вручную (или через диалплан).
send_diversion=yes|no

sendrpid

Отправлять или нет Remote-Party-ID header. rpid – использование Remote-Party-ID заголовок. pai – использование P-Asserted-Identity заголовок.
sendrpid=yes|rpi|pai

srvlookup

Записи DNS SRV являются одним из способов указания адреса для связи с сервером. Используя записи SRV, вы получаете многие преимущества DNS, в то время как отключения SRV DNS лишает вас возможности принимать SIP вызовы на основании доменных имен. В настоящее время поддержка записей SRV в Asterisk несколько хромает. Если несколько записей SRV возвращаются, Asterisk будет использовать только первую запись. Чтобы включить, установите srvlookup = yes.
srvlookup=yes

textsupport

Поддержка текста в реальном времени ITU-T T.140 По-умолчанию ‘no’
;textsupport=no

transport

Задает транспорт по-умолчанию. По-умолчанию ‘udp’, но может быть ‘tcp’, ‘tls’, ‘ws’ или ‘wss’. Если задано TCP, а tcpenable=no будет использован UDP транспорт.
transport=udp

tcpenable

Включить поддержку TCP транспорта chan_sip Asterisk.
tcpenable=yes

tcpbindaddr

Адрес, на котором Asterisk «слушает» TCP подключения. Порт по-умолчания 5060.
tcpbindaddr=0.0.0.0:5062

tcpauthtimeout

tcpauthtimeout указывает максимальное время в секундах данное клиенту на аутентификацию. Если за заданное время клиент не прошел проверку он отключается. (По-умолчанию 30 секунд).
tcpauthtimeout = 30

tcpauthlimit

Указывает максимальное количество незавершенных сеансов (сессий), которые будут разрешены для подключения в любой момент времени (по-умолчанию 100).
tcpauthlimit = 100

t1min

Минимальное время прохождения сообщений для контролируемых хостов. По-умолчанию 100 мс.
t1min=100

subscribecontext

Задает конкретный контекст для запросов SUBSCRIBE. Полезно ограничить подписки на локальные расширения. Устанавливается для одного Peer или User.
subscribecontext=internal

t38pt_udptl

Установка t38pt_udptl ‘yes’ включит протокол T.38 (UDPTL) насквозь (passthrough) для SIP-to-SIP вызовов с поддержкой T.38. Эта настройка включается глобально для всех устройств, но вы можете отключить её для конкретного устройства.
t38pt_udptl=yes|no

T.38 fax passthrough работает только для SIP-to-SIP вызовов, любые local или agent каналы не могут быть использованы.

tos_sip, tos_audio, tos_video, tos_text (cos)

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

trustrpid

Доверять или нет Remote-Party-ID header: Asterisk SIP trustrpid.
trustrpid=yes|no

useragent

Значение поля useragent в SIP заголовке. По-умолчанию версия Asterisk.
useragent=Asterisk PBX v14.6.0

Если вы не желаете сообщать, что используете Asterisk, напишите useragent=Cisco-SIPGateway/IOS-12.x.

usereqphone

usereqphone опция говорит Asterisk добавить «user=phone» в SIP URIs, которые содержат действующий номер телефона. По умолчанию ‘no’.
usereqphone=yes|no

videosupport

Включает поддержку SIP-видео. Если вы установите параметр ‘always’, тогда все порты RTP всегда будут настроены для видео, даже на тех клиентах, которые его не поддерживают.
videosupport=yes|no|always