다음을 통해 공유


TSPI_lineSetupConference 함수(tspi.h)

TSPI_lineSetupConference 함수는 타사 추가를 위한 전화 회의를 설정합니다.

구문

LONG TSPIAPI TSPI_lineSetupConference(
  DRV_REQUESTID          dwRequestID,
  HDRVCALL               hdCall,
  HDRVLINE               hdLine,
  HTAPICALL              htConfCall,
  LPHDRVCALL             lphdConfCall,
  HTAPICALL              htConsultCall,
  LPHDRVCALL             lphdConsultCall,
  DWORD                  dwNumParties,
  LPLINECALLPARAMS const lpCallParams
);

매개 변수

dwRequestID

비동기 요청의 식별자입니다.

hdCall

전화 회의의 제1자를 식별하는 초기 통화에 대한 핸들입니다. 일부 환경에서는 전화 회의를 시작하려면 호출이 있어야 합니다. 다른 전화 통신 환경에서는 처음에 호출이 없고 hdCallNULL로 남습니다. hdCall의 호출 상태를 연결할 수 있습니다.

hdLine

hdCallNULL인 경우 전화 회의를 시작하는 라인 디바이스에 대한 핸들입니다. hdCallNULL이 아닌 경우 hdLine 매개 변수는 무시됩니다. 서비스 공급자는 LINEADDRESSCAPS 데이터 구조의 setupConfNull 플래그를 통해 지원하는 모델을 보고합니다.

htConfCall

새 전화 회의에 대한 TAPI 핸들입니다. 서비스 공급자는 이를 저장하고 새 호출에서 이벤트를 보고하는 LINEEVENT 프로시저에 대한 모든 후속 호출에 사용해야 합니다.

lphdConfCall

새로 만든 전화 회의에 대한 서비스 공급자의 식별자를 나타내는 HDRVCALL 에 대한 포인터입니다. 서비스 공급자는 이 프로시저가 반환되기 전에 새 호출에 대한 핸들로 이 위치를 채워야 합니다. 함수에 오류가 발생하면 TAPI에서 이 핸들을 무시합니다. hdConfCall의 호출 상태는 적용되지 않습니다.

htConsultCall

상담 통화에 대한 TAPI 핸들입니다. 새 당사자 추가를 위한 호출을 설정할 때 새 임시 통화(상담 전화)가 자동으로 할당됩니다. 서비스 공급자는 htConsultCall 을 저장하고 새로운 상담 통화에서 이벤트를 보고하는 LINEEVENT 프로시저에 대한 모든 후속 호출에서 사용해야 합니다.

lphdConsultCall

호출에 대한 서비스 공급자의 식별자를 나타내는 HDRVCALL 에 대한 포인터입니다. 새 당사자 추가를 위한 호출을 설정할 때 새 임시 통화(상담 전화)가 자동으로 할당됩니다. 서비스 공급자는 이 절차가 반환되기 전에 새 상담 통화에 대한 핸들로 이 위치를 채워야 합니다. 함수에 오류가 발생하면 TAPI에서 이 핸들을 무시합니다. hdConsultCall의 호출 상태는 적용되지 않습니다.

dwNumParties

전화 회의의 예상된 당사자 수입니다. 서비스 공급자는 이 번호로 자유롭게 수행할 수 있습니다. 예를 들어 서비스 공급자는 이를 무시하거나 힌트로 사용하여 스위치 내에 적절한 크기 회의 브리지를 할당할 수 있습니다. TAPI는 이 함수가 호출되면 이 매개 변수의 유효성을 검사하지 않습니다.

lpCallParams

상담 전화를 설정할 때 사용할 호출 매개 변수가 포함된 LINECALLPARAMS 구조체에 대한 포인터입니다. 특별한 호출 설정 매개 변수가 필요하지 않고 서비스 공급자가 기본 매개 변수를 사용하는 경우 이 매개 변수는 NULL 로 설정됩니다.

반환 값

dwRequestID를 반환하거나 오류가 발생하는 경우 오류 번호를 반환합니다. 해당 ASYNC_COMPLETIONlResult 실제 매개 변수는 함수가 성공하면 0이거나 오류가 발생하면 오류 번호입니다. 가능한 반환 값은 다음과 같습니다.

