はじめに
前世代のクラシックVMでの構築は文献がいくつかあったのですが、現行のARMになってからの文献が無かったのでいろいろ調べてみました。
基本的には・・・
AzureでLinuxのVMをデプロイして
AWS上にAsteriskサーバ構築して内線電話環境つくってみよう
の記事の通りにすれば稼働します。
Azure特有の設定としてネットワークセキュリティーグループの受信セキュリティ規則に以下の2つの設定をします。
- UDP 5060
- UDP 10000-20000 (rtp.confを変えた場合はそのポート)
問題
上のリンク先でも書かれていますが、コールはされても音声が聞こえません。
(原因は本投稿と同じかどうかは不明ですが・・・)
解決策
sip.confの[general]に以下の2行を追加します。
externip=VMのパブリックIP (e.g. 10.12.34.56)
localnet=10.0.0.8/255.255.255.0
sip.conf
[general]
context=default
port=5060
bindaddr=0.0.0.0
language=ja
externip=10.12.34.56
localnet=10.0.0.8/255.255.255.0
[201]
type=friend
defaultuser=201
secret=pass
host=dynamic
canreinvite=no
[202]
type=friend
defaultuser=202
secret=pass
host=dynamic
canreinvite=no
[203]
type=friend
defaultuser=203
secret=pass
host=dynamic
canreinvite=no
これで聞こえるようになりました。
パブリックIP部分はDNS名では名前解決されないようでしたので、VMのIPは固定にする必要がありそうです。