本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
啟用多使用者應用程式內、Web 和視訊通話
Amazon Connect 支援新增其他使用者,以在現有呼叫中加入應用程式內、Web 和視訊通話。您最多可以將四個額外的使用者新增至進行中或排程的應用程式內、Web 或視訊通話,總共六個參與者:客服、第一個使用者,以及四個其他參與者 (使用者或客服)。
如何將參與者新增至多方通話
-
若要啟用多使用者呼叫,您需要從 Amazon Connect 主控台啟用增強型多方聯絡監控。
-
完成此動作後,您可以利用現有的 Amazon Connect StartWebRTCContact API 來建立聯絡人,並將此聯絡人轉接給客服。
-
若要新增其他參與者,請先建立一個參與者,將
ContactId從 StartWebRTCContact API 回應傳入 CreateParticipant API。CreateParticipant 在原始來電者接通客服之前將不會成功。參與者的視訊和螢幕共用功能可在ParticipantDetails.ParticipantCapabilities欄位中設定。 -
當 CreateParticipant 成功完成時,它會傳回參與者字符。此字符可以用於對 CreateParticipantConnection 提出請求,
Type設定為WEBRTC_CONNECTION。回應包含 ConnectionData,其可以用來加入會議,方法為將 Amazon Chime SDK 用戶端程式庫用於建立的額外參與者。遵循整合指示,以允許您的應用程式最終使用者加入會議。注意
如果客服尚未接通聯絡人,CreateParticipant 會傳回「錯誤的請求」錯誤。如需使用者在客服接通之前可能嘗試加入的商業應用程式,請參閱處理並行使用者加入。
-
額外客戶可以在 CreateParticipantConnection 傳回之後隨時接通。參與者加入後,所有額外語音和錄音行為都與多方功能類似。如果新參與者的功能已在 CreateParticipant 請求中啟用,則這些參與者可以啟用其視訊和螢幕共用。
注意
總共只有 6 個參與者 (客戶和客服) 可以隨時加入作用中的通話。Amazon Chime SDK 用戶端程式庫會傳回狀態碼,指出在會議加入期間採取動作以新增超出限制的額外參與者時,通話已達容量。
-
在參與者接通電話,然後正常掛斷,或在預先設定的時間非正常掛斷之後,其參與者登入資料將不再有效。如果用戶端程式庫
onAudioVideoDidStop觀察者收到狀態碼,指出出席者不再有效,則應用程式可以從您的企業後端觸發對 CreateParticipant 和 CreateParticipantConnection 的新通話,以重新加入通話。 -
對於每個額外的使用者連線, Amazon Connect 會建立新的聯絡人和聯絡人記錄。所有額外聯絡人都已將 PreviousContactId 設定為 InitialContactId (即 StartWebRTCContact API 建立的聯絡人),以便將其追蹤至原始聯絡人。每筆聯絡人記錄:
-
具有 "InitiationMethod": "WEBRTC_API"
-
具有下列區段屬性:
"SegmentAttributes": { "connect:Subtype": { "ValueString": "connect:WebRTC" } },
此外,每筆聯絡人記錄都有
CreateParticipant中提供的顯示名稱。不會填入客服資訊進行任何額外的使用者聯絡。這是為了避免客服資訊的重複。下圖說明在 Web、應用程式內或視訊通話中新增多個參與者和客服的情況下,如何對應上一個和下一個聯絡人 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、視訊通話和螢幕共用參與者時,存在下列限制:
-
如果原始聯絡人建立時客戶視訊功能設定為無,則額外參與者無法將視訊功能設定為傳送。