Asteriskでブラステルの留守番電話

Asteriskで050 Freeに留守電を付ける(http://www.majishini.net/wp/?p=1019)を参考にしたが、うまくいかないので、試行錯誤。
ウェブでは、情報が新旧ごちゃごちゃでよくわからん。
今回の試用は、GMOクラウドのAltus Basicでubuntu 18.04の, Asterisk 13.18.3。
# cd /etc/asterisk
# mv asterisk.conf asterisk.conf.save
# vi asterisk.conf
langageprefex = yesをコメントアウト
defaultlanguage = enをjaに変更して、コメントアウト

# mv sip.conf sip.conf.save
# vi sip.conf
[general]
allowguest=no
disallow=all
allow=ulaw
allow=gsm
localnet=xxx.xxx.xxx.0/21; Altus クラウドのスタティックNATのため
externaddr=xxx.xxx.xxx.xxx
nat=auto_force_rport,auto_comedia
; Register
register => userid:password@softphone.spc.brastel.ne.jp/bbb
[brastel]
type=peer
context=brastel
host=softphone.spc.brastel.ne.jp

着信だけなので、registerしておくと、セクションの設定では、ユーザIDやパスワードの記載は不要。
canreinviteは、directmediaに変わっている。

# mv extentions.conf extentionsconf.save
# vi extensions.conf
[brastel]
exten => bbb,1,Ringing()
same => n,Wait(30)
same => n,Set(vmbox=taro)
same => n,Goto(200,entry)
same => n,Hangup()
exten => 200,1,Ringing()
same => n,Set(vmbox=test)
same => n(entry),Answer(500)
same => n,Voicemail(${num})
same => n,Hangup()
Gotoで本体と分けると、テストや複数回線に便利。
Asnswerは必要ないが、ウエイト付で入れたほうが、vm音声の出だしがスムース。
この例では、Voicemailの番号が数字ではないので、電話では操作できない。音声ファイルは定期的に削除する必要がある。

# vm voicemail.conf voicemail.conf.save
# vi voicemail.conf
[general]
format=wav49
serveremail=asterisk
attach=yes
maxmsg=9999
maxsecs=300
maxsilence=10
silencethreshhold=128

[default]
test => 1234,test , test@domain.com ,,tz=japan
taro => 1234,taro , taro@domain.com ,,tz=japan
空フィールドは、添付なしのショートメールのあて先

# systemctl restart asterisk
# asterisk -V ; バージョン表示。
# asterisk -rvvv
> sip show registry
> rtp set debug on
> quit
電話に出ないと、asteriskが留守番電話対応し、メールする。
/var/spool/asterisk/voicemail/default/*/INBOXにヴォイスメールファイルができる。

電話をかけて確認したとき、RTPがプライベートIPに送信して、音声が通じないことがある。
NATのトラブルだが、ブラステルのサーバ設定の問題なので、
https://www.brastel.com/eng/myaccountでマイアカウントにログインして、パスワードをリセットする。
asteriskの応答に成功しても、電話の通信がうまくいかないこともある。
エコーバックテストは、ブラステルの050-6868-0000。

コメント