同时存在多个来电的情况下如何处理通话?
2026-04-21
产品 / 解决方案:即时通讯
平台 / 框架:All
被叫来电个数没有超过限制时
- caller 点击 "Call" 按钮,callerUI 向 主叫方(CallManager)报告 outGoingCall。
- 主叫方(CallManager)可根据业务需求设置外呼限制。
- 主叫方(CallManager)向 callerUI 显示 outgoing call 呼叫界面。
- 主叫方(CallManager)通过 ZIM 发送 callInvite。
- ZIM 回调 主叫方(CallManager)onCallInvitationSent。
- ZIM 将邀请转发至 被叫方(CallManager),回调 onCallInvitationReceived。
- 被叫方(CallManager)判断当前来电个数是否达到上限——未达到上限。
- ongoing calls 数量加 1。
- 被叫方(CallManager)向 Callee UI 显示新的来电界面。
被叫来电个数超过限制时
- caller 点击 "Call" 按钮,callerUI 向 主叫方(CallManager)报告 outGoingCall。
- 主叫方(CallManager)可根据业务需求设置外呼限制。
- 主叫方(CallManager)将 ongoing calls 数量加 1,并向 callerUI 显示 outgoing call 呼叫界面。
- 主叫方(CallManager)通过 ZIM 发送 callInvite。
- ZIM 将邀请转发至 被叫方(CallManager),回调 onCallInvitationReceived。
- 被叫方(CallManager)判断当前来电个数是否达到上限——已达到上限。
- 被叫方(CallManager)调用 CallEnd,extendedData 标注原因为已达到呼叫上限。
- ZIM 回调 主叫方(CallManager)callInvitationEnded with extendedData。
- 主叫方(CallManager)将 ongoing calls 数量减 1。
- 主叫方(CallManager)向 callerUI 显示对方占线提示。
注意
- 1v1 通话,拒绝通话可用 callEnd 代替 callReject。
- 可能存在多人的通话场景下,请使用 callReject 拒绝通话。
