lineSetupConference 함수(tapi.h)
lineSetupConference 함수는 타사 추가를 위한 전화 회의를 설정합니다.
구문
LONG lineSetupConference(
HCALL hCall,
HLINE hLine,
LPHCALL lphConfCall,
LPHCALL lphConsultCall,
DWORD dwNumParties,
LPLINECALLPARAMS const lpCallParams
);
매개 변수
hCall
전화 회의의 제1자를 식별하는 초기 호출에 대한 핸들입니다. 일부 환경(디바이스 기능에 설명된 대로)에서는 전화 회의를 시작하기 위해 호출이 있어야 하며 애플리케이션은 이 호출의 소유자여야 합니다. 다른 전화 통신 환경에서는 처음에 호출이 없고 , hCall 은 NULL로 남아 있어야 하며, 회의 통화를 시작할 줄을 식별하려면 hLine 을 지정해야 합니다. hCall의 호출 상태는 연결되어야 합니다.
hLine
줄에 대한 핸들입니다. 이 핸들은 hCall 이 NULL인 경우 전화 회의를 시작하는 라인 디바이스를 식별하는 데 사용됩니다. hCall이 NULL이 아닌 경우 hLine 매개 변수는 무시됩니다.
lphConfCall
HCALL 핸들에 대한 포인터입니다. 그런 다음 이 위치는 새로 만든 전화 회의를 식별하는 핸들과 함께 로드됩니다. 애플리케이션은 이 호출의 초기 단독 소유자입니다. hConfCall의 호출 상태는 적용되지 않습니다.
lphConsultCall
HCALL 핸들에 대한 포인터입니다. 새 당사자 추가를 위한 호출을 설정할 때 새 임시 통화(상담 전화)가 자동으로 할당됩니다. 처음에는 애플리케이션이 이 호출의 유일한 소유자입니다.
dwNumParties
전화 회의의 예상 파티 수입니다. 이 번호는 서비스 공급자에게 전달됩니다. 서비스 공급자는 이 번호에 따라 자유롭게 수행할 수 있습니다. 무시하거나, 힌트로 사용하여 스위치 내부에 적절한 크기의 회의 브리지를 할당하는 등의 작업을 수행할 수 있습니다.
lpCallParams
상담 호출을 설정할 때 사용할 호출 매개 변수를 포함하는 LINECALLPARAMS 구조체에 대한 포인터입니다. 특별한 호출 설정 매개 변수가 필요한 경우 이 매개 변수를 NULL 로 설정할 수 있습니다.
반환 값
함수가 비동기적으로 완료된 경우 양수 요청 식별자를 반환하거나 오류가 발생할 경우 음수 오류 번호를 반환합니다. 함수가 성공하면 해당 LINE_REPLY 메시지의 dwParam2 매개 변수가 0이거나 오류가 발생하면 음수 오류 번호입니다. 가능한 반환 값은 다음과 같습니다.
LINEERR_BEARERMODEUNAVAIL, LINEERR_UNINITIALIZED, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_CONFERENCEFULL, LINEERR_INVALPOINTER, LINEERR_INUSE, LINEERR_INVALRATE, LINEERR_INVALADDRESSMODE, LINEERR_NOMEM, LINEERR_INVALBEARERMODE, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLPARAMS, LINEERR_RATEUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_ INVALLINESTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_USERUSERINFOTOOBIG.
설명
LINEERR_INVALLINESTATE 반환되는 경우 줄은 현재 이 작업을 수행할 수 있는 상태가 아닙니다. 현재 유효한 작업 목록은 LINEDEVSTATUS 구조체의 dwLineFeatures 멤버(LINEFEATURE 형식)에서 찾을 수 있습니다. (lineGetLineDevStatus를 호출하면 LINEDEVSTATUS의 정보가 업데이트됩니다.) LINEERR_INVALMEDIAMODE 반환되면 LINEDEVCAPS 구조체의 dwMediaModes 멤버 줄에서 지원되는 미디어 형식에 대해 검사.
lineSetupConference 함수는 일반적인 두 당사자 호출이 사전 존재하는지 여부에 따라 새 전화 회의를 설정하는 두 가지 방법을 제공합니다. 기존 두 당사자 호출에서 전화 회의를 설정할 때 hCall 매개 변수는 lineSetupConference 요청에 의해 처음에 전화 회의 호출에 추가되는 유효한 호출 핸들입니다. hLine 은 무시됩니다. 전화 회의 설정이 기존 통화로 시작되지 않는 스위치에서 hCall 은 NULL 이어야 하며, 전화 회의를 시작할 회선 디바이스를 식별하려면 hLine 을 지정해야 합니다. 두 경우 모두 통화에 추가될 당사자에 연결하기 위해 상담 통화가 할당됩니다. 그런 다음 애플리케이션은 lineDial 을 사용하여 상대방의 주소로 전화를 걸 수 있습니다.
전화 회의는 일반적으로 onHoldPendingConference 상태, 다이얼톤 상태에 대한 상담 호출 및 초기 호출(있는 경우)으로 전환 됩니다 .
3방향 회의로 확인되는 lineCompleteTransfer 를 통해 전화 회의를 설정할 수도 있습니다. 애플리케이션은 lineSwapHold를 사용하여 상담 전화와 전화 회의 간에 전환할 수 있습니다.
상담 전화는 lineDrop 을 호출하여 취소할 수 있습니다. 상담 전화를 끄면 기존 전화 회의는 일반적으로 연결된 상태로 다시 전환됩니다. 애플리케이션은 LINE_CALLSTATE 메시지를 관찰하여 호출에 정확히 어떤 일이 발생하는지 확인해야 합니다. 예를 들어 전화 회의 통화가 정기적인 두 당사자 통화로 되돌아가면 전화 회의는 유휴 상태가 되고 원래 참가자 통화는 연결됨으로 되돌리기 수 있습니다.
애플리케이션이 lineUnhold 함수에 대한 호출에서 원래 호출(hCall)의 핸들을 지정하는 경우 전화 회의 및 상담 호출은 일반적으로 유휴 상태로 전환됩니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | tapi.h |
라이브러리 | Tapi32.lib |
DLL | Tapi32.dll |