Asterisk 16で、ソフトフォンとの間をIAX2プロトコルによる通信に変更する

これまで、NetBSD/amd64 9上で動かしているpkgsrc/comms/asterisk16では、SIPソフトフォンとの間については、chan_sipによるSIPを利用していた。 しかし、既にchan_sipの利用は推奨されていないようだ。 後継となるPJSIPについては、既にひかり電話のためにNTT東日本から借りているホームゲートウェイに接続するのに利用していた。 3台のソフトフォンのうち、2台はZoiPerなので、IAX2を利用できる。 この分はIAX2にしてしまおう。

IAX2の設定は、iax.confに記載すれば良い。 chan_sipと似た感じで記入でき、簡単である。

[general]
match_auth_username=yes
iaxcompact=yes
allow=all

; 電話機との接続
[user1] ; Android smartphone
type=friend
username=user1
secret=user1_password1
context=default
canreinvite=no
host=dynamic
qualify=no

[user2] ; Zoiper for Windows
type=friend
username=user2
secret=user2_password2
context=default
canreinvite=no
host=dynamic
qualify=no

extensions.confでも、IAX2を使って着信させるための通信をするのを指定する。

[default]
;include => stdexten

; 着信
;; 内線
exten => 1290,1,Playback(demo-congrats) ; 動作チェック用
exten => 101,1,Dial(IAX2/user1,20,rt)
exten => 103,1,Dial(IAX2/user2,20,rt)

;; 外線
exten => 55863768,1,Dial(IAX2/user1&IAX2/user1,20,rt)
exten => 53077771,1,Dial(IAX2/user1&IAX2/user2,20,rt)
exten => s,1,Dial(IAX2/user1)


; 発信
;; 1回線目のFusion SMARTalkの場合には9で発信する。
exten => _9.,1,NoOp(Fusion発信9)
exten => _9.,n,Set(CALLERID(num)=${MYNUMBER})
exten => _9.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _9.,n,Dial(PJSIP/${EXTEN:1}@fusion1,120,T)
exten => _9.,n,Hangup()

;; 2回線目のFusion SMARTalkの場合には8で発信する。
exten => _8.,1,NoOp(Fusion発信8)
exten => _8.,n,Set(CALLERID(num)=${MYNUMBER})
exten => _8.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _8.,n,Dial(PJSIP/${EXTEN:1}@fusion2,120,T)
exten => _9.,n,Hangup()

;; ひかり電話の場合には7で発信する。
exten => _7.,1,NoOp(ひかり電話で発信7)
exten => _7.,n,Set(CALLERID(num)=${MYNUMBER})
exten => _7.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _7.,n,Dial(PJSIP/${EXTEN:1}@hikari-trunk)
exten => _7.,n,Hangup()

sip.confpjsip.confの内容は、前回と大差はない。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Asterisk 16で、ソフトフォンとの間をPJSIPによる通信に変更する

Asteriskに接続している一部のクライアントはIAX2で通信するようにしたのだが、 もう1台はZoiPerではなく baresip+ を使っているので、 IAX2にすることはできない。 そこで、この端末についてもchan_sipではなくPJSIPに乗り換える...