AsteriskからTwilioを経由してPSTN網にアクセスしてみよう!第2回
こんにちは、永遠の半人前エンジニア うえピーです。
今回は、Asterisk&Twilioで、私の予想通りすぐに、PSTN網にアクセスして、発着信できるのか検証してみたいと思います!
今回のゴールは、
- ・私の社内携帯に、Asteriskにレジストしたスマホアプリから発信
- ・社内携帯からそのスマホアプリに着信
です。
AsteriskからTwilioに接続する方法は、いくつかあるのですが、
今回は、”エラスティックSIPトランク”を使ってみたいと思います。
まず、Twilioのマニュアルを参照した感じですと、作業ステップは以下です。
- (Twilioにて)電話番号を取得
- (Twilioにて)エラスティックSIPトランクを作成
- (Asteriskにて)スマホアプリ用の内線及びキューを作成
- (Asteriskにて)SIPトランク及び、着信ルート、発信ルートを作成
- (スマホアプリにて)Asteriskにレジスト
また、前提条件は、以下の通りです。
- ・Asteriskの設定は、GUIで簡単に行なうため、FreePBXを使う
- ・Twilioのアカウントは取得済み
※Asteriskや、Twilioの基本用語は、ある程度おさえている前提で、書かせていただいていることはご容赦下さい。
では、早速、検証開始。
1. (Twilioにて)電話番号を取得
2.(Twilioにて)エラスティックSIPトランクを作成
続いて、発信用のTerminationを作成&認証用のIPアクセスコントロールリスト、クレデンシャルリストを作成しましょう。
3.(Asteriskにて)スマホアプリ用の内線及びキューを作成
それでは、スマホアプリ用の内線作っちゃいます。
※注意点は、Asteriskと内線(スマホ)が別ネットワークになるのて、NATの設定をYesにすることと、Qualify(生きてますよ通知)もYesにすることです。
続いて、キューを作成します。設定した内線はすべて鳴らすことにしておくかな。あと、内線も複数設定と。
※もし、着信時、複数の内線を鳴らす予定がなければ作成しなくてもOK。今回は、ちょっとでもIP-PBXらしさを出すため作ります。
4.(Asteriskにて)SIPトランク及び、着信ルート、発信ルートを作成
まずは、SIPトランクを作成。ポイントは、電話番号に国コードを含めることです。
あとは、ここがかなり重要ポイントですが、Dialed Number Mainpulation Rulesにて、発信時入力した先頭の0を+81に自動で変換するようにしておくと
発信時、わざわざ+81を入力しなくてよいので使い勝手がよくなります。
ここが1番重要です。Twilioにて作成したTermination、認証用のIPアクセスコントロールリスト、クレデンシャルリストを発信用のOutgoinに設定します。
※たったこれだけの入力でOK!
ここも重要。着信用のIncomingの設定です。ポイントは、日本のTwilioサーバーのIPアドレスをhostに指定することです。
続いて、発信ルートを作成します。ポイントは、スマホ側では、070xxxxxxxxとみたいな感じで相手先電話番号を入力しつつ、
Twilioには、+8170xxxxxxxxで発信したいので、先頭の0をプレフィックスにして、発信するよう設定することです。
折角なので、固定電話にも発信できるようにしておきましょう!
いよいよ大詰め、着信ルートを設定します。ポイントは、電話番号に国コードを含めることくらいです。あと、宛先は、先ほど作成したキューでお願いします。
5.(スマホアプリにて)Asteriskにレジスト
今回は、有償ですが、私のお勧めAcrobits Softphoneからレジストしてみます。
ここまで、所要時間、10分程度(画面のスナップショット取得含む)。
これで本当に発着信できれば、私の中ではちょー簡単!
どきどきしながら、まずは発信!
よし、かかってきた!
よっしゃ!発信時の通話成功!!
続いて、着信。
ん?
がーん、この番号では、サービス提供していない旨のガイダンスが流れて、着信できない・・・。
まずは、Twilio側のログを確認
うーん、こちらは、正常に着信している・・・、原因は、Asteriskか・・・。
Twilioサーバーの想定していないIPアドレスから接続にきてるからRejectされている模様!!
設定マニュアルを読み直してみると、日本のTwilioサーバー(pstn.jp1.twilio.com)は、3種類のIPアドレスのいづれかから接続があるみたいですね。
3種類分のtrunkを作成する必要があるのか・・・では、早速。
さて、再度、着信に挑戦。
どうでした!?
最後にトラブル、ありましたが、これは設定時の注意点として、ご記憶頂くとして、結構さらっといけちゃう感じがしませんか?
次回は、通話品質にフォーカスしてみようかと思っております!
[参考資料]
追伸:設定のイメージがわくように画像を貼り付けてみましたが、ワンクリック拡大できないと参考にならないですね。次回の記事までにLightboxの導入を検討してみます。
⇒かたさん、プラグイン導入、サンキューです。この投稿から、Lightboxに切り替えました。