; Файл: /etc/asterisk/pjsip.conf
[0042080578-auth] ; имя блока авторизации
type = auth
auth_type = userpass
username = 0042080578
password = 123456
[0042080578-aor] ; адрес SIP-сервера (регистрация к нему)
type = aor
contact = sip:sipnet.ru
[0042080578-endpoint] ; основной блок
type = endpoint
aors = 0042080578-aor
auth = 0042080578-auth
context = from-trunk ; обработка входящих вызовов
disallow = all
allow = alaw
allow = ulaw
dtmfmode = rfc4733 ; современный аналог rfc2833
directmedia = no
fromuser = 0042080578
fromdomain = sipnet.ru
outboundauth = 0042080578-auth
rewritecontact = no ; аналог nat=no
rtpsymmetric = no ; аналог nat=no
forcerport = no ; аналог nat=no
[0042080578-registration] ; секция регистрации (если нужна)
type = registration
outboundauth = 0042080578-auth
serveruri = sip:sipnet.ru
clienturi = sip:0042080578@sipnet.ru
retryinterval = 60
forbiddenretryinterval = 300
expiration = 3600
transport = transport-udp
Вызов через транк
[internal]
exten ⇒ _X.,1,NoOp(Исходящий вызов через SIPNET)
same ⇒ n,Dial(PJSIP/${EXTEN}@0042080578-endpoint)
same ⇒ n,Hangup()
Вот описание параметров из предоставленного файла конфигурации SIP в формате Markdown на русском языке:
Этот файл конфигурации, вероятно, предназначен для SIP-клиента или IP-АТС (например, Asterisk, FreeSWITCH), использующей PJSIP, для подключения к SIP-провайдеру (в данном случае, похоже, Sipnet.ru).
Этот блок определяет учетные данные, используемые для аутентификации при регистрации на SIP-сервере и для исходящих вызовов.
type = auth
: Указывает, что это блок типа «auth» (авторизация).auth_type = userpass
: Определяет тип аутентификации как по имени пользователя и паролю.username = 0042080578
: Имя пользователя для аутентификации.password = Ya5MGLzvp9VzAJuV
: Пароль для аутентификации.Этот блок (Address of Record - AOR) определяет адрес, связанный с SIP-аккаунтом, обычно используемый для регистрации и маршрутизации входящих вызовов.
type = aor
: Указывает, что это блок типа «aor».contact = sip:sipnet.ru
: Указывает контактный адрес SIP-сервера или домен, к которому будет выполняться регистрация или направляться трафик.Этот блок определяет параметры конкретной SIP-конечной точки (вашего SIP-аккаунта), включая привязку к блокам AOR и Auth, кодеки, режим DTMF и настройки NAT.
type = endpoint
: Указывает, что это блок типа «endpoint» (конечная точка).aor = 0042080578-aor
: Привязывает эту конечную точку к блоку AOR с именем 0042080578-aor
.auth = 0042080578-auth
: Привязывает эту конечную точку к блоку авторизации с именем 0042080578-auth
.context = from-trunk
: Определяет контекст в диалплане (плане набора) IP-АТС, который будет обрабатывать входящие вызовы с этой конечной точки. from-trunk
часто используется для входящих звонков от провайдера.disallow = all
: Запрещает использование всех кодеков по умолчанию.allow = alaw
: Разрешает использование кодека A-law.allow = ulaw
: Разрешает использование кодека u-law. (Таким образом, разрешены только A-law и u-law).dtmf_mode = rfc4733
: Устанавливает режим передачи DTMF (нажатий клавиш телефона) в соответствии со стандартом RFC 4733 (старый аналог RFC 2833), который обычно передает DTMF как отдельные SIP-сообщения или внутри RTP-потока как специальные события.direct_media = no
: Отключает Direct Media (также известный как reinvite или медиа-обход). При no
медиа-поток (RTP) всегда будет проходить через IP-АТС, а не напрямую между конечными точками.from_user = 0042080578
: Имя пользователя, которое будет использоваться в поле From
SIP-запросов.from_domain = sipnet.ru
: Домен, который будет использоваться в поле From
SIP-запросов.outbound_auth = 0042080578-auth
: Указывает, какой блок авторизации использовать для исходящих вызовов с этой конечной точки.rewrite_contact = no
: (Аналог nat=no
в старых версиях) Запрещает перезапись поля Contact в SIP-сообщениях. Это может быть важно для работы с NAT, но no
обычно используется, если IP-АТС имеет публичный IP или настроен правильный обход NAT другими способами.rtp_symmetric = no
: (Аналог nat=no
) Отключает симметричный RTP. При включенном (yes) симметричном RTP IP-АТС будет отправлять RTP-трафик обратно на тот же IP-адрес и порт, с которого был получен входящий RTP-трафик, что помогает при работе с некоторыми типами NAT. Здесь отключено.force_rport = no
: (Аналог nat=no
) Отключает принудительное использование параметра rport
в SIP-запросах. rport
помогает обнаружить и использовать публичный порт, назначенный NAT для SIP-сигнализации. Здесь отключено. (Значения rewrite_contact
, rtp_symmetric
, force_rport
установленные в no
могут указывать на то, что либо сервер SIP-провайдера не поддерживает эти механизмы обхода NAT, либо обход NAT настроен на более высоком уровне, например, на файрволе).Этот блок определяет параметры регистрации данной конечной точки на SIP-сервере.
type = registration
: Указывает, что это блок типа «registration».outbound_auth = 0042080578-auth
: Указывает, какой блок авторизации использовать для запросов регистрации.server_uri = sip:sipnet.ru
: URI (Uniform Resource Identifier) SIP-сервера, на котором выполняется регистрация.client_uri = sip:0042080578@sipnet.ru
: URI клиента (вашего аккаунта), который регистрируется.retry_interval = 60
: Интервал (в секундах) между попытками регистрации в случае неудачи (кроме ошибок «forbidden»).forbidden_retry_interval = 300
: Интервал (в секундах) между попытками регистрации, если предыдущая попытка завершилась с ошибкой «Forbidden» (запрещено, обычно код 403). Это помогает избежать слишком частых запросов при неверных учетных данных.expiration = 3600
: Желаемое время жизни регистрации (в секундах). SIP-клиент будет пытаться обновить регистрацию до истечения этого срока.transport = transport-udp
: Указывает, какой транспорт использовать для регистрации (в данном случае, UDP). transport-udp
должен быть определен в другом месте конфигурации (например, в pjsip.conf
в Asterisk) как конкретный транспортный протокол.