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