「Asterisk pjsip parameters」の版間の差分
(→凡例) |
(→凡例) |
||
40行目: | 40行目: | ||
"Alice"という名前のエンドポイントのセクションという意味になります。 | "Alice"という名前のエンドポイントのセクションという意味になります。 | ||
==凡例== | ==凡例== | ||
− | Custom:指定に制限のある文字列。CODEC指定等でulaw, | + | Custom:指定に制限のある文字列。CODEC指定等でulaw,alawとか決まったワードやフレーズしか指定できないもの。<br> |
− | + | String:任意の文字列<br> | |
− | + | uint,double: 数値を指定するもの。カッコ内で単位が書いてあるものはその単位。<br> | |
− | + | Bool:yes/no指定しかできないかy/n指定しかできないもの。<br> | |
− | Bool:yes/no指定しかできないかy/ | ||
==GLOBAL== | ==GLOBAL== |
2023年11月10日 (金) 17:28時点における版
目次
全般的な注意
省略時のデフォルトが明確でない部分もあるので注意してください。安全のためには明示指定すべきです。
例えば、いくつかのセクションで 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が定義されているので、省略時にはこれが用いられます。
各セクションのパラメータ
各セクションはtype=で区別されます。例えば[global]はセクション名ですが、type=globalを指定する必要があります。globalやsystemの設定はそのままセクションにglobal,systemと書くのが良いでしょう。
エンドポイントやAOR等はそれぞれの名前を使いますので例えば次のようなケースは
[Alice] type=endpoint
"Alice"という名前のエンドポイントのセクションという意味になります。
凡例
Custom:指定に制限のある文字列。CODEC指定等でulaw,alawとか決まったワードやフレーズしか指定できないもの。
String:任意の文字列
uint,double: 数値を指定するもの。カッコ内で単位が書いてあるものはその単位。
Bool:yes/no指定しかできないかy/n指定しかできないもの。
GLOBAL
[grobal]
グローバル設定
type=global
項目名 | 内容 | 種類 | デフォルト | 記述例 |
---|---|---|---|---|
max_forwards | SIPのMAXFORWARDERS値 | uint | 70 | - |
user_agent | SIPのUA名 | 文字列 | Asterisk PBX {Version} | - |
default_outbound_endpoint | デフォルトで使用するエンドポイント(発信) | 文字列 | - | - |
keep_alive_interval | コネクション型で使用されるキープアライブ | 数値(秒) | 90 | - |
contact_expiration_check_interval | 期限切れコンタクトを無効にするまでの時間 | 数値(秒) | 30 | - |
disable_multi_domain | マルチドメインのサポートを無効化する | yes/no | no | - |
endpoint_identifier_order | エンドポイントの判定順序 | カンマ区切り文字列 | ip,username,anonymous,header,auth_username | - |
debug | デバッグ設定(nまたはIPアドレス) | 文字列 | n | - |
max_initial_qualify_time | 起動から初期Qualify(全AOR)までの秒数 | 数値(秒) | 4 | - |
regcontext | レジストしてくるエンドポイントにPriority 1のNoOpをエンドポイント名で作成するcontextを指定 | 文字列 | なし | - |
default_voicemail_extension | AORで指定されていない場合にNOTIFYで使用されるボイスメールのexten | 文字列 | なし | - |
unidentified_request_count | あるIPアドレスからの未識別のリクエストを何回まで許容するか | 数値(回数) | 5 | - |
unidentified_request_period | 未識別のリクエストを許容する間隔 | 数値(秒数) | 5 | - |
unidentified_request_prune_interval | 未識別のリクエストを隔離する間隔 | 数値 | - | - |
default_from_user | デフォルトのFromユーザ名 | 文字列 | asterisk | - |
default_realm | デフォルトのrealm | 文字列 | asterisk | - |
mwi_tps_queue_high | - | 数値 | - | - |
mwi_tps_queue_low | - | 数値 | -1 | - |
mwi_disable_initial_unsolicited | - | yes/no | - | - |
ignore_uri_user_options | SIP URIのuser=を無視するかどうか | yes/no | - | - |
send_contact_status_on_update_registration | デバイスがレジストを更新した際にAMIイベントを送出するかどうか | yes/no | no | - |
taskprocessor_overload_trigge | タスクプロセッサの過負荷検出要因 | global,pjsip_only,none | global | - |
norefersub | norefersubを送出するかどうか | yes/no | yes | - |
all_codecs_on_empty_reinvite | - | yes/no | no | - |
allow_sending_180_after_183 | 183の後に180を送るかどうか | yes/no | no | - |
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 | - |
disable_rport | rportを無効にするかどうか | yes/no | no | - |
ACL(res_pjsip_acl)
type=acl
項目名 | 内容 | 種類 | デフォルト | 記述例 |
---|---|---|---|---|
acl | acl.conf内の名前付ACL名 | Custom | - | - |
contact_acl | acl.conf内のContact名前付ACL | Custom | - | - |
contact_deny | 拒否するSIPヘッダ内のContact | Custom | - | - |
contact_permit | 許可するSIPヘッダ内のContact | Custom | - | - |
deny | 拒否するIPアドレス | Custom | - | deny=192.168.1.0/24 deny=0.0.0.0/0.0.0.0 |
permit | 許可するIPアドレス | Custom | - | permit=192.168.2.0/24 permit=192.168.2.1,192.168.2.2 |
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 | - |
remove_unavailable | - | yes/no | 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 | RFC3262を許可 | yes/no | yes | - |
aggregate_mwi | MWIの通知をひとつのNOTIFYにまとめる | yes/no | yes | - |
allow | 使用を許可するCODEC | Custom | - | allow=ulaw |
allow_overlap | RFC3578オーバーラップダイヤルを有効化 | yes/no | yes | - |
aors | このエンドポイントで使用するAOR(s) | 文字列 | - | - |
auth | このエンドポイントの認証情報のセクション名 | 文字列 | - | - |
callerid | このエンドポイントのCID | 文字列 | - | - |
callerid_privacy | デフォルトのプライバシーレベル | Custom | allowed_not_screend | - |
callerid_tag | このエンドポイントの内部id_tag | 文字列 | - | - |
context | 着信時のダイヤルプランcontext名 | 文字列 | default | - |
direct_media_glare_mitigation | 再INVITEグレア時のダイレクトメディア緩和 | Custom | none | - |
direct_media_method | ダイレクトメディアのメソッド | Custom | invite | - |
trust_connected_line | コネクテッドラインの更新を受け入れる | yes/no | yes | - |
send_connected_line | コネクテッドラインの更新を送出する | yes/no | yes | - |
connected_line_method | コネクテッドラインのメソッド | Custom | invite | - |
direct_media | ダイレクトメディアを使用するか | yes/no | yes | - |
disable_direct_media_on_nat | NAT時にダイレクトメディアを無効化するかどうか | yes/no | no | - |
disallow | 使用を禁止するCODEC | Custom | - | disallow=ulaw |
dtmf_mode | DTMFモード | Custom | rfc4733 | - |
media_address | SDPのメディアハンドリングで使用するIPアドレス | Custom | - | - |
bind_rtp_to_media_address | RTPセッションをmedia_addressで指定したアドレスで行うかどうか | yes/no | no | - |
force_rport | リターンポートを強制使用する | yes/no | yes | - |
ice_support | NAT時にICEを使用するかどうか | yes/no | no | - |
identify_by | このエンドポイント識別に使用する情報をカンマ区切りれ列挙 | Custom | "username,ip" | - |
redirect_method | リダイレクト時のメソッド | Custom | user | - |
mailboxes | 指定されたメールボックスが更新されたらNOTIFYを送る | 文字列 | - | - |
voicemail_extension | NOTIFY内で送るメールボックスの内線番号 | 文字列 | - | - |
mwi_subscribe_replaces_unsolicited | 要求されていないNOTIFYをMWIサブスクライブで置換 | yes/no | no | - |
moh_suggest | デフォルトのMOHクラス | 文字列 | default | - |
moh_passthrough | - | yes/no | yes | - |
outbound_auth | 発信時に使用する認証情報 | 文字列 | - | - |
outbound_proxy | アウトバウンドプロキシの指定.フルURIで記述 | 文字列 | - | - |
rewrite_contact | ContactヘッダをソースIPアドレスとポートでリライトするかどうか | yes/no | no | - |
rtp_symmetric | RTPを対称にするかどうか | yes/no | no | - |
send_diversion | Diversionヘッダを送出するかどうか | yes/no | yes | - |
send_pai | PAIヘッダを送出するかどうか | yes/no | no | - |
send_rpid | RPIヘッダを送出するかどうか | yes/no | no | - |
rpid_immediate | 着信中(非応答)の呼にコネクテッドライン情報を送出するかどうか | yes/no | no | - |
timers_min_se | セッションタイマーの寿命最小値 | 数値 | 90 | - |
timers | セッションタイマーを使用するかどうか | yes/no | yes | - |
timers_sess_expires | セッションタイマーの寿命最大値 | 数値 | 1800 | - |
transport | このエンドポイントで使用するトランスポートの明示指定 | 文字列 | - | - |
trust_id_inbound | このエンドポイントで識別情報を受け取る | yes/no | no | - |
trust_id_outbound | このエンドポイントの識別情報を送出する | yes/no | no | - |
use_ptime | エンドポイントのsリクエストのパケット化間隔 | ? | no | - |
use_avpf | このエンドポイントでAVPFを使う | yes/no | no | - |
media_encryption | メディアの暗号化を行う | yes/no | no | - |
media_encryption_optimistic | このメディアの暗号化を行うが失敗しても失敗として扱わない | yes/no | no | - |
g726_non_standard | 標準ではないG.726を使う | yes/no | no | - |
inband_progress | インバンドプログレス(リンギング)を使う | yes/no | no | - |
call_group | ピックアップグループの番号 | 数値 | - | - |
pickup_group | ピックアップ可能なピックアップグループの番号 | 数値 | - | - |
named_call_group | ピックアップグループの名前 | 文字列 | - | - |
named_pickup_group | ピックアップ可能なピックアップグループの名前 | 文字列 | - | - |
device_state_busy_at | 使用中のチャネル数がこの数に達するとデバイスステータスでBUSYを返す | 数値 | 0(無制限) | - |
t38_udptl | T.38 UDPTLを使用するかどうか | yes/no | no | - |
t38_udptl_ec | T.38 UDPTLのエラー修正方法 | Custom | none | - |
t38_udptl_maxdatagram | T.38 UDPTLの最大データグラムサイズ | 数値 | 0 | - |
fax_detect | CNGトーン検出を行うか | yes/no | no | - |
fax_detect_timeout | fax_detect実行の無効化までの時間(秒数) | 数値(秒数) | 0 | - |
t38_udptl_nat | UDPTLセッションでのNATの使用 | yes/no | no | - |
t38_bind_rtp_to_media_address | UDPTLセッションをこのメディアアドレスで使用する | Custom | no | - |
tone_zone | チャンネルが使用するトーンゾーン(国) | Custom | - | - |
language | このエンドポイントの言語 | Custom | - | - |
one_touch_recording | ワンタッチ録音を許可するかどうか | yes/no | no | - |
record_on_feature | ワンタッチ録音開始時に使う機能 | Custom | automixmon | - |
record_off_feature | ワンタッチ録音終了時に使う機能 | Custom | automixmon | - |
rtp_engine | チャンネルで使用するRTPエンジン | Custom | asterisk | - |
allow_transfer | SIP REFERでの転送を許可するかどうか | yes/no | yes | - |
sdp_owner | SDPのusername部分を指定する文字列 | 文字列 | """-""(-の文字)" | - |
sdp_session | SDPのセッションs行で使用する文字列 | 文字列 | Asterisk | - |
tos_audio | オーディオストリームのDSCP TOSビット | 数値 | 0 | - |
tos_video | ビデオストリームのDSCP TOSビット | 数値 | 0 | - |
cos_audio | オーディオストリームの優先度 | 数値 | 0 | - |
cos_video | ビデオストリームの優先度 | 数値 | 0 | - |
allow_subscribe | エンドポイントのsubscribeを許可 | yes/no | yes | - |
sub_min_expiry | subscribeの最短寿命時間 | 数値 | 0 | - |
from_user | このエンドポイントに使用されるFromヘッダのユーザ名 | 文字列 | - | - |
mwi_from_user | MWIのNOTIFYで使われるFromのユーザ | 文字列 | - | - |
from_domain | このエンドポイントに使用されるドメイン | 文字列 | - | - |
dtls_verify | ピアの認証証書を確認するかどうか | yes/no | no | - |
dtls_rekey | TLSセッションとrekeyの再ネゴシエーション間隔 | 数字 | 0 | - |
dtls_auto_generate_cert | 一時的DTLS認証証書の生成を有効にするかどうか | yes/no | no | - |
dtls_cert_file | 認証証書のパス | パス文字列 | - | - |
dtls_private_key | 認証証書のプライベートキーのパス | パス文字列 | - | - |
dtls_cipher | DTLSネゴシエーションで使用する暗号化方式 | Custom | - | - |
dtls_ca_file | CA証書へのパス | パス文字列 | - | - |
dtls_ca_path | CAファイルを含むディレクトリへのパス | パス文字列 | - | - |
dtls_setup | DTLS接続の方向 | Custom | - | - |
dtls_fingerprint | SDPに入れるフィンガープリントに使用するハッシュ | Cuatom | (SHA-256) | - |
srtp_tag_32 | 80バイトではなく32バイトタグを使うかどうか | yes/no | no | - |
set_var | チャンネルが生成された際に設定するチャネル変数.複数のset_varを列挙することで複数の変数を設定できる | 文字列 | - | - |
rtp_keepalive | RTPが流れていない場合にコンフォートノイズのRTPを流す間隔 | 数値(秒数) | 0 | - |
rtp_timeout | RTPが受信されない場合にハングアップするまでの秒数 | 数値(秒数) | 0(無効) | - |
rtp_timeout_hold | 保留中にRTPが受信されない場合にハングアップするまでの秒数 | 数値(秒数) | 0(無効) | - |
contact_user | このエンドポイントから発信する際のContactヘッダを指定 | 文字列 | - | - |
incoming_call_offer_pref | SDPのCODECオファー順序(着) | Custom | local | - |
outgoing_call_offer_pref | SDPのCODECオファー順序(発) | Custom | remote_merge | - |
preferred_codec_only | 優先CODECのみ使用 | yes/no | no | - |
asymmetric_rtp_codec | RTPのCODECを非対称で使用するかどうか | yes/no | no | - |
refer_blind_progress | "ブラインド転送時に詳細な情報を送出(Mitel,Aastra,Snomではnoに設定)" | yes/no | yes | - |
notify_early_inuse_ringing | dialog-infoのearlyでINUSEとRINGINGを通知 | yes/no | no | - |
max_audio_streams | オーディオストリームの最大値 | 数値 | 1 | - |
max_video_streams | ビデオストリームの最大値 | 数値 | 1 | - |
webrtc | "yes'に設定すると以下の値を設定する.media_encryptions=dtls.dtls_verify=fingerprint,dtls_setup=actpass.dtls_cert_fileとdtls_ca_fileは明示指定する必要あり." | yes/no | no | - |
incoming_mwi_mailbox | 入りのMWI NOTIFYのメールボックス名 | 文字列 | - | - |
follow_early_media_fork | - | yes/no | yes | - |
accept_multiple_sdp_answers | 発信時にUASが前回とは異なるSDP属性で応答するのを許容するかどうか | yes/no | no | - |
suppress_q850_reason_headers | Q.850ヘッダを抑止するかどうか | yes/no | no | - |
ignore_183_without_sdp | SDPを含まない183を転送しない | yes/no | no | - |
stir_shaken | STIR/SHAKENを行う | yes/no | no | - |
stir_shaken_profile | stir_shaken.confで指定されたプロファイルを記述する | Custom | - | - |
allow_unauthenticated_options | 認証なしのOPTIONSを受け入れる | yes/no | no | - |
geoloc_incoming_call_profile | 着信時のジオロケーションプロファイル | Custom | - | - |
geoloc_outgoing_call_profile | 発信時のジオロケーションプロファイル | Custom | - | - |
send_aoc | AOCを送出するかどうか | yes/no | no | - |
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 | 着信時に使用するエンドポイント | 文字列 | - | line=yes時にしか使えないので注意 |
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の設定変更は通常、res_pjsip.soモジュールのリロードでは反映されません。Asteriskを再起動する必要があります。res_pjsipのリロードでtransportもリロードするにはallow_reload = yesを設定する必要があります。
項目名 | 内容 | 種類 | デフォルト | 記述例 | |
---|---|---|---|---|---|
allow_reload | res_pjsipをリロードした際にtransportもリロードするかどうか | Bool | no | - | |
async_operations | 非同期動作の同時実行数 | uint | 1 | - | |
bind | このトランスポートがbindするアドレスとポート | Custom | - | bind=0.0.0.0:5070 | |
ca_list_file | 読み込む認証証書のリストが入っているファイル(TLSのみWSSは非対象) | 文字列 | - | - | |
ca_list_path | 読み込む認証証書のリストが入っているファイルへのパス(TLSのみWSSは非対象) | 文字列 | - | - | |
cert_file | エンドポイントの認証証書(TLSのみWSSは非対象) | 文字列 | - | - | |
cipher | 優先する暗号化方式(TLSのみWSSは非対象) | 文字列 | - | - | |
cos | COS値 | uint | 0 | - | |
domain | "入り"方向のドメイン | 文字列 | - | - | |
external_media_address | RTPを扱う際の外部IPアドレス | 文字列 | - | - | |
external_signaling_address | SIPを扱う際の外部IPアドレス | 文字列 | - | - | |
external_signaling_port | SIPの外部ポート番号 | uint | 0 | - | |
local_net | NATを使用する場合にローカルとして扱うアドレス | Custom | - | - | |
method | SSLトランスポートのメソッド | Custom | - | - | |
password | トランスポートに必要とされるパスワード | 文字列 | - | - | |
priv_key_file | プライベートキーファイル(TLSのみWSSは非対象) | Custom | - | - | |
protocol | このトランスポートが使用するプロトコル(TLSのみWSSは非対象) | Custom | udp | protocol=udp | |
require_client_cert | クライアント認証証書が必要(TLSのみWSSは非対象) | Custom | - | - | |
symmetric_transport | 入出力双方で同じトランポートを使用するかどうか | Bool | no | - | |
tos | TOS値 | Custom | 0 | - | - |
verify_client | クライアント認証証書の確認が必要(TLSのみWSSは非対象) | Custom | - | - | |
verify_server | サーバ認証証書の確認が必要(TLSのみWSSは非対象) | Custom | - | - | |
websocket_write_timeout | WebSocket接続のタイムアウト(ミリ秒) | 100 | - | - |
res_pjsip_config_wizard
ファイル: pjsip_wizard.conf