SIP 服務器注冊
要啟用出席信息服務,需要創建一個“配置文件”對象。配置文件對象是通過 IRTCClIEntProvisioning::CreateProfile 方法創建的。要創建配置文件對象,客戶端應用程序需要創建一個符合裝置架構的 XML 字符串。XML 架構的&&屬性包括:
裝置設置 - 配置文件的唯一標識符。
用戶設置 - 用戶的 URI、領域和登錄帳戶信息
客戶端設置 - 有關與通信鏈路無關的客戶端應用程序信息。此信息是可選的。
提供商設置 - 有關 Internet 電話服務提供商 (ITSP) 的信息。
SIP 服務器設置 - 指定可用的 SIP 服務器、SIP 服務器角色和服務器支持的會話類型。
要在 SIP 服務器上注冊用戶,客戶端需要創建一個 XML 配置文件字符串,指示 RTC 客戶端 API 如何與 SIP 服務器進行通信。創建 XML 字符串後,即可調用 IRTCClientProvisioning::CreateProfile() 方法創建一個配置文件對象。下一步是調用 IRTCClIEntProvisioning::EnableProfile() 方法在 RTC 服務器上注冊用戶,並指定配置文件應該在該服務器上注冊的會話類型。注冊類型可以是:允許傳入計算機到計算機的會話 (RTCRF_REGISTER_INVITE_SESSIONS)、允許傳入即時消息會話 (RTCRF_REGISTER_MESSAGE_SESSIONS)、允許傳入觀察程序 (RTCRF_REGISTER_PRESENCE) 或允許所有的注冊類型 (RTCRF_REGISTER_ALL)。設置 RTCRF_REGISTER_PRESENCE 或 RTCRF_REGISTER_ALL 將通知注冊服務器:客戶端接受 SIP SUBSCRIBE 方法。這將允許用戶通知其他用戶他們的出席狀態更改、獲取其聯系人出席狀態更改的通知以及將出席信息添加到觀察程序列表的其他人。
觀察程序對象在好友列表中提供了用戶狀態。觀察程序可以查詢 Presentity 的狀態,並得到好友列表中的用戶狀態更改的通知。觀察程序還使用戶能夠通過 Presentity 的狀態中斷或允許其他人加入。
示例代碼說明了注冊用戶以及啟用出席信息和好友列表的步驟。
HRESULT CAVDConfDlg::DOSIPLogin(BSTR bXMLObj)
{
HRESULT hr;
... .
// 獲取 RTC 客戶端裝置&&接口
IRTCClIEntProvisioning * pProv = NULL;
hr = m_pClIEnt->QueryInterface(
IID_IRTCClIEntProvisioning,
(void **)&pProv);
if (FAILED(hr))
{
// 查詢&&接口失敗
return hr;
}
// 從 XML 裝置文檔創建 RTC
// 配置文件對象
hr = pProv->CreateProfile(b
[1] [2] [3] [4] [5] 下一頁