線上客服 視訊通話商務邏輯詳解

來源:互聯網
上載者:User

標籤:視頻 二次開發   視訊通話   音視頻解決方案   線上客服 系統   音視頻 sdk   

視訊通話商務邏輯主要實現兩個終端(PC、手機、Pad等)之間的通話請求流程式控制制,包括請求(Request)、回複(Reply)、開始(Start)以及結束(Finish)等過程,可以形象理解為打電話的流程:撥號、等待、通話、掛斷。

     以下以Chat視訊通話商務邏輯為例說明:

1、商務邏輯流程圖

    

請參考 http://bbs.anychat.cn/forum.php?mod=viewthread&tid=150&extra=page%3D1


2、API介面及常量定義

用戶端相關API介面及事件回調:
// 視訊通話訊息通知回呼函數定義
typedef void (CALLBACK * BRAC_VideoCallEvent_CallBack)(DWORD dwEventType, DWORD dwUserId, DWORD dwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr, LPVOID lpUserValue);


// 設定視訊通話訊息通知回呼函數

BRAC_API DWORD BRAC_SetVideoCallEventCallBack(BRAC_VideoCallEvent_CallBack lpFunction, LPVOID lpUserValue);


// 視訊通話事件控制(請求、回複、掛斷等)

BRAC_API DWORD BRAC_VideoCallControl(DWORD dwEventType, DWORD dwUserId, DWORD dwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);


伺服器相關API介面及事件回調:

// 視訊通話訊息通知回呼函數定義
typedef DWORD (CALLBACK * BRAS_OnVideoCallEvent_CallBack)(DWORD dwEventType, DWORD dwSrcUserId, DWORD dwTarUserId, DWORD dwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr, LPVOID lpUserValue);


// 設定視訊通話訊息通知回呼函數

BRAS_API DWORD BRAS_SetOnVideoCallEventCallBack(BRAS_OnVideoCallEvent_CallBack lpFunction, LPVOID lpUserValue=NULL);


// 視訊通話事件控制(請求、回複、掛斷等)

BRAS_API DWORD BRAS_VideoCallControl(DWORD dwEventType, DWORD dwUserId, DWORD dwErrorCode, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);


常量定義

/ 視訊通話事件類型定義(API:BRAS_VideoCallControl 傳入參數、OnVideoCallEvent回調參數)
#define BRAS_VIDEOCALL_EVENT_REQUEST 1 ///< 呼叫請求
#define BRAS_VIDEOCALL_EVENT_REPLY 2 ///< 呼叫請求回複
#define BRAS_VIDEOCALL_EVENT_START 3 ///< 視訊通話會話開始事件
#define BRAS_VIDEOCALL_EVENT_FINISH 4 ///< 掛斷(結束)呼叫會話

3、相關說明
3.1、用戶端API(BRAC_VideoCallControl)和回呼函數(BRAC_VideoCallEvent_CallBack)中的dwUserId均為對方(被來電者)的使用者ID;


3.2、被來電者拒絕通話時,發送回複(Reply)指令,dwErrorCode=100104;


3.3、被來電者同意通話時,發送回複(Reply)指令,dwErrorCode=0,然後伺服器會向雙方發送通話開始(Start)指令,dwParam=RoomId,房間號由核心伺服器自動分配;


3.4、結束通話時,任何一方(包括商務服務器)均可以發送結束(Finish)指令,然後伺服器會向雙方發送通話結束(Finish)指令;


3.5、商務服務器可幹預呼叫流程:在BRAS_OnVideoCallEvent_CallBack收到呼叫請求指令後,返回0表示允許呼叫,否則為出錯代碼,不允許呼叫;在會話過程中可以發送結束(Finish)指令,強制掛斷指定使用者的通話;


3.6、API介面中的dwParam(整型)、lpUserStr(字串)均為使用者自訂用途;


3.7、一個使用者同時只能發起一路呼叫請求,也同時只能被一個使用者呼叫;


3.8、視訊通話商務程序可以脫離商務服務器,由核心伺服器獨立支撐,可以不需要在伺服器端進行二次開發。

線上客服 視訊通話商務邏輯詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.