Asterisk pjsip parameters

2018年10月26日 (金) 11:12時点におけるTakahashi (トーク | 投稿記録)による版 (res_pjsip_endpoint_identifier_ip)

目次

全般的な注意

省略時のデフォルトが明確でない部分もあるので注意してください。安全のためには明示指定すべきです。
例えば、いくつかのセクションで transport= が指定できますが、これが省略された場合には「最初のtype=transportで指定された」トランスポートが使用されます。明示指定せずとも動作しますが、別なトランスポートを定義し、それが以前のものよりも前に来るように書いてしまうと挙動が変わってしまうということになります。
次の例をみてください

[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0:5070

[hikari-hgw]
type = registration
transport = transport-udp
outbound_auth = hikari-hgw
server_uri = sip:XXX.XXX.XXX.XXX
client_uri = sip:3@XXX.XXX.XXX.XXX
retry_interval = 60

[hikari-hgw]
type = endpoint
context = from-hikari-hgw
dtmf_mode = inband
disallow = all
allow = ulaw
direct_media = no
send_pai = yes
inband_progress = yes
from_user = 3
from_domain = XXX.XXX.XXX.XXX
language = ja
outbound_auth = hikari-hgw
aors = hikari-hgw

Registerのセクションにはtransport-udpが指定されていますが、endpointのセクションにはtransportが指定されていません。
ですがtransportセクションとしてtransport-udpが定義されているので、省略時にはこれが用いられます。
十分な裏取りができていないのですが、ACL指定の挙動もおそらくこの通りです。acl=が指定できるセクションで、ACLの指定をしていない場合、デフォルト解釈として「最初に出てくるACL」が採用されることでグローバルなACLとして動作していると考えられます。

res_pjsip

GLOBAL

[grobal]
グローバル設定
type=global

項目名 内容 種類 デフォルト 記述例
max_forwards SIPのMAXFORWARDERS値 uint 70 -
user_agent SIPのUA名 文字列 Asterisk PBX SVN-branch-12-r434356 -
default_outbound_endpoint デフォルトで使用するエンドポイント 文字列 - -
debug デバッグ設定(nまたはIPアドレス) 文字列 n -

SYSTEM

type=system

項目名 内容 種類 デフォルト 記述例
timer_t1 T1タイマ値(ミリ秒) uint 500 -
timer_b タイマB値(ミリ秒 uint 32000 -
compact_headers コンパクトヘッダを使用するかどうか Bool n -
threadpool_initial_size PjSIPスレッド・プールの初期数 uint 0 -
threadpool_auto_increment 必要になった際にスレッドを増加させる数 uint 5 -
threadpool_idle_timeout 使用されなくなったスレッドを破棄するまでの時間(秒) uint 60 -
threadpool_max_size PjSIPが使用するスレッドの最大数(0は無制限) uint 0 -
disable_tcp_switch UDPからTCPへの自動切り替えを禁止するかどうか Bool n -
follow_early_media_fork - Bool yes -
accept_multiple_sdp_answers - Bool no -

AOR

type=aor

項目名 内容 種類 デフォルト 記述例
authenticate_qualify Qualifyに認証を使用するかどうか Bool no -
contact このAORのコンタクト Custom - -
default_expiration このAORを使用する動的コンタクトのexpire時間(秒) uint 3600 -
mailboxes 指定されたメールボックスへのSubscribeを許可 文字列 - -
max_contacts このAORに接続可能なコンタクト数 uint 0 -
maximum_expiration AORで保持される最大時間(秒) uint 7200 -
minimum_expiration AORの最小キープアライブ時間(秒) uint 60 -
outbound_proxy OPTIONSを送出する際に使用するプロキシ 文字列 - -
qualify_frequency Qualify間隔(秒) uint 0 -
qualify_timeout Qualifyのタイムアウト(秒) double 3.0 -
remove_existing 既存のコンタクトを新しいもので上書きするかどうか Bool no -
support_path REGISTERリクエストのPathサポートを有効にするかどうか Bool no -
voicemail_extension NOTIFYに含めるメールボックスexten Custom - -

AUTH

type=auth

項目名 内容 種類 デフォルト 記述例
auth_type 認証方式 Custom userpass auth_type=userpass
md5_cred 認証に使用するMD5ハッシュ 文字列 - -
nonce_lifetime 認証のnonce寿命時間 uint 32 -
password パスワード 文字列 - password=mypassword
realm エンドポイントのSIPレルム 文字列 - -
username ユーザ名 文字列 - username=myusername

CONTACT

DOMAIN_ALIAS

type=domain_alias

項目名 内容 種類 デフォルト 記述例
domain ドメインのエイリアス 文字列 - -

ENDPOINT

type=endpoint

項目名 内容 種類 デフォルト 記述例
100rel
accept_multiple_sdp_answers
accountcode
acl
aggregate_mwi
allow
allow_overlap
allow_subscribe
allow_transfer
aors
asymmetric_rtp_codec
auth
bind_rtp_to_media_address
call_group
callerid
callerid_privacy
callerid_tag
connected_line_method
contact_acl
context
cos_audio
cos_video
device_state_busy_at
direct_media
direct_media_glare_mitigation
direct_media_method
disable_direct_media_on_nat
dtls_ca_file
dtls_ca_path
dtls_cert_file
dtls_cipher
dtls_fingerprint
dtls_private_key
dtls_rekey
dtls_setup
dtls_verify
dtmf_mode
fax_detect
fax_detect_timeout
follow_early_media_fork
force_avp
force_rport
from_domain
from_user
g726_non_standard
ice_support
identify_by
inband_progress
incoming_mwi_mailbox
language
mailboxes
media_address
media_encryption
media_encryption_optimistic
media_use_received_transport
message_context
moh_suggest
mwi_from_user
mwi_subscribe_replaces_unsolicited
named_call_group
named_pickup_group
notify_early_inuse_ringing
one_touch_recording
outbound_auth
outbound_proxy
pickup_group
record_off_feature
record_on_feature
refer_blind_progress
rewrite_contact
rpid_immediate
rtcp_mux
rtp_engine
rtp_ipv6
rtp_keepalive
rtp_symmetric
rtp_timeout
rtp_timeout_hold
sdp_owner
sdp_session
send_diversion
send_pai
send_rpid
set_var
srtp_tag_32
sub_min_expiry
subscribe_context
suppress_q850_reason_headers
t38_udptl
t38_udptl_ec
t38_udptl_ipv6
t38_udptl_maxdatagram
t38_udptl_nat
timers
timers_min_se
timers_sess_expires
tone_zone
tos_audio
tos_video
transport
trust_id_inbound
trust_id_outbound
use_avpf
use_ptime
user_eq_phone
voicemail_extension

IDENTIFY(res_pjsip_endpoint_identifier_ip)

type=identify

項目名 内容 種類 デフォルト 記述例
endpoint 識別するエンドポイント名 文字列 -
match 一致させるIPアドレスまたはネットワーク Custom - match = 192.168.100.1
match_header 一致させるヘッダ/値のペア 文字列 - match_header = SIPHeader: 値
srv_lookups ホスト名解決にSRV参照を使用するかどうか Bool yes

REGISTRATION(res_pjsip_outbound_registration)

type=registration

項目名 内容 種類 デフォルト 記述例
auth_rejection_permanent 認証失敗時に恒久的失敗として扱う Bool yes
client_uri アウトバウンドレジスト時に使用するクライアントのSIP URI 文字列 -
contact_user リクエスト内のコンタクトユーザ 文字列 -
endpoint 着信時に使用するエンドポイント 文字列 -
expiration レジスタのExpire時間 uint 3600 expiration=3600
fatal_retry_interval Fatalレスポンスの場合のリトライ間隔(秒) uint 0
forbidden_retry_interval 403エラーの場合のリトライ間隔(秒) uint 0
line 着信時のcontactにlineを付加するかどうか Bool no
max_retries レジスタ試行回数 uint 10
server_uri レジスタ先のサーバURI 文字列 -
outbound_auth このレジスタの認証情報 文字列 - outbound_auth=セクション名
outbound_proxy レジスタ先のアウトバウンドproxyのFull SIP URI 文字列 -
retry_interval レジスタ失敗時の再試行間隔(秒) uint 60
support_path レジスタ時のPATHサポートの有効無効 Bool no
transport このReg.が使用するトランスポート 文字列 - trabsport=セクション名

TRANSPORT

type=transport
注意:transportの設定変更はモジュールのリロードでは反映されません。Asteriskを再起動する必要があります。

項目名 内容 種類 デフォルト 記述例
allow_reload
async_operations
bind このトランスポートがbindするアドレスとポート Custom - bind=0.0.0.0:5070
ca_list_file
ca_list_path
cert_file
cipher
cos
domain
external_media_address
external_signaling_address
external_signaling_port
local_net
method
password
priv_key_file
protocol このトランスポートが使用するプロトコル Custom udp protocol=udp
require_client_cert
symmetric_transport
tos
verify_client
verify_server
websocket_write_timeout

res_pjsip_config_wizard

ファイル: pjsip_wizard.conf