TSPI_lineSetupTransfer函式 (tspi.h)
TSPI_lineSetupTransfer函式會起始 hdCall 所指定呼叫的傳輸。 它會建立諮詢通話 lphdConsultCall,而該通話可撥打該方,以成為轉移的目的地。
語法
LONG TSPIAPI TSPI_lineSetupTransfer(
DRV_REQUESTID dwRequestID,
HDRVCALL hdCall,
HTAPICALL htConsultCall,
LPHDRVCALL lphdConsultCall,
LPLINECALLPARAMS const lpCallParams
);
參數
dwRequestID
異步要求的標識碼。
hdCall
要轉移之呼叫的句柄。 hdCall 的呼叫狀態可以連線。
htConsultCall
TAPI 處理新的暫時諮詢通話。 服務提供者必須儲存此專案,並在新的諮詢呼叫上報告事件的所有後續 LINEEVENT 程式呼叫中使用它。
lphdConsultCall
HDRVCALL 的指標,代表新諮詢通話的服務提供者標識碼。 服務提供者必須在這個程式傳回之前,填入這個位置的新諮詢呼叫句柄。 如果函式產生錯誤,TAPI 會忽略此句柄。 hdConsultCall 的呼叫狀態不適用。
設定撥接電話以進行轉移時,會自動配置另一個通話 (諮詢通話) ,以透過TAPI) 啟用應用程式 (,以使用 TSPI_lineDial) 轉接通話的派對) 來撥打 (位址。 在完成轉移之前,原始合作物件可以透過此諮詢通話進行交談。
此傳輸程式可能不適用於某些線路裝置。 TAPI 可能需要使用TSPI_lineUnhold) 來識別傳輸目的地 , 而不是呼叫這個程式,而不需要保留現有的保留呼叫 (。 在支援跨位址通話轉移的交換器上,諮詢通話可以存在於與要轉移的通話不同的位址上。 您也可以使用 TSPI_lineMakeCall將諮詢通話設定為全新的通話,以傳送目的地。
LINEADDRESSCAPS 數據結構中的 transferHeld 和 transferMake 旗標會報告服務提供者所使用的模型。
lpCallParams
LINECALLPARAMS 結構的指標,包含建立諮詢通話時要使用的呼叫參數。 如果服務提供者使用預設值) (不需要特殊呼叫安裝參數,則可以將此參數設定為 NULL 。
傳回值
會傳回 dwRequestID,如果發生錯誤,則傳回錯誤號碼。 如果函式成功,則對應ASYNC_COMPLETION的 lResult 實際參數為零,如果發生錯誤,則為錯誤號碼。 可能的傳回值如下所示:
LINEERR_INVALCALLHANDLE、LINEERR_INVALBEARERMODE、LINEERR_INVALCALLSTATE、LINEERR_INVALRATE、LINEERR_CALLUNAVAIL、LINEERR_INVALCALLPARAMS、LINEERR_NOMEM、LINEERR_INVALLINESTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALMEDIAMODE、LINEERR_OPERATIONFAILED、LINEERR_INUSE、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM、LINEERR_BEARERMODEUNAVAIL、LINEERR_RATEUNAVAIL、LINEERR_INVALADDRESSMODE LINEERR_USERUSERINFOTOOBIG。
備註
如果要轉移的呼叫不是處於有效狀態,則服務提供者會傳回LINEERR_INVALCALLSTATE。
此作業會設定 hdCall 所指定呼叫的傳輸。 轉移的設定階段會建立諮詢通話,以將目的地的位址傳送給 (要轉移給交換器) ,同時保留要轉移的通話。 這個新呼叫稱為 (hdConsultCall) 的諮詢通話,而且可以操作 (例如,與原始呼叫無關的卸除) 。
當諮詢通話到達 撥號 通話狀態時,TAPI 可以藉由撥打目的地位址並追蹤其進度,或取消保留現有的通話,繼續轉移通話。 使用TSPI_lineCompleteTransfer完成原始呼叫至選取目的地 的傳輸。
當諮詢通話存在時,原始呼叫通常會轉換為 onholdPendingTransfer 狀態。
TSPI_lineUnhold函式可以復原具有 onHoldPendingTransfer 呼叫狀態的呼叫。 如果這樣做,任何諮詢通話通常會進入 閑置 狀態。
在遵循 transferHeld 或 transferMake 傳輸模型的電話語音環境中,此程式會傳回LINEERR_OPERATIONFAILED,而且不會配置諮詢通話句柄。
您可以叫用 TSPI_lineDrop來 取消諮詢通話。 卸除諮詢通話之後,原始通話通常會轉換回 聯機 狀態。
此函式與對應的 TAPI 函式不同,因為它會遵循 TSPI 模型,以開始呼叫的存留期。 TAPI 和服務提供者交換不透明的句柄,代表彼此的呼叫。 此外,服務提供者可以在從這個程式傳回之前,先執行新呼叫的回呼。 在任何情況下,服務提供者也必須將傳回的句柄視為「無效」,直到比對 ASYNC_COMPLETION 訊息回報成功為止。 換句話說,它不得針對新呼叫發出任何 LINEEVENT 訊息,或將它包含在該行的訊息或狀態數據結構中的呼叫計數中。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | tspi.h |