lineSetupTransfer 函式 (tapi.h)
lineSetupTransfer 函式會起始hCall參數所指定呼叫的傳輸。 它會建立一個諮詢通話 lphConsultCall,該通話可撥打方成為轉移目的地。 應用程式會取得 lphConsultCall 參數的擁有者許可權。
語法
LONG lineSetupTransfer(
HCALL hCall,
LPHCALL lphConsultCall,
LPLINECALLPARAMS const lpCallParams
);
參數
hCall
要轉移之呼叫的控制碼。 應用程式必須是呼叫的擁有者。 必須連線hCall的撥號狀態。
lphConsultCall
hCall控制碼的指標。 此位置接著會載入識別暫時諮詢呼叫的控制碼。 設定轉移通話時,會自動設定諮詢通話,讓 lineDial 撥打與通話新轉移目的地相關聯的位址。 在完成轉移之前,原始合作物件可以透過此諮詢通話進行交談。 hConsultCall的撥號狀態不適用。
此傳輸程式可能不適用於某些線路裝置。 應用程式可能需要忽略新的諮詢通話,並使用 lineUnhold) 來識別轉移目的地 (現有的保留通話。 在支援跨位址通話轉移的交換器上,諮詢通話可以存在於與要轉移的通話不同的位址上。 您也可以將諮詢通話設定為 透過 lineMakeCall到轉移目的地的全新通話。 呼叫的位址功能會指定哪些形式的傳輸。
lpCallParams
LINECALLPARAMS結構的指標,其中包含建立諮詢呼叫時要使用的呼叫參數。 如果不需要任何特殊的呼叫安裝參數,這個參數可以設定為 Null 。
傳回值
如果函式是以非同步方式完成,則傳回正要求識別碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功,則對應LINE_REPLY訊息的dwParam2參數為零,如果發生錯誤,則為負錯誤號碼。 可能的傳回值為:
LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALRATE、LINEERR_CALLUNAVAIL、LINEERR_NOMEM、LINEERR_INUSE、LINEERR_NOTOWNER、LINEERR_INVALADDRESSMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALBEARERMODE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_RATEUNAVAIL、LINEERR_INVALCALLPARAMS、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALLINESTATE、LINEERR_UNINITIALIZED、LINEERR_INVALMEDIAMODE、LINEERR_USERUSERINFOTOOBIG LINEERR_INVALPOINTER。
備註
lineSetupTransfer 函式會設定hCall所指定呼叫的傳輸。 轉移的設定階段會建立一個諮詢通話,讓應用程式能夠傳送目的地位址, (將合作物件轉移至交換器) ,同時保留要轉移的通話。 這個新呼叫稱為 (hConsultCall) 的諮詢通話,而且可以卸載或操作與原始呼叫無關。
當諮詢通話到達 撥號 通話狀態時,應用程式可以撥打目的地位址並追蹤其進度,或取消保留現有的通話,繼續轉移通話。 使用 lineCompleteTransfer完成對所選目的地的原始來電轉接。
當諮詢通話存在時,原始呼叫通常會轉換為 onholdPendingTransfer 狀態。 應用程式可以使用 lineSwapHold在諮詢通話與原始通話之間切換。 您可以叫用 lineDrop 來取消諮詢通話。 卸載諮詢通話之後,原始通話通常會轉換回 連線 狀態。 如果原始呼叫的撥號狀態為 onholdPendingTransfer, 則 lineUnhold 函式可用來復原呼叫。 在此情況下,諮詢通話的撥號狀態會設定為 閒置。
應用程式也可以在單一步驟中轉移呼叫,而不需要使用 lineBlindTransfer處理介入諮詢呼叫。
需求
目標平台 | Windows |
標頭 | tapi.h |
程式庫 | Tapi32.lib |
Dll | Tapi32.dll |