啟用多使用者應用程式內、Web 和視訊通話 - Amazon Connect

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

啟用多使用者應用程式內、Web 和視訊通話

Amazon Connect 支援新增其他使用者,以在現有呼叫中加入應用程式內、Web 和視訊通話。您最多可以將四個額外的使用者新增至進行中或排程的應用程式內、Web 或視訊通話,總共六個參與者:客服、第一個使用者,以及四個其他參與者 (使用者或客服)。

如何將參與者新增至多方通話

  1. 若要啟用多使用者呼叫,您需要從 Amazon Connect 主控台啟用增強型多方聯絡監控

  2. 完成此動作後,您可以利用現有的 Amazon Connect StartWebRTCContact API 來建立聯絡人,並將此聯絡人轉接給客服。

  3. 若要新增其他參與者,請先建立一個參與者,將 ContactIdStartWebRTCContact API 回應傳入 CreateParticipant API。CreateParticipant 在原始來電者接通客服之前將不會成功。參與者的視訊和螢幕共用功能可在 ParticipantDetails.ParticipantCapabilities 欄位中設定。

  4. CreateParticipant 成功完成時,它會傳回參與者字符。此字符可以用於對 CreateParticipantConnection 提出請求,Type 設定為 WEBRTC_CONNECTION。回應包含 ConnectionData,其可以用來加入會議,方法為將 Amazon Chime SDK 用戶端程式庫用於建立的額外參與者。遵循整合指示,以允許您的應用程式最終使用者加入會議。

    注意

    如果客服尚未接通聯絡人,CreateParticipant 會傳回「錯誤的請求」錯誤。如需使用者在客服接通之前可能嘗試加入的商業應用程式,請參閱處理並行使用者加入

  5. 額外客戶可以在 CreateParticipantConnection 傳回之後隨時接通。參與者加入後,所有額外語音和錄音行為都與多方功能類似。如果新參與者的功能已在 CreateParticipant 請求中啟用,則這些參與者可以啟用其視訊和螢幕共用。

    注意

    總共只有 6 個參與者 (客戶和客服) 可以隨時加入作用中的通話。Amazon Chime SDK 用戶端程式庫會傳回狀態碼,指出在會議加入期間採取動作以新增超出限制的額外參與者時,通話已達容量。

  6. 在參與者接通電話,然後正常掛斷,或在預先設定的時間非正常掛斷之後,其參與者登入資料將不再有效。如果用戶端程式庫 onAudioVideoDidStop 觀察者收到狀態碼,指出出席者不再有效,則應用程式可以從您的企業後端觸發對 CreateParticipantCreateParticipantConnection 的新通話,以重新加入通話。

  7. 對於每個額外的使用者連線, Amazon Connect 會建立新的聯絡人和聯絡人記錄。所有額外聯絡人都已將 PreviousContactId 設定為 InitialContactId (即 StartWebRTCContact API 建立的聯絡人),以便將其追蹤至原始聯絡人。每筆聯絡人記錄:

    • 具有 "InitiationMethod": "WEBRTC_API"

    • 具有下列區段屬性:

      "SegmentAttributes": { "connect:Subtype": { "ValueString": "connect:WebRTC" } },

    此外,每筆聯絡人記錄都有 CreateParticipant 中提供的顯示名稱。不會填入客服資訊進行任何額外的使用者聯絡。這是為了避免客服資訊的重複。

    下圖說明在 Web、應用程式內或視訊通話中新增多個參與者和客服的情況下,如何對應上一個和下一個聯絡人 ID。

    此圖顯示如何對應多方 WebRTC 通話的聯絡人 ID

處理並行使用者加入

企業可能想要建立使用者可在其中隨時以任何順序加入的應用程式。例如,您的應用程式可能會將具有外部預約 ID 的連結透過電子郵件傳送給多個使用者,這些使用者應該用來在排程時間加入通話。若要實現此行為,企業後端必須確保:

  • 第一個加入的使用者會觸發 StartWebRTCContact 請求。

  • 所有額外使用者都會使用 CreateParticipant 和 CreateParticipantConnection,但僅在第一個使用者接通了客服之後

本節描述可能的實作,假設您的企業後端包含一個存放區 (例如 DynamoDB),其中可以保存有關排程預約的中繼資料。請注意,排程預約不是 的功能 Amazon Connect,而是範例實作的功能。

當使用者導覽至頁面時,他們應該會將請求傳送至後端。後端檢查:

  • 使用者是否能夠開始預約,以及其是否為正確的時間。

  • 聯絡案例 Amazon Connect 是否已透過呼叫 StartWebRTCContact 建立。

如果尚未建立聯絡人,客戶應該呼叫 StartWebRTCContact API,其中具有自訂流程以及屬性,此屬性表示應加入通話之對應客服的客服佇列。流程應包含設定工作佇列區塊,該區塊設定為使用屬性中提供的客服佇列。然後,流程應以轉接至佇列區塊終止。在呼叫 API 之前,後端應以原子方式更新存放區,將通話從「無」移至「建立中」狀態,並處理任何並行修改例外狀況。

來自 StartWebRTCContact 的憑證應傳回給客戶,而且他們應該立即加入通話。聯絡人應在企業存放區中與聯絡人 ID 一起標記為「已建立」。此企業 API 需要在所有可能加入的出席者之間同步。這可以透過使用資料庫提供的原子操作來完成。

如果聯絡人處於建立中狀態,則應將此狀態傳回給額外使用者、顯示相關資訊,並在短暫等待後再試一次。

如果已建立聯絡人:他們應該擷取聯絡人 ID,並呼叫 DescribeContact API。企業後端應該尋找 Contact.AgentInfo.ConnectedToAgentTimestamp 欄位。如果不存在,則第一個使用者尚未接通客服,而且額外使用者應顯示相關資訊,並在短暫等待後再試一次。

如果欄位存在,後端應呼叫 CreateParticipant,然後呼叫 CreateParticipantConnection 以取得 ConnectionData,如前幾節所述。

後端流程應如下所示。

用於處理並行使用者加入的後端流程圖

您可以參考 GitHub 上的 Amazon Connect 應用程式內呼叫範例進行實作。

客服不會使用相同的網站加入。客服應在聯絡控制面板中將其狀態設定為可用。當第一個客戶加入時,會自動與客服通話。

帳單

額外參與者的帳單相當於初始客戶和通話中任何客服的現有帳單。音訊、視訊和螢幕共用都會產生自己的參與者特定費用。

保留行為

在視訊通話或螢幕共用工作階段期間,即使客戶保留通話,客服人員也能查看客戶的視訊或螢幕共用。參與者有責任相應地處理 PII。如果使用原生 CCP 應用程式,則會在任何非客服參與者保留通話時停用客服視訊。如果您想要變更此行為,可以建置自訂 CCP 和通訊小工具。

如需詳細資訊,請參閱將應用程式內、Web、視訊通話和螢幕共用原生整合至您的應用程式

限制

建立額外應用程式內、Web、視訊通話和螢幕共用參與者時,存在下列限制:

  • 如果原始聯絡人建立時客戶視訊功能設定為,則額外參與者無法將視訊功能設定為傳送