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