twilio + GRANDSTREAM VoIPフォンでカスタム保留音

米国ボストンの GRANDSTREAM社の VoIPフォン、GRP2613GXP1625 を、クラウドPBX の twilio で使う設定方法を紹介しました。


画像1

GRANDSTREAM GRP2613


画像2

GRANDSTREAM GXP1625


GRANDSTREAM のカタログを見ると仕様覧に「music on
hold」と書かれているのですが、実際には機能としては実装されていません。

music on hold とは保留時に保留音(音楽)を相手に聞かせる設定のことです。

SIP の保留には 2種類あって、一つがふつうの電話機と同じように電話機自身が保留音の音源と保留音の再生機能を持っていて、受話器のマイクをオフにすると同時に相手方に保留音を再生しておきます。

もうひとつが、PBX による保留音です。SIP による通話では音声メディアのやり取りは、SDP というストリームを使ってやりとりしています。SDP はふつうの通話であれば、電話機同士で直接やりとりする(P2P方式)か、PBX が仲介してパケットの転送を行います。

電話機が保留に入ると、この SDP を横取りし、保留音を流すだけのストリームへ接続します。PBX側に音源と再生機能があります。保存済みの音楽を流すだけでなく、ラヂオなどのリアルタイムのストリームへ接続することもできます。(PBX によってはオーディオジャックのインタフェイスが用意されていて、ここにアナログ接続した音源を流すことができます。エンドレスに再生を続ける業務用 CDプレイヤーに接続する、などの運用で使います)

GRANDSTREAM GRP2613GXP1625 は後者の保留機能には対応しているのですが、電話機内部に音源を用意しておいて再生する機能は実装されていません。

そこで、PBX による保留機能が必要になってくるのですが、twilio には 2021年6月現在、保留音の再生機能(Music on Hold、略して MoH と呼びます)が実装されていません。

通話中のチャンネルは twilio からどうにでも制御できるので、保留のイベントを認識したら通話に介入して強制的に保留音を流すだけに変えてしまうことはできます。しかし、GRANDSTREAM の電話機には、保留音URI(Music On Hold URI) という機能があってこれを使うことで比較的カンタンに保留音を流すことができたので、その設定方法を共有したいと思います。

この、保留音 URI には SIP URI を指定します。電話機で保留ボタンが押されると、この SIP URI に発信します。

指定した先の SIP URI は音楽を再生するだけの設定にしておけば、保留音が流れる、という仕組みです。

まずは、音楽を再生する SIP URI を作る必要があります。SIP URI は何でも良いのですが、例えば、

sip:moh@fugafuga.sip.twilio.com

といったものを使います。この SIP URI 宛の通話は、SIP Domain(上記例だと fugafuga.sip.twilio.com)の A CALL COMES IN で設定した Webhook API が呼ばれますので、その API の中で宛先(SIP TO)を判断して、音楽を流す TwiML を返せば ok です。

ただし、これを設定するのは正直いってメンドウです。それより、Music on Hold 専用の SIP Domain を作ってしまい、そこへ設定してしまったほうがラクです。

新しい SIP Domain を作ります。例えば、moh.fugafuga.sip.twilio.com にしましょう。

SIP Registration は必要ありませんので off にしておきます。A CALL COMES IN に指定する TwiML Bins の内容は以下のとおりです。


<?xml version="1.0" encoding="UTF-8"?>
<Response>
 <Play>https://action-12345.twil.io/Pitx_-_A_Thought.mp3</Play>
</Response>

Functions にはファイルをホストする機能がありますので、この機能を使って mp3 ファイルを保存しています。

もちろん、TwiML で表記できることならなんでもできるので、Say を使ってなにかを返したり、また Live Stream に接続するようなこともできます。

この設定を行った SIP Domain 宛に通話します。例えば、

sip:moh@moh.fugafuga.sip.twilio.com

宛に通話すると、音楽が流れることが確認できると思います。あとはこの SIP URI を GRANDSTREAM の電話機に設定するだけです。各SIPアカウントSIP設定、拡張設定の中に項目があります。

注意が必要なのは、この設定を行っても保留音が再生されるのは相手方だけです。設定を行った GRANDSTREAM 電話機自身は無音のママでした。



目次


twilio で電話をクラウド化

クラウドPBX、twilio で 050番号から外線発信

クラウドPBX、twilio で着信

クラウドPBX、twilio で内線通話

twilio に SIPクライアントを追加するときの注意(特にスマホ)

クラウドPBX、twilio を VoIPフォンで使う(Panasonic KX-UT248)

VoIP回線でファックスを使う

twilio + GRANDSTREAM GRP2613

twilio + GRANDSTREAM GXP1625

twilio + GRANDSTREAM VoIPフォンでカスタム保留音 (この記事)

アナログ電話回線を FXO ATA、Grandstream HT813 を使って Twilio に収容

この記事が気に入ったらサポートをしてみませんか?