Asterisk sip.conf в общей [general] секции (описание опций)

allowexternalinvites

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

allowexternalinvites=yes|no

allowguest

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

allowguest=no|yes

allowoverlap

Вкл. или Выкл набор по одной цифре (т.е. каждая набранная цифра будет сразу отправляться в канал)

allowoverlap=no|yes

allowsubscribe

Разрешить ли внешним устройствам подписку (SUBSCRIBE) на информацию о статусе екстеншена. По умолчанию — ‘yes’:

allowsubscribe=yes|no

allowtransfers

Когда установлено ‘no’, запрещает любые трансферы, если не переопределено в настройках пира.

allowtransfers=no|yes

alwaysauthreject

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

alwaysauthreject=no|yes

autodomain

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

autodomain=yes|no

bindaddr and bindport

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

bindaddr=0.0.0.0
bindport=5060

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

buggymwi

Вкл. эту опцию, чтобы избежать ошибок при сообщении с некоторыми ip телефонами при отправке MWI сообщений.

buggymwi=no|yes

callevents

Установите ‘yes’, если хотите генерировать информацию о SIP событиях для AMI (asterisk manager interface)

callevents=yes

checkmwi

Время в секундах, между проверками голосовой почты :

checkmwi=30

compactheaders

Использовать или нет компактные SIP заголовки.

compactheaders=yes|no

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

externhost

Когда Asterisk находится за NAT, SIP заголовок обычно использует IP адрес сервера. Если включить данную опцию, Asterisk будет производить периодические DNS опросы для определения имени хоста и заменять IP адрес на ‘externhost’.

externhost=my.hostname.tld

Используйте externip.

externip

externip содержит IP адрес в качестве аргумента. Если Asterisk находится за NAT, SIP заголовок Contact: содержит внутренний IP адрес сервера, тогда удаленная сторона не знает куда отправлять ответы. Параметр externip вкупе с параметром nat=force_rport модифицирует SIP заголовок, сообщая удаленному SIP серверу адрес на который надо слать ответы:

externip=123.123.123.123

externrefresh

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

externrefresh=30

g726nonstandard

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

g726nonstandard=yes

ignoreregexpire (global)

Если 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 канала.

jbforce=yes|no

jbimpl

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

jbimpl=fixed|adaptive

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

jblog

Вкл./выкл jitter buffer frame лог. По умолчанию ‘no’:

jblog=yes|no

jbmaxsize

Установите максимальную длину буфера в миллисекундах:

jbmaxsize=200

jbresyncthreshold

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

jbresyncthreshold=1000

icesupport

Использовать Interactive Connectivity Establishment (ICE) в Asterisk

icesupport=no

limitonpeers

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

limitonpeers=yes|no

localnet

укажет серверу Asterisk какие подсети являются локальными, прозрачными для использования IP адресов сервера, SIP запросы к которым не требуют модификации поля Contact: c использованием externip или externhost

localnet=192.168.1.0/24
localnet=172.16.0.0/16
localnet=192.168.0.2/255.255.255.0

matchexterniplocally

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

matchexterniplocally=yes|no

maxexpiry

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

maxexpiry=3600

minexpiry

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

minexpiry=60

notifymimetype

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

notifymimetype=text/plain

notifyringing

Сообщать подписчикам о состоянии вызов (RINGING):

notifyringing=yes|no

notifyhold

Сообщать подписчикам (subscribers) о состоянии удержание (HOLD):

notifyhold=yes|no

pedantic

Скурпулезная проверка SIP сообщений. Устанавливает более строгую проверку по стандартам 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 (global)

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

rtautoclear=yes|no|seconds

rtcachefriends (global)

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

rtcachefriends=yes|no

rtsavesysname (global)

Определяет, должен ли Asterisk сохранить SystemName в базе данных в режиме реального времени во время регистрации:

rtsavesysname=yes|no

rtupdate (global)

Если установлено ‘yes’ Asterisk будет обновлять IP-адрес, порт и период регистрации пиров при регистрации. По умолчанию ‘yes’:

rtupdate=yes|no

sipdebug

Указывает, должен или нет Asterisk включать SIP debug сразу при загрузке драйвера канала SIP.

sipdebug=yes|no

sendrpid

Отправлять или нет Remote-Party-ID header:

sendrpid=yes|no

srvlookup

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

