twilio + GRANDSTREAM GRP2613
Panasonic の SIPフォン(VoIPフォン)、KX-UT248 を紹介しました。
紹介しておいてなんですが、2021年現在は終売のモデルです。
今回は、現行モデルを紹介します。米国ボストンに本社を置く、GRANDSTREAM社の SIPフォン、GRP2613 です。
GRANDSTREAM は安価な VoIP用機器を多数作っていて、VoIPer の強い味方です。製品は全体的にチャチいのですが、なにしろ安いので熱烈なファンがいます。
2021年の GRANDSTREAM のラインナップは、Android搭載の IP Video電話機の GXVシリーズ3機種(GXV3380、GXV3370、GXV3350)、ハイエンドIP電話機の GXPシリーズ5機種(GXP2170、GXP2160、GXP2140、GXP2135、GXP2130 v2)、ミドルグレードIP電話機の GXPシリーズ3機種(GXP1780、GXP1782、GXP1760W)、ミドルグレードIP電話機の GRPシリーズ5機種(GRP2616、GRP2615、GRP2614、GRP2613、GRP2612(P/W))、廉価グレードIP電話機の GXPシリーズ6機種(GXP1630、GXP1628、GXP1620/GXP1625、GXP1615/1610)、そして廉価グレードIP電話機の GRPシリーズ4機種(GRP2604、GRP2603、GRP2602、GRP2601)となっています。
GXPシリーズと GRPシリーズの違いがよくわからないのですが、GXPシリーズは一般的なビジネスホンユーザがターゲット、GRPシリーズは集中管理のプロビジョニングを使うユーザ(大規模コンタクトセンターなど)がターゲットという感じです。
GRANDSTREAM GRP2613 はコンタクトセンターなどで使うオペレータ用端末と言った感じです。3 SIP 回線を収容でき、機能割当可能なボタンが 6個、小さいながらもカラー液晶を備えたベーシックな電話機です。コンタクトセンターの立ち上げなどで大量に仕入れれば、1台1万円以下で買える程度の価格感です。
一応、あやしいながらも日本語表示に対応しています。PoE も対応しているので、PoEハブを使えば LANケーブルで給電できます。リテールパッケイジで買ったところ、ACアダプターも付属していました。
PoE給電対応なので裏面はスッキリしています。有線のヘッドセットが接続可能です。Bluetooth などは搭載していません。
画面から IPアドレスが確認できるので、ブラウザでアクセスします。デフォルトのユーザ名は admin、パスワードは本体裏面に書いてあります。初回ログイン時にパスワードを設定します。
twilio に SIP Registration する設定です。
アカウント1~3 が収容する回線名です。
アカウント名は液晶で表示される名前です。わかりやすければなんでも良いと思いますが、表示できるのが 10ケタ程度なので、短くする必要があります。
SIPサーバには twilio のロケーションエッヂサーバ名を入れます。GRP2613 は TLS が使えるので、サーバ名のあとに :5061 を付けます。
SIPユーザID と認証パスワードは Credential で作成したものです。
「保存して適用」をクリックします。
SIP設定、基本設定も一部変更が必要です。
登録期間は SIP Expiration のことです。twilio では 10~60(分)の間しか許容されません。
登録有効期限を設定すると、この時間ごとに SIP REGISTER を再送します。通常は、SIP Expiration の半分にします。
OPTIONS キープアライブを有効にする、を YES にします。ルータの NAPTテーブルを削除されないための仕掛けです。
SIP転送(English では SIP Transport)は TLS/TCP にします。
TLS使用する際の SIP URIスキームは SIP にします。
SIP Instance IDサポートは NO にします。
「保存して適用」をクリックします。
最後に音声設定です。コーデックなどを設定します。
コーデックはトラブルを避けるために、すべて PCMU で良いと思います。今後、twilio が OPUS に対応することを期待して、一応、入れておきました。ヨーロッパやオーストラリアの SIPユーザと通話することがある人は、PCMA を入れておいても良いでしょう。
回線品質に問題がない環境なら、ジッター・バッファ長は 100ms で良いです。音が途切れるようなら、長くしていきます。
「保存して適用」をクリックします。
以上の設定で、twilio で使えるようになります。参考までに、ルーティングの設定を紹介しておきます。
まず、発信時(VoIP電話機 → PSTN網)ですが、以前紹介した Studio のものをそのまま使っています。
ユーザ名に発信用電話番号を使うことで、CallerID の設定でラクをしています。複数の内線ユーザが居て、複数の発信用電話番号を使い分けたい場合などは、ここでルールを作る必要があります。(0001 + 電話番号の場合は、発信用番号A から発信する、0002 + 電話番号の場合は発信用番号B から発信する、など)
このあたりは別の機会に紹介します。
// This is your new function. To start, set the name and path on the left.
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
//let client = context.getTwilioClient();
//const exten = event.Exten || '';
const callFrom = event.From || '';
const callFromDomestic = 0 + callFrom.substring(3);
const callTo = event.To || '';
const callToSip = 'sip:0' + callTo.substring(3) + '@xxxx.sip.twilio.com'
///*
twiml.dial({
timeout: 300,
callerId: callFromDomestic,
answerOnBridge: true,
ringTone: "jp",
}).sip(callToSip);
//*/
callback(null, twiml);
};
着信には Function を使っています。incoming というサービスを作っておいて、各電話番号ごとに Function を作っています。中身は同じですが、カスタムしたい時は各Function を編集するだけです。
twilio では PSTN網との発着信では E.164形式を使うので、これをルール的に書き換えてしまうだけです。ユーザ名に紐付けた電話番号を使っているので単純に置き換えてしまっています。
もし、ユーザ名に内線番号などを使う場合は、この Function で変換が必要です。
以上の設定で発着信ができます。上の設定では 1つの 050番号を独占して使うだけなので PBX を使ったビジネスホン的な動作はしません。単純な家庭の固定電話と同じようなものです。そうは言っても、インターネットさえつながれば電話の発着信ができるようになりますので、出張先でも固定電話機を使いたい人はこの設定を入れ込んだ電話機を出張先に持っていけば、ホテルの部屋で電話機として使えるかもしれません。
目次
twilio に SIPクライアントを追加するときの注意(特にスマホ)
クラウドPBX、twilio を VoIPフォンで使う(Panasonic KX-UT248)
twilio + GRANDSTREAM GRP2613 (この記事)
twilio + GRANDSTREAM VoIPフォンでカスタム保留音
アナログ電話回線を FXO ATA、Grandstream HT813 を使って Twilio に収容