Asterisk pjsip

提供: VoIP-Info.jp
2018年10月23日 (火) 11:54時点におけるTakahashi (トーク | 投稿記録)による版 (グローバル設定)
移動先: 案内検索


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