RasPi2 Asterisk 050plus 収容

asteriskに050plusを収容するには、先日記載したページで取得したID/PASSWORDが必要です。

050plusの通信はsrtpを使っているので、鍵の設定も必要です。

このサイトがわかりやすくて良かったです。

 

鍵の生成

$ sudo mkdir /etc/asterisk/keys
$ cd /etc/asterisk/keys
$ sudo ~/src/asterisk-1.8.32.3/contrib/scripts/ast_tls_cert \
 -C domain.com -O "My PBX" -d .
$ sudo ~/src/asterisk-1.8.32.3/contrib/scripts/ast_tls_cert \
 -m client -c ca.crt -k ca.key -C domain.com -O "My PBX" -d . -o 050plus

sip.conf

;050plus
maxexpirey=3600
defaultexpirey=3600
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscafile=/etc/asterisk/keys/ca.crt
tlscipher=ALL
tlsclientmethod=tlsv1
tlsdontverifyserver=yes
register = tls://[nicNm]:[sipPwd]:[sipID]@[tramGwAd]:[Port]/5075/200 ;← SIP番号の200を050plusに当てました。

[050plus]
type=friend
secret=[sipPwd]
port=5075
defaultuser=[sipID]
fromuser=[nicNm]
host=[tranGwAd]
fromdomain=050plus.com
context=default
insecure=invite,port
dtmfmode=inband
canreinvite=no
disallow=all
allow=ulaw
allowguest=no
callgroup=1
transport=tls
encryption=yes
nat=yes

のような記述になりますが、全て記述しているわけではありません。

extensions.conf

[default]
; 050plus 着信
exten => 200,1,Dial(SIP/201&SIP/202) ;← 内線201、202のみ着信を受ける。
exten => 200,n,Hangup()

; 発信
exten => .,1,Set(Language()=ja)
exten => _2.,1,Goto(naisen,${EXTEN},1)
; 050plus 発信
exten => _0.,1,Goto(outgoing,${EXTEN},1)
exten => _X.,n,Playback(privacy-incorrect)
exten => _X.,n,Hangup()

[naisen]
exten => _X.,1,NoOp(${CALLERID})
exten => _X.,n,GotoIf($["${EXTEN:0:1}" = "8"]?parkedcall)
exten => _X.,n,GotoIf($["${EXTEN:0:1}" = "9"]?voicemail)
exten => _X.,n,GotoIf($["${EXTEN:2:4}" = "99"]?groupcall)

[outgoing]
exten => _[*#0-9].,1,Dial(SIP/${EXTEN}@050plus,30,r)
exten => _[*#0-9].,n,Congestion
exten => _[*#0-9].,n,Hangup()

;/** to ParkedCall
exten => _X.,n(parkedcall),NoOp(${CALLERID})
include => parkedcalls
exten => _X.,n,ParkedCall(${EXTEN})
exten => _X.,n,Playback(pbx-invalid)
exten => _X.,n,Hangup()

;/** to VoiceMail
exten => _X.,n(voicemail),NoOp(${CALLERID})
exten => _X.,n,VoicemailMain(${CALLERID(num)},s)
exten => _X.,n,Hangup()

;/** error - busy
exten => _X.,n(busy),NoOp("---Calling but -BUSY---")
exten => _X.,n,Voicemail(${EXTEN})
exten => _X.,n,Hangup()

;/** error - noanswer
exten => _X.,n(noanswer),NoOp("---Calling but -NOAWNSER---")
exten => _X.,n,Voicemail(${EXTEN})
exten => _X.,n,Hangup()

extensions.confは理解するまで難しいですね。
このまま記述しても動かないと思います。
詳細は、vo-ip infoを見るといいでしょう。

気が向けば、自分なりに理解したsip.confとextensions.confの解説を書いてみたいと思う。

050plus接続確認

*CLI> sip show registry
Host                                    dnsmgr Username       Refresh State                Reg.Time
kar2-f2fcp.050plus.com:5075             N      fmc00000000       3585 Registered           Sat, 25 Apr 2015 15:39:30

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA