Asterisk pjsip
提供: VoIP-Info.jp
AsiteriskでチャネルにPjSIPを使用する際の設定方法など
コンパイル
Asterisk 13以前ではpjprojectを別個インストールするか、configureに--with-pjproject-bundledを付けて実行する必要がありましたが、Asterisk 16からはデフォルトでbundledインストールされるようになりました。
各バージョン毎のインストール方法についてはAsteriskのそれぞれのページを参照してください。
Asterisk 13
Asterisk 16
基本設定
グローバル設定
pjsip.confに書きます。基本で必要なものは以下です。
[general] maxexpirey = 3600 [transport-udp] type = transport protocol = udp bind = 0.0.0.0:5070
sip.confに書いていたものと同じですが、トランスポートはセクションで明示指定します。上の例では5070ポートにbindさせていますが、5060を使用する場合にはここを5060にします。
なお、他の設定ファイル同様に#includeは使えます。なので、電話機と回線は別ファイルにした方が見通しは良いかも。
Wizardおよびテンプレート(!)も使えます。
ACL
ACLの例は次の通りです。
[acl] type=acl deny=0.0.0.0/0.0.0.0 permit=192.168.0.0/255.255.0.0
※deny,permitはこの順でないとpermitしてdenyしてしまう模様で、逆に書くと誰も使えなくなります。
エンドポイント(電話機)
エンドポイントを設定する場合にはセクションが3つ必要です。エンドポイントそれ自体とaor,authの3つです。
[phone1] type = aor max_contacts = 1 qualify_frequency = 30 authenticate_qualify = no [phone1] type = auth username = phone3 password = mysecretpassword [phone1] type = endpoint context = default transport=transport-udp dtmf_mode = rfc4733 disallow = all allow = ulaw allow = alaw rtp_symmetric = yes force_rport = yes rewrite_contact = yes direct_media = no send_pai = yes inband_progress = yes call_group = 1 pickup_group = 1 language = ja device_state_busy_at = 1 auth = phone1 outbound_auth = phone1 aors = phone1