通話キューイング
エージェントが同時実行数の上限に達した場合、発信者を拒否する代わりにキューで待機させます。
概要
エージェントまたはワークスペースが同時実行数の上限に達すると、新しい通話は通常すぐに拒否されます。通話キューイングを有効にすると、エージェントの対応枠が埋まっている間に着信した発信者は、保留音を聞きながら回線を維持し、空き枠ができしだい到着順に自動接続されます。
通話キューイングはエージェントごとに設定でき、新しいエージェントではデフォルトで有効です。
通話キューイングは、エージェントでバースト料金が有効な場合のバースト容量を含め、利用可能なすべての容量が使用中になった時点で適用されます。
通話キューイングの仕組み
- 容量の確認:通話が着信すると、ElevenAgentsはエージェントとワークスペースに空いている同時実行スロットがあるかを確認します。空きがあれば、通話はすぐに接続されます。
- キューイング:空きスロットがない場合、発信者はエージェントのキューで保留され、保留音が流れます。待機中は会話が開始されず、料金も発生しません。
- 接続:スロットが空いた瞬間、キューの先頭にいる発信者が接続され、通常どおり会話が開始されます。
- タイムアウト:キューの最大待機時間内にスロットが空かない場合、通話は切断されます。電話回線の通話は通常どおり切断されます。WebSocketクライアントにはステータス
timed_outのqueue_statusイベントが送信され、その後コード4300で接続が閉じられます。
特定のエージェントに対して、発信者は厳密に到着順で接続されます。複数のエージェントがワークスペースの同時実行プールを共有している場合は、通常、より長く待機している発信者から先に接続されます。
発信者に聞こえる内容
- TwilioおよびSIPトランク番号への電話発信者には、通話中に保留音が流れます。
- ウィジェットおよびブラウザSDKのユーザーには、ブラウザで保留音が流れます。ウィジェット(バージョン0.17.0以降)では、待機メッセージも表示され、キューに入っている間はテキスト入力が無効になります。
- 直接WebSocket APIを使用するクライアントには、通常の
audioイベントとして保留音が送信されるほか、独自のUIで待機状態を表示するためのqueue_statusイベントも送信されます。カスタムWebSocketクライアントでのキューイベントの処理を参照してください。
請求と会話時間
キューで待機した時間は請求対象外であり、エージェントの会話の最大時間にもカウントされず、会話の報告時間にも含まれません。ダッシュボードの会話詳細には、発信者が接続されるまでの待機時間が表示されます。
対応チャネル
1日の通話上限はキューに入りません。エージェントの1日の上限を超える通話は、翌日まで上限が回復しないため、すぐに拒否されます。
設定
通話キューイングは、エージェントのセキュリティタブにある上限セクションで、エージェントごとに設定します。
ダッシュボードから更新
CLIから更新
APIから更新
新しいエージェントでは、queueing_config.enabledがtrueに設定された状態で作成されます。通話キューイングを無効にしたエージェントを作成するには、作成リクエストでqueueing_config.enabledをfalseに設定します。
APIで保留音を管理する
エージェントのカスタム保留音を設定するには、MP3またはWAVファイルをアップロードします。新しいファイルをアップロードすると、以前のファイルは置き換えられます。APIはaudio/mpegとaudio/wavのコンテンツタイプを受け付けるため、例ではタイプを明示的に設定しています。
カスタムクリップを削除すると、デフォルトの保留音に戻ります:
現在のクリップは、エージェントのplatform_settings.queueing_config.hold_audioに読み取り専用で返されます。エージェントの作成または更新リクエストでhold_audioを送信しても、効果はありません。
カスタムWebSocketクライアントでのキューイベントの処理
WebSocket APIを介して接続されたクライアントは、キューに入っている間にqueue_statusイベントを受け取ります:
waitingは、conversation_initiation_metadataの直後かつ保留音が流れる前に、一度だけ送信されます。admittedは、発信者が接続されたときに送信されます。その後、会話は通常どおり進行します。timed_outは、待機時間がキューの最大待機時間を超えたときに送信されます。その後、サーバーはコード4300で接続を閉じます。
すぐに接続された通話では、queue_statusイベントは送信されません。このイベントはキューに入った発信者に必ず送信され、エージェントのclient_eventsで有効にする必要はありません。
保留音は、エージェントのクライアントイベントにaudioが含まれている場合、約1秒ごとの通常のaudioイベントとして配信されます。保留音をエージェントの発話として扱うのではなく、queue_statusを使用して待機状態を表示してください。
@elevenlabs/clientおよび@elevenlabs/react SDKでは、現在このイベント専用のコールバックは提供されていません。queue_statusを含む生のサーバーイベントを確認するには、onIncomingEventコールバックを使用してください。
よくある質問
キューに入った通話は同時実行数の上限にカウントされますか?
いいえ。キューで待機している発信者は、エージェントに接続されるまで同時実行スロットを占有しません。
発信者はキュー内の順番や推定待機時間を聞けますか?
現在はできません。キューで待機している発信者には保留音のみが流れます。キュー内の順番や待機時間の見積もりは案内されません。
待機中に発信者が通話を切った場合はどうなりますか?
発信者はすぐにキューから離れ、その後ろにいる全員が1つずつ繰り上がります。会話時間の料金は発生しません。
通話キューイングは発信通話でも機能しますか?
いいえ。発信通話とバッチ通話は、容量が利用可能な場合にのみ発信されるため、キューに入ることはありません。