LINEERR_INVALCALLHANDLE, LINEERR_INVALADDRESSMODE, LINEERR_INVALLINEHANDLE, LINEERR_INVALBEARERMODE, LINEERR_INVALCALLSTATE, LINEERR_INVALCALLPARAMS, LINEERR_CALLUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CONFERENCEFULL, LINEERR_INVALMEDIAMODE, LINEERR_NOMEM, LINEERR_INVALRATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_RATEUNAVAIL, LINEERR_RESOURCEUNAVAIL, LINEERR_USERUSERINFOTOOBIG, LINEERR_BEARERMODEUNAVAIL.

설명

전화 회의 호출이 포함된 줄에 대해 지정한 줄 핸들이 잘못된 경우 서비스 공급자는 LINEERR_INVALLINEHANDLE 반환합니다. 이 오류는 전화 통신 환경에서 회의를 설정하기 위해 초기 줄이 필요하지만 NULL 이 아닌 호출 핸들이 대신 제공되었음을 나타낼 수도 있습니다.

전화 통신 환경에서 회의를 설정하기 위해 초기 호출이 필요하지만 NULL 호출 핸들이 대신 제공된 경우 서비스 공급자는 LINEERR_INVALCALLHANDLE 반환합니다.

TSPI_lineSetupConference 일반적인 양당 통화가 사전 존재하는지 여부에 따라 새 전화 회의를 설정하는 두 가지 방법을 제공합니다. 기존 양당 통화에서 전화 회의를 설정할 때 hdCall 매개 변수는 TSPI_lineSetupConference 요청에 의해 처음에 전화 회의에 추가되고 hdLine 은 무시되는 유효한 통화 핸들입니다. 전화 회의 설정이 기존 통화로 시작되지 않는 스위치에서는 hdCallNULL 이어야 하며, 전화 회의를 시작할 라인 디바이스를 식별하려면 hdLine 을 지정해야 합니다. 두 경우 모두 통화에 추가될 당사자에 연결하기 위해 상담 통화가 할당됩니다. TAPI는 TSPI_lineDial 사용하여 상대방의 주소로 전화를 걸 수 있습니다.

전화 회의는 일반적으로 onHoldPendingConference 상태, 상담 전화 걸기 상태 및 초기 통화(있는 경우)로 전환됩니다 .

3방향 회의로 확인된 TSPI_lineCompleteTransfer 함수를 사용하여 전화 회의를 설정할 수도 있습니다.

TAPI는 TSPI_lineSwapHold 사용하여 상담 전화와 전화 회의 간에 전환할 수 있습니다.

TSPI_lineUnhold 함수는 호출 상태가HoldPendingConference인 호출을 복구할 수 있습니다. 이 작업이 완료되면 상담 전화는 일반적으로 유휴 상태로 전환됩니다.

상담 전화는 TSPI_lineDrop 호출하여 취소할 수 있습니다. 상담 전화를 끄면 기존 전화 회의는 일반적으로 연결된 상태로 다시 전환됩니다. TAPI 및 해당 클라이언트 애플리케이션은 LINE_CALLSTATE 메시지를 관찰하여 호출에 정확히 어떤 일이 발생하는지 확인해야 합니다. 예를 들어 전화 회의가 정기적인 양당 통화로 되돌아가면 전화 회의는 유휴 상태가 되고 원래 참가자 호출은 연결됨으로 되돌리기 수 있습니다.

이 함수는 호출 수명을 시작하기 위해 TSPI 모델을 따른다는 점에서 해당 TAPI 함수와 다릅니다. TAPI 및 서비스 공급자는 서로 호출을 나타내는 불투명 핸들을 교환합니다. 또한 서비스 공급자는 이 절차에서 반환되기 전에 새 호출에 대한 콜백을 수행할 수 있습니다. 어쨌든 서비스 공급자는 일치하는 ASYNC_COMPLETION 메시지가 성공을 보고할 때까지 반환된 핸들을 "아직 유효하지 않음"으로 처리해야 합니다. 즉, 새 호출에 대한 LINEEVENT 메시지를 발급하거나 메시지의 호출 수 또는 줄에 대한 상태 데이터 구조에 포함해서는 안 됩니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 tspi.h

추가 정보

ASYNC_COMPLETION

LINEADDRCAPFLAGS_ 상수

LINEADDRESSCAPS

LINECALLPARAMS

LINEEVENT

LINE_CALLSTATE

TSPI_lineAddToConference

TSPI_lineDial

TSPI_linePrepareAddToConference

TSPI_lineRemoveFromConference

TSPI_lineSwapHold