srvlookup=yes

transport

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

transport=udp

tcpenable

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

tcpenable=yes

tcpbindaddr

Адрес на котором Asterisk «слушает» TCP подключения.

IPv4 example: bindaddr=0.0.0.0:5062
IPv6 example: bindaddr=[::]:5062

tcpauthtimeout

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

tcpauthtimeout = 30

tcpauthlimit

Максимальное кол-во неаутентифицированных сессий в момент любой времени.

tcpauthlimit = 100

t1min

Минимальная задержка туда-обратно (minimum round-trip) для сообщения контролируемого хоста. По умолчанию 100 миллисеунд:

t1min=100

subscribecontext

Ограничить запросы SUBSCRIBE только указанным контекстом, если не переопределено в настройках пира.

subscribecontext=internal

t38pt_udptl

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

t38pt_udptl=yes|no

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

tos_sip, tos_audio, andtos_video

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, напишите Cisco или Avaya, или abyrvalg v2.0.

usereqphone

usereqphone опция говорит Asterisk добавить «user=phone» в SIP URIs которые содержат действующий номер телефона:

usereqphone=yes|no

videosupport

(both) Вкл. или выкл поддержку видео.

videosupport=yes|no

dtmfmode

использовать спецификацию rfc2833 для передачи DTMF сигналов

dtmfmode=rfc2833

disallow

Запрещает использование кодеков

disallow=all ; запрет всех кодеков
disallow=gsm,h261,h263

allow

Разрешенные кодеки. Использую обычно в паре с «disallow=all» (запрещают все кодеки), затем «allow=ulaw,alaw,gsm,h261,h263,h263p,h264» (разрешают определенные)
Звуковые: g723 — G.723.1; gsm — GSM; ulaw — u-Law; alaw — a-Law; g726 — G.726-32; adpcm — ADPCM; slin — SLIN; lpc10 — LPC10; g729 — G.729; speex — SPEEX; ilbc — ILBC
Видео (по крайней мере, для протокола SIP ): h261 — H.261 Video; h263 — H.263 Video; h263p — H.263+ Video; h264 — H.264 Video

allow=ulaw,alaw,gsm,h261,h263,h263p,h264

context

Контекст задается в описании канала, чтобы входящие звонки направлялись в соответствующий контекст в extensions.conf, где осуществляется их обработка.
Контекст обязателен для любого описания канала типа user; если контекст не задан, входящие звонки будут направляться в контекст default.

context=default

permit и deny

Ограничить прохождение SIP трафика, поступающий от или в сторону каждого клиента, используя ограничения по IP адресу или сети.
Если ни одна запись не совпала, тогда, по умолчанию, соединение разрешено.

deny=192.168.40.38/255.255.255.255 ; Запретить работу с этим IP адресом.
permit=192.168.40.0/255.255.255.0 ; Разрешить работу с этой сетью.

deny=0.0.0.0/0.0.0.0
permit=216.207.245.47/255.255.255.255 ; Запретить работу со всех адресов, кроме одного заданного IP адреса.

Правила обрабатываются в порядке их описания, от первого к последнему.

promiscredir

Включение поддержки сообщений 302 Redirects; (No — будет переадресовать все к локальному екстеншену, который получен в поле Contact, а не к екстеншену, который указан в поле назначения вызова.)

promiscredir=yes|no

rtptimeout

Прерывать вызов, если нет активности RTP медиапотока более чем x секунд и если линия не находиться в режиме удержания (hold).

rtptimeout=60

progressinband

Значения: yes/no/never, по умолчанию: never. Должен ли asterisk генерировать самостоятельно звуковой сигнал вызова для вызывающего абонента (in-band ringing). Используйте значение ‘never’, чтобы никогда не производилась генерация этого сигнала, даже в случае, когда некоторые странные устройства не могут генерировать его самостоятельно.

progressinband=yes|no|never

maxcallbitrate

Максимальный битрейт для видео в kbit/s. По умолчанию: 384 kbit/s.

maxcallbitrate=384

nat

Эта переменная изменяет образ действия сервера Asterisk для клиентов находящихся за файрволом с трансляцией адресов (NAT). Но этот параметр не решает проблемы, если сам Asterisk находится за таким файрволом, а клиент снаружи (в сети internet с нормальным IP адресом).

nat=yes|no