lineAddToConference 函式 (tapi.h)
lineAddToConference 函式會將 hConsultCall 指定的呼叫新增至 hConfCall 所指定的會議通話。
語法
LONG lineAddToConference(
HCALL hConfCall,
HCALL hConsultCall
);
參數
hConfCall
通話的句柄。 應用程式必須是此呼叫的擁有者。 會議通話上的任何監視 (媒體、音調、數位) 僅適用於 hConfCall,不適用於個別參與通話。 hConfCall 的呼叫狀態必須是 onHoldPendingConference 或 onHold。
hConsultCall
要新增至會議通話的句柄。 應用程式必須是此呼叫的擁有者。 此通話不能是另一個會議或任何會議參與者的父系。 根據 LINEADDRESSCAPS 中所指出的裝置功能, hConsultCall 可能不一定是使用 lineSetupConference 或 linePrepareAddToConference 建立。 hConsultCall 的呼叫狀態必須連線、onHold、繼續或回呼。 許多 PBX 允許在實際接聽之前將呼叫新增至會議。
傳回值
如果函式是以異步方式完成,則傳回正要求標識碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功,則對應LINE_REPLY訊息的 dwParam2 參數為零,如果發生錯誤,則為負錯誤號碼。 可能的傳回值為:
LINEERR_CONFERENCEFULL、LINEERR_NOTOWNER、LINEERR_INVALCONFCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_INVALCALLSTATE、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM LINEERR_UNINITIALIZED。
備註
如果傳回LINEERR_INVALCALLHANDLE,則新增呼叫的指定呼叫句柄無效;hConsultCall 是另一個會議的父代,或已經是會議中的參與者;hConsultCall 因其他原因而無法新增 (,例如,必須使用lineSetupConference或linePrepareAddToConference) 建立它;或 hConsultCall 和 hConfCall 是在不同的開啟行上呼叫。
在將通話新增至會議之後,新增的派對的通話句柄仍有效。 其狀態通常會變更為 會議 ,而會議通話的狀態通常會變成 已連線。 使用 lineGetConfRelatedCalls,您可以取得與指定通話相同通話的通話句柄清單。 指定的通話是會議通話或會議通話中的參與者通話。 系統會針對應用程式尚未擁有句柄的呼叫產生新的句柄,並將應用程式授與這些呼叫的監視許可權。 稍後可以使用個別參與通話的句柄,以使用 lineRemoveFromConference 從會議通話中移除該合作物件。
如果 lineGetConfRelatedCalls 緊接在 lineAddToConference 之後呼叫,它可能不會傳回完整的相關呼叫清單,因為 TAPI 會等候收到 LINE_CALLSTATE 訊息,指出呼叫已輸入LINECALLSTATE_CONFERENCED,然後再將通話視為實際屬於會議 (的一部分,也就是服務提供者會確認會議狀態) 。 應用程式收到LINE_CALLSTATE訊息之後, lineGetConfRelatedCalls 會傳回完整的資訊。
電話會由 lineSetupConference 或 lineCompleteTransfer 建立。 新增至會議的通話通常是使用 lineSetupConference 或 linePrepareAddToConference 建立。 有些交換器可以允許將任意通話新增至會議,這類通話可以使用 lineMakeCall 進行設定,並 (硬式) 保留。 應用程式可以檢查 LINEADDRESSCAPSCAPS 結構的 dwAddrCapFlags 成員,以判斷允許的作業。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | tapi.h |
程式庫 | Tapi32.lib |
Dll | Tapi32.dll |