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 매개 변수가 0이거나 오류가 발생하면 음수 오류 번호입니다. 가능한 반환 값은 다음과 같습니다.
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_ LINEERR_USERUSERINFOTOOBIG INVALPOINTER.
설명
lineSetupTransfer 함수는 hCall에 지정된 호출의 전송을 설정합니다. 이전의 설정 단계는 애플리케이션이 대상의 주소(전송할 당사자)를 스위치로 보낼 수 있도록 하는 상담 전화를 설정하고 전송할 통화는 보류 상태로 유지됩니다. 이 새로운 통화는 상담 전화(hConsultCall)라고 하며 원래 통화와 독립적으로 삭제하거나 조작할 수 있습니다.
상담 통화가 다이얼톤 통화 상태에 도달하면 애플리케이션은 대상 주소에 전화를 걸고 진행 상황을 추적하거나 기존 통화를 보류 해제하여 통화 전송을 진행할 수 있습니다. lineCompleteTransfer를 사용하여 선택한 대상에 대한 원래 호출의 전송이 완료됩니다.
상담 통화가 있는 동안 원래 호출은 일반적으로 onholdPendingTransfer 상태로 전환됩니다. 애플리케이션은 lineSwapHold를 사용하여 상담 전화와 원래 통화 간에 전환할 수 있습니다. 상담 전화는 lineDrop 을 호출하여 취소할 수 있습니다. 상담 전화를 끄면 원래 통화는 일반적으로 연결된 상태로 다시 전환됩니다. 원래 호출의 호출 상태가 onholdPendingTransfer이면 lineUnhold 함수를 사용하여 호출을 복구할 수 있습니다. 이 경우 상담 전화의 통화 상태가 유휴 상태로 설정됩니다.
또한 애플리케이션은 lineBlindTransfer를 사용하여 중간 상담 통화를 처리하지 않고도 단일 단계에서 통화를 전송할 수 있습니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | tapi.h |
라이브러리 | Tapi32.lib |
DLL | Tapi32.dll |