Asterisk 20 サンプル設定ファイル 解説 pjsip
PJSIPの設定は基本がpjsip.confですが可読性を上げるため複数のファイルに分けて#includeしています。
PJSIPの各種パラーメータは [Asterisk_pjsip_parameters] を参照してください。
pjsip.conf
[system] type = system disable_rport = yes [transport-udp] type = transport protocol = udp bind = 0.0.0.0:5070 local_net = 192.168.0.0/16 [acl] type=acl deny=0.0.0.0/0.0.0.0 permit=192.168.0.0/16 ;ITSP/IP電話によってはpermitを指定する必要あり ;SIPメッセージ上で『見える』IPアドレスに注意 ;ブラウザフォン用トランスポート(Websocket) ;使う場合にはコメントを外す ;#include "pjsip_wsstransport.conf" ;外線接続用例 ;#include "pjsip_trunk_hgw.conf" ;#include "pjsip_trunk_hikari-rtx.conf"
pjsip.conf には基本の設定を記述しています。トランスポートは基本はUDPでポートを5070としています。SIPのデフォルトである5060ではなく5070な点に注意してください。
外線接続時はACLの設定に注意してください。ACLで引っ掛かるとCLIに出ますのでメッセージを確認し所定のアドレスに許可を与えるようにします。
WSS(Websocket)トランスポートはブラウザフォン用です。使用する場合にはコメントを外します。
pjsip_wizard.conf
電話機の収容設定はpjsip_wizard.confで行っています。ただしサンプル設定ファイルのセットではpjsip_wizard.confはスクリプト、pj_phonegen.shで生成できるようにしてあります。
電話機の基本設定は共通部分はテンプレート化してあります。
;電話機用テンプレート(共通設定) [phone-defaults](!) type=wizard transport = transport-udp accepts_registrations = yes sends_registrations = no accepts_auth = yes sends_auth = no endpoint/context = default endpoint/dtmf_mode = rfc4733 endpoint/call_group = 1 endpoint/pickup_group = 1 endpoint/language = ja endpoint/disallow = all endpoint/allow = ulaw endpoint/rtp_symmetric = yes endpoint/force_rport = yes endpoint/direct_media = no endpoint/send_pai = yes endpoint/send_rpid = yes endpoint/rewrite_contact = yes endpoint/inband_progress = yes endpoint/allow_subscribe = yes aor/max_contacts = 2 aor/qualify_frequency = 30 aor/authenticate_qualify = no aor/remove_existing = yes
各パラーメータの意味と内容は [Asterisk_pjsip_parameters] を参照してください。スラッシュ(/)で区切られているものはそれぞれのセクションに記述すべき内容のことで、例えば endpoint/context= は endpoint セクションに書く context= の意味です。テンプレートは普通の電話機用とブラウザフォン用の2つが用意されています。
各電話機部分は基本、認証情報のみです。
[phone1](phone-defaults) inbound_auth/username = phone1 inbound_auth/password = f0064c965a91e513fec766ac0d658ed8
phone1はテンプレートにphone-defaultsを使用し、認証情報はusernameとpasswordで行います。
参考:電話機に対してQualifyした際に認証エラーが出る場合(GS電話機など)には電話機に対して認証付きでQualifyを投げます。その際の認証情報は以下のように記述します。
[phone1](phone-defaults) inbound_auth/username = phone1 inbound_auth/password = f0064c965a91e513fec766ac0d658ed8 outbound_auth/username = phone1 outbound_auth/password = f0064c965a91e513fec766ac0d658ed8
outbound_authも入れるようにシェルスクリプトを修正するのもアリです。