業務要件に応じて最長通話時間を最大24時間に設定いただけます!

August 02, 2021
執筆者
レビュー担当者
Ann Hussey
Twilion

Configurable Call Limits JP

この記事は、プロダクト管理担当のBill Harrisonが、こちら(英語)で執筆した記事を日本語化したものです。

世界中の企業がTwilioのProgrammable Voiceプラットフォームを使用して、お客様との音声会話サービスを構築しています。何百万人もの開発者が信頼している実績のあるVoice APIとグローバルスーパーネットワークを使用して、世界中で電話をかけたり、応答したり、品質やイベントを監視したりすることができます。これら音声会話機能が追加されることで、顧客との対話に柔軟性とインテリジェンスを加えることができ、結果として顧客に対してより良いサービスと体験を提供することができます。

Twilio Voiceによる最長通話時間をもっと長くしたい、あるいは通話種別等に応じて最長通話時間を適切に設定したいと思われていた方に、素晴らしいお知らせがあります。

これまでTwilioでは、すべての音声通話に対して最長4時間の通話制限が固定的に設定されていました。多くの場合これで十分ですが、この最長通話時間をより長くしたり設定変更することができれば、多くの課題を解決することができるとのご意見をいただき、このご意見に対応する機能強化を今回行いました。

今回のリリースでは、Programmable Voiceの最長通話時間を従来の4時間から24時間に延長しました。また、個々の通話の最大継続時間をお客様にとって最適な値に設定できる機能も追加しました。1分から24時間までの間で自由に設定でき、継続中の通話であっても、その制限時間を更新することができます。

1. 自分に合った通話制限を

日々の業務の中で、通話時間の制限が短いものと長いものの両方を必要とする理由は幾つかあるでしょう。短時間値への制限は、不要な長時間通話をできるだけ減らす点にあります。逆に、お客様とじっくり会話することが求められる業務では、長時間の制限が必要となる場合があります。

今回リリースした機能を使えば、お客様のニーズに合わせた制限を設定することができます。短時間、長時間、またその中間、いずれの利用シーンにも対応します。

2. 機能利用の大まかな手順

最長通話時間の制限(既定値)は、Twilioコンソールでアカウントごとに24時間まで延長することができます。また、Voice APIやTwiMLを使って、通話ごとに最長時間を設定・調整することもできます。

2.1. 対象アカウントで最長時間の延長を有効にする

最長時間の延長機能は、Twilioコンソールから対象アカウントごとに有効化・無効化できます。

コンソール上、左側のナビゲーションペインの Develop の箇所で、Voice > Settings > General をクリックします。[24-Hour Maximum Call Duration] までスクロールダウンし、 Disabledをクリックします。(クリック後にDisabledEnabledに変わります。)その後、画面下部の Save をクリックします。これで対象アカウント上で最長通話時間が24時間になりました。

screenshot of the Voice Recording Encryption dashboard JP

ご利用されている環境によってTwilio Consoleの画面表示が異なる場合があります。

[24-Hour Maximum Call Duration] が Disabled の場合、最長時間は4時間のままとなります。

注:この設定の有効・無効に関わらず、トライアルアカウントは最長時間が10分に制限されます。

2.2. 新規通話での最長通話時間の設定

アカウント上で24時間の最長通話時間設定を有効にしましたが、特定の通話に個別の最長時間を設定したい場合にはどうすればよいでしょうか。Twilio VoiceにおいてCallリソースの作成時に最長時間を設定する方法は3つあります。

  • Twilio Voice APIのCallリソースを使用する
  • Twilio Voice APIのConference Participantリソースを使用する
  • TwiMLの<Dial>動詞を使用する

これらの設定は、上述のアカウントレベルの [Maximum Call Duration] 設定より優先されます。

2.2.1. Twilio Voice APIのCallリソースを使用

Voice APIのCallリソースを使って、Twilio Voiceの通話発信を行うことができます。CallリソースにTimeLimitパラメータを追加し、最長通話時間を秒単位で設定できるようにしました。

最長通話時間が10時間のアウトバウンドコールの作成例:

curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls.json \
--data-urlencode "Twiml=<Response><Say>Ahoy there$EXCLAMATION_MARK</Say></Response>" \
--data-urlencode "To=+13031234567" \
--data-urlencode "From=+13039876543" \
--data-urlencode "TimeLimit=36000" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

TimeLimitに0以下の値を設定したり、アカウントの [Maximum Call Duration] 設定(10分/4時間/24時間)を超えた値を設定すると、レスポンスがエラーとなります。

  • 13216 - Invalid timeLimit value

2.2.2. Twilio Voice APIのConference Participantリソースを使用

Voice APIのConference Participantリソースを使って会議通話の参加者を追加することで、Twilio Voiceの通話発信を行うことができます。Callリソースと同様にTimeLimitパラメータが追加されており、最長通話時間を秒単位で設定することができます。

最長通話時間が6時間のConference Participantを追加する例:

curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Conferences/CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Participants.json \
--data-urlencode "From=+14155551212" \
--data-urlencode "To=+14158675309" \
--data-urlencode "TimeLimit=21600" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

TimeLimitに0以下の値を設定したり、アカウントの [Maximum Call Duration] 設定(10分/4時間/24時間)を超えた値を設定すると、レスポンスがエラーとなります。

  • 13216 - Invalid timeLimit value

2.2.3. TwiMLの<Dial>動詞を使う

TwiMLの<Dial>動詞には、アウトバウンドコールの最長通話時間を設定するためのtimeLimit属性があります。通話の最長通話時間(秒)は、0秒から86400秒(24時間)の間で設定できます。

TwiMLを使って、発信コールに8時間の最長通話時間を設定する例:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
 <Dial timeLimit="28800">415-123-4567</Dial>
</Response>

timeLimitに0以下の値を設定したり、アカウントの [Maximum Call Duration] 設定(10分/4時間/24時間)を超えた値を設定すると、レスポンスがエラーとなります。

  • 13216 - Invalid timeLimit value

2.3. 継続中の通話での最長通話時間の変更

Twilio Voice APIのCallリソースでは、timeLimitパラメータとアクティブなCall SIDを使用して、継続中の通話の最長通話時間を更新することもできます。

例えば、継続中の通話の最長通話時間を10時間に変更したいとします:

curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json \
--data-urlencode "timeLimit=36000" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

ここで、ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXは対象のAccount SIDで、CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXはCall SIDです。

これにより、継続中の最長通話時間を延長または短縮することができます。timeLimitを現在の継続時間よりも短い値に設定したり、アカウントの最長通話制限の設定(10分/4時間/24時間)よりも長い値に設定したりすると、レスポンスがエラーとなります。

  • 13216 - Invalid timeLimit value

2.4. 設定した最長通話時間に達した場合

アカウントレベルで設定されている最長時間の既定値、または通話ごとに設定した最長時間のいずれか短い方に通話時間が達すると、通話が切断されます。

2.5. モニタリングツールを活用した設定の見直し

設定した最長通話時間に達した通話があった場合、Twilio Debuggerのアラートが作動し、お客様にお知らせします。

例えば、通話ごとにtimeLimitパラメータを設定していない状況で、通話時間がアカウントの [Maximum Call Duration] 設定(10分/4時間/24時間)に達すると、通話は終了し、以下のアラートが表示されます。

  • 32015 - Call is terminated due to exceeding account maximum call duration

通話ごとのtimeLimit値を設定している状況で、通話時間がその設定値に達した場合、通話は終了し、以下のアラートが表示されます。

  • 32015 - Call is terminated due to exceeding configured maximum call duration (timeLimit)

また切断理由は、Voice Insightsにおける通話データの一部として提供されます。

これらのツールを活用することで、設定された最長時間を超えている通話数のデータを収集することができ、それに応じて最長通話時間の設定を調整することができます。

3. リリース機能を利用してみましょう

最長時間を延長するオプションはTwilioコンソールのVoice > Settings > Generalの箇所に用意されており、timeLimitパラメータはProgrammable Voice APITwiMLを使ったアプリケーションで使用することができます。これら設定について、またTwilio Programmable Voice全般についてご質問がありましたら、弊社までお問い合わせください。

業務ニーズにあわせて本機能強化をどのように活用されるのか、楽しみにしています。