ナビゲーションにスキップ

通話キューイング

エージェントが同時実行数の上限に達した場合、発信者を拒否する代わりにキューで待機させます。

概要

エージェントまたはワークスペースが同時実行数の上限に達すると、新しい通話は通常すぐに拒否されます。通話キューイングを有効にすると、エージェントの対応枠が埋まっている間に着信した発信者は、保留音を聞きながら回線を維持し、空き枠ができしだい到着順に自動接続されます。

通話キューイングはエージェントごとに設定でき、新しいエージェントではデフォルトで有効です。

通話キューイングは、エージェントでバースト料金が有効な場合のバースト容量を含め、利用可能なすべての容量が使用中になった時点で適用されます。

通話キューイングの仕組み

  1. 容量の確認:通話が着信すると、ElevenAgentsはエージェントとワークスペースに空いている同時実行スロットがあるかを確認します。空きがあれば、通話はすぐに接続されます。
  2. キューイング:空きスロットがない場合、発信者はエージェントのキューで保留され、保留音が流れます。待機中は会話が開始されず、料金も発生しません。
  3. 接続:スロットが空いた瞬間、キューの先頭にいる発信者が接続され、通常どおり会話が開始されます。
  4. タイムアウト:キューの最大待機時間内にスロットが空かない場合、通話は切断されます。電話回線の通話は通常どおり切断されます。WebSocketクライアントにはステータスtimed_outのqueue_statusイベントが送信され、その後コード4300で接続が閉じられます。

特定のエージェントに対して、発信者は厳密に到着順で接続されます。複数のエージェントがワークスペースの同時実行プールを共有している場合は、通常、より長く待機している発信者から先に接続されます。

発信者に聞こえる内容

  • TwilioおよびSIPトランク番号への電話発信者には、通話中に保留音が流れます。
  • ウィジェットおよびブラウザSDKのユーザーには、ブラウザで保留音が流れます。ウィジェット(バージョン0.17.0以降)では、待機メッセージも表示され、キューに入っている間はテキスト入力が無効になります。
  • 直接WebSocket APIを使用するクライアントには、通常のaudioイベントとして保留音が送信されるほか、独自のUIで待機状態を表示するためのqueue_statusイベントも送信されます。カスタムWebSocketクライアントでのキューイベントの処理を参照してください。

請求と会話時間

キューで待機した時間は請求対象外であり、エージェントの会話の最大時間にもカウントされず、会話の報告時間にも含まれません。ダッシュボードの会話詳細には、発信者が接続されるまでの待機時間が表示されます。

対応チャネル

チャネル通話キューイング
Twilio着信通話対応
SIPトランク着信通話対応
ウィジェットおよびクライアントSDK(WebSocketとWebRTC)対応
直接WebSocket API対応
発信通話およびバッチ通話非対応
テキスト専用エージェント非対応
Genesys、AudioCodes、Exotel、WhatsApp、SMS非対応

1日の通話上限はキューに入りません。エージェントの1日の上限を超える通話は、翌日まで上限が回復しないため、すぐに拒否されます。

設定

通話キューイングは、エージェントのセキュリティタブにある上限セクションで、エージェントごとに設定します。

設定説明デフォルト
通話キューイングを有効化エージェントが同時実行数の上限に達した場合、発信者をキューで待機させます。オン
キューの最大待機時間通話が切断されるまでに発信者が待機できる時間(秒)。1~1,800秒(30分)。180秒(3分)
カスタム保留音キューで待機中の発信者にループ再生するMP3またはWAVファイル。最大40MB、長さは3分まで。ファイルをアップロードしていない場合、発信者にはデフォルトの保留音が流れます。ダッシュボードまたはAPIからアップロードできます。デフォルトの保留音
1

上限設定を開く

ダッシュボードでエージェントを開き、セキュリティタブに移動して、上限までスクロールします。

2

通話キューイングを有効にする

通話キューイングを有効化がオンになっていることを確認し、キューの最大待機時間を設定します。

3

保留音をアップロードする(任意)

カスタム保留音で、MP3またはWAVファイルをアップロードします。公開前に、デフォルトの保留音とアップロードした音声クリップをプレビューできます。

4

変更を公開する

公開をクリックして、新しい設定を適用します。

新しいエージェントでは、queueing_config.enabledがtrueに設定された状態で作成されます。通話キューイングを無効にしたエージェントを作成するには、作成リクエストでqueueing_config.enabledをfalseに設定します。

APIで保留音を管理する

エージェントのカスタム保留音を設定するには、MP3またはWAVファイルをアップロードします。新しいファイルをアップロードすると、以前のファイルは置き換えられます。APIはaudio/mpegとaudio/wavのコンテンツタイプを受け付けるため、例ではタイプを明示的に設定しています。

from dotenv import load_dotenv
from elevenlabs import ElevenLabs
import os
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
elevenlabs.conversational_ai.agents.hold_audio.create(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
hold_audio_file=("hold-music.mp3", open("hold-music.mp3", "rb"), "audio/mpeg"),
)

カスタムクリップを削除すると、デフォルトの保留音に戻ります:

elevenlabs.conversational_ai.agents.hold_audio.delete(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
)

現在のクリップは、エージェントのplatform_settings.queueing_config.hold_audioに読み取り専用で返されます。エージェントの作成または更新リクエストでhold_audioを送信しても、効果はありません。

カスタムWebSocketクライアントでのキューイベントの処理

WebSocket APIを介して接続されたクライアントは、キューに入っている間にqueue_statusイベントを受け取ります:

{
"type": "queue_status",
"queue_status_event": {
"status": "waiting"
}
}
  • 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つずつ繰り上がります。会話時間の料金は発生しません。

いいえ。発信通話とバッチ通話は、容量が利用可能な場合にのみ発信されるため、キューに入ることはありません。