Programmable VoiceサービスのTwiML <Dial>タグに関する機能強化および振る舞い変更

記事種別

製品・サービスのオペレーションに関する記事です。

想定の読者層

Twilio Programmable VoiceサービスのTwiML <Dial>タグを過去ご利用あるいは今後ご利用予定のお客様を念頭においております

ご理解いただきたい内容

Twilioでは、Programmable VoiceのTwiML <Dial>タグにおいて、後述の機能強化(機能の追加変更)を行う予定です。これら変更はSIP接続の文脈で適用されるもので、皆さまのコード上に影響が及ぶかの確認(場合によってはコード変更)を2021年7月31日までに行っていただくようお願いいたします。(日時は、明記ない限り原則米国時間となります。)

ご対処いただきたい項目

皆さまの既存アプリ・コードは多くの場合に変更不要で、現状コードのまま継続動作するはずです。しかし、機能強化や振る舞い変更の中には、当該機能が有効化された環境下で慎重にテストする必要、また場合によってはコード変更を行う必要が生じるものも含まれます

機能強化

  • <Dial>タグを<Dial hangupOnStar=”true”>の条件下で利用すると、Global Low Latency (GLL)への対応が効くようになります。
  • 新たなアクション・コールバック・パラメータDialBridgedが追加されます。親コールとブリッジされた形で<Dial>タグによるコールが行われた場合にのみ、DialBridgedの値は‘true’となり、それ以外の場合には‘false’となります。子コールがスクリーニングの結果終了となるケースと、親コールとブリッジされるケースを区別する背景の下に導入されました。
  • <Dial>タグによるコールがスクリーニングの結果終了となるケースでは、DialCallStatusの値が‘completed’となります。従来は‘no-answer’でした。
  • パラメータringToneが有効となる<Dial>タグのスコープが<Number>, <Client>, <Sip>の全てとなります。従来は<Number>, <Client>のみに適用という仕様でした。
  • <Dial>タグでダイヤルされたコールレグにおいてステータス・コールバックを行う場合、ウェブフック呼び出し時に関連付けられるジオデータはダイヤルされたコールレグのTo値及びFrom値となります。従来は、親コールレグのTo値及びFrom値でした。
  • 以下シナリオにおいて、Early Audioが必ず提供されます。
    • 同時ダイヤルが行われる場合 (アカウントフラグEarly Audio Exceptionのフラグ値に関わらず)
    • タグ属性urlが存在する場合
    • タグ属性sendDigitsが存在する場合

振る舞い変更

  • 同時ダイヤル及び逐次ダイヤルにおける個々のダイヤルレグについて、今後は各々のコールレコードが生成されます。従来は、完了したコールについてのみコールレコードが生成されていたので、応答されなかったダイヤルレグについてはそのシグナリング等のデータがでレビューできませんでした。また新たな振る舞いにおいては、個々のダイヤルレグをAPI経由でキャンセル可能です。
    • 新たな振る舞いにより、レビュー対象レコードの正確性向上が見込まれます。
    • 新たな振る舞いにより、デバッグの効果も向上します。
  • <Dial>タグは、スクリーニングURL経由で提供されたTwiMLドキュメントの中では許容されません。
  • スクリーニングURL経由で<Hangup>もしくは<Reject>タグが動作する際、DialCallStatusの値は‘completed’となります。従来の値は‘no-answer’でした。
    • 該当のコールは接続の後にアプリケーションにより拒絶されていますので、‘completed’はコールの振る舞いの視点からはより正確な値と言えます。
    • 新たな振る舞いによりデバッグがより効果的に行える狙いがあります。
  • インバウンドのコールに関する以下の変更があります。
    • <Dial anserOnBridge=”true”>での動作の場合、親コールのステータスはスクリーニングURLの動作が完了するまでは‘ringing’となります。従来の値は、完了を待つことなく‘in-progress’でした。
    • 子コールのステータスは、応答されるまでの間‘ringing’となり、スクリーニングの際には‘in-progress’となります。従来、応答されるまでの間‘queued’となっていました。
    • <Dial answerOnBridge=”true”>での動作の場合、親コールのステータスは子コールにブリッジされるまでの間(、または、ブリッジされない限り)‘no-answer’となります。
    • これら新たな振る舞いには、皆さまのアプリケーションにおけるコールのトラッキングが、より正確に行えるようにとの狙いがあります。

リリースのタイムライン

現時点では、ここで述べた機能強化や振る舞い変更を享受するためには、コンソール画面のProgrammable Voice Settingsページにおいて、今回機能強化に明示的にオプトインいただく必要があります。オプトインにあたっては、該当のフラグ‘Enhanced Programmable SIP Features’を‘Enabled’にしてください。当該アカウントワイドで、これら機能強化が有効化されます。

その後2021年7月31日に、今回の機能強化を全てのTwilioアカウントを横断して(=オプトインする必要なくユニバーサルに)有効化する予定です。数ヶ月後の時期設定とした背景ですが、皆さまがアプリケーション・コードを確認し、必要なコード変更を行い、テストいただく時間を十分に確保したいという側面があります。対処に際してご不明点等ございましたら、サポート部門までご連絡をいただければ幸いです。

お手数をお掛けしますが、振る舞い変更等を含む重要なお知らせですので、内容のご理解及び必要に応じての対処を、何卒よろしくお願いいたします。

参考情報

改訂履歴:

  • 初版: 2021/2/10 JST
Have more questions? Submit a request
Powered by Zendesk