
FreePBXでSIP Trunkを作ってみた(chan_pjsip)
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
概要
前に書いたTwilioのSIP Trunkで電話をかけてみたというブログにセットアップしたのはchan_sipで、先日比較的に新しいTwilioのドキュメンテーションを見て、調べたらchan_sipはもうメンテナンスされず、chan_pjsipが推奨されています。今後SIP Trunkingを使う方にchan_pjsipをお薦めするので、FreePBX上chan_pjsipの設定方法を紹介したいと思います。
事前準備
- TwilioでSIP Trunkの作成のように、TwilioのSIP Trunkを用意します。(Credentialsも後で使います)
- FreePBXサーバーをクラウド(AWS)上に作ってみたのように、FreeBPXの環境を用意します。
- FreePBXシステムにコマンドできる環境・コマンドツール(こちらは
SSH Client + MacOS Terminal)
このブログの手順はTwilio-FreePBX SIP Trunking Guideを参考しました。
手順
Asterisk SIP Settingsとセットアップ



FreePBXのSettings->Asterisk SIP Settingsに入ってもらいます。
最初はNAT Settingsのところに、Detect Network Settingsボタンを押します。それでサーバーネットワーク情報が自動的に入力されます。
同じページのAudio Codecsの部分は、ulaw以外のものを全てチェックせずにしてもらいます。
設定が終わったら、Sumbitしてから、Apply Configをします。
そして、コマンドツールで下記のコマンドを順番で実行してもらいます。
sudo fwconsole stop sudo fwconsole start
Asterisk Startedが表示されたら、実行成功となります。
chan_pjsip Trunkの追加


Connectivity -> Trunks -> +Add SIP(chan_pjsip)TrunkでTrunk追加を行います。

Trunk Nameは好きな名前にし、Outbound CallerIDにはTwilioのSIP Trunkに設定した電話番号となります。

Generalタブに記入する項目:
- Username (Twilio Credential Username)
- Secret (Twilio Credential Password)
- Registration (Noneにします)
- SIP Server (Twilio Termination SIP URI)
- SIP Server Port (5060)

AdvancedタブにはDTMF ModeをRFC 4733に変更します。
設定が終わったら、Sumbitしてから、Apply Configをします。
そして、コマンドツールで下記のコマンドを順番で実行してもらいます。
sudo fwconsole reload
Successfully reloadedが表示されたら、実行成功となります。
Outbound Routeの追加



Connectivity -> Outbound Routes -> +Add Outbound RouteでOutbound Rounteの追加を行います。
Route Settingsタブに記入する項目は
- Rounte Name (好きな名前に)
- Trunk Sequence for Matched Routes (さっき追加したchan_pjsip Twilio-Trunk)
Dial Patternsにはmatch patternを.(全て)にします。
設定が終わったら、Sumbitしてから、Apply Configをします。
Extensionの追加



Applications -> Extensions -> +Add New SIP[chan_pjsip] ExtensionでSIP(chan_pjsip) Extensionの追加を行います。
Generalタブに記入する項目は
- User Extension (好きな三桁数字)
- Display Name (好きな名前)
Secretの部分はsip-pstnで電話をするとき使うパスワードとなります。
設定が終わったら、Sumbitしてから、Apply Configをします。
TwilioのOriginationにURIの追加

FreePBXのIPと地域をスクショのように追加します(priorityとweightは自由です)。TwilioのFreePBX公式手順書にはまだregionのままになっていますが、現時点(2022年2月)はregionはもうレガシーとなって、edgeを使うことに推奨されています。
最後
このブログはFreePBX SIP(chan_pjsip) Trunkの設定だけを書いたので、Twilio経由でどう電話をかけるかをそも前のTwilioのSIP Trunkで電話をかけてみた(Outbound)ブログに確認してください。
以上です。






