다음을 통해 공유


lineMakeCall 함수(tapi.h)

lineMakeCall 함수는 지정된 줄의 호출을 지정된 대상 주소에 배치합니다. 필요에 따라 기본 호출 설정 매개 변수를 제외한 모든 항목이 요청되면 호출 매개 변수를 지정할 수 있습니다.

구문

LONG lineMakeCall(
  HLINE                  hLine,
  LPHCALL                lphCall,
  LPCSTR                 lpszDestAddress,
  DWORD                  dwCountryCode,
  LPLINECALLPARAMS const lpCallParams
);

매개 변수

hLine

호출이 시작되는 열린 회선 디바이스에 대한 핸들입니다.

lphCall

HCALL 핸들에 대한 포인터입니다. 이 핸들은 lineMakeCall 함수가 성공적으로 완료되었음을 나타내는 애플리케이션에서 LINE_REPLY 메시지를 받은 후에만 유효합니다. 이 핸들을 사용하여 통화 시 다른 전화 통신 작업을 호출할 때 호출을 식별합니다. 애플리케이션은 처음에 이 호출의 유일한 소유자입니다. 함수가 오류를 반환하는 경우(회신 메시지에 의해 동기적으로 또는 비동기적으로) 이 핸들은 void입니다.

lpszDestAddress

대상 주소에 대한 포인터입니다. 표준 전화 걸기 가능 번호 형식을 따릅니다. 이 포인터는 전화 접속되지 않은 주소(핫 휴대폰과 마찬가지로)의 경우 또는 lineDial을 사용하여 모든 전화 걸기를 수행할 때 NULL일 수 있습니다. 후자의 경우 lineMakeCall 은 전화 걸기를 시작할 때까지 일반적으로 다이얼톤 상태로 유지되는 사용 가능한 통화 모양을 할당합니다. 역 멀티플렉싱 기능이 있는 서비스 공급자는 애플리케이션에서 한 번에 여러 주소를 지정할 수 있습니다.

dwCountryCode

호출된 파티의 국가 또는 지역 코드입니다. 값을 0으로 지정하면 구현에서 기본값이 사용됩니다.

lpCallParams

LINECALLPARAMS 구조체에 대한 포인터입니다. 이 구조를 사용하면 애플리케이션에서 호출을 설정하는 방법을 지정할 수 있습니다. NULL을 지정하면 기본 3.1kHz 음성 통화가 설정되고 줄의 임의 원본 주소가 선택됩니다. 이 구조를 사용하면 애플리케이션에서 호출 전달자 모드, 데이터 속도, 예상 미디어 모드, 원본 주소, 호출자 ID 정보 차단 및 전화 걸기 매개 변수와 같은 요소를 선택할 수 있습니다.

반환 값

함수가 비동기적으로 완료된 경우 양수 요청 식별자를 반환하거나 오류가 발생할 경우 음수 오류 번호를 반환합니다. 함수가 성공하면 해당 LINE_REPLY 메시지의 dwParam2 매개 변수가 0이거나 오류가 발생하면 음수 오류 번호입니다. 가능한 반환 값은 다음과 같습니다.

LINEERR_ADDRESSBLOCKED, LINEERR_INVALLINEHANDLE, LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_DIALBILLING, LINEERR_INVALPARAM, LINEERR_DIALDIALTONE, LINEERR_INVALPOINTER, LINEERR_DIALPROMPT, LINEERR_INVALRATE, LINEERR_DIALQUIET, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESSID, LINEERR_RATEUNAVAIL, LINEERR_INVALADDRESSMODE, LINEERR_ RESOURCEUNAVAIL, LINEERR_INVALBEARERMODE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALCALLPARAMS, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE, LINEERR_USERUSERINFOTOOBIG.

설명

LINEERR_INVALLINESTATE 반환되는 경우 줄은 현재 이 작업을 수행할 수 있는 상태가 아닙니다. 현재 유효한 작업 목록은 LINEDEVSTATUS 구조체의 dwLineFeatures 멤버(LINEFEATURE_ 형식)에서 찾을 수 있습니다. lineGetLineDevStatus를 호출하면 LINEDEVSTATUS의 정보가 업데이트됩니다. LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE 또는 LINEERR_DIALPROMPT 반환되는 경우 lineMakeCall 에서 수행되지 않은 작업은 없습니다. 예를 들어, 잘못된 문자 이전에 전화 걸기 가능한 주소 중 어느 것도 전화를 걸지 않았고, 후크위치 상태가 변경되지 않았습니다.

전화 걸기를 완료한 후 일반적으로 통화 진행 상황을 알리기 위해 여러 LINE_CALLSTATE 메시지가 애플리케이션으로 전송됩니다. 실제로 단일 고정 전환 시퀀스를 보장할 수 없으므로 일반적으로 유효한 호출 상태 전환 시퀀스는 지정되지 않습니다. 일반적인 시퀀스로 인해 통화가 다이얼톤, 전화 걸기, 계속, 링백에서 연결됨으로 전환될 수 있습니다. 다이얼이 없는 회선을 사용하면 일반적으로 호출이 연결된 상태로 직접 전환될 수 있습니다.

애플리케이션에는 지정된 줄 디바이스에서 원래 주소를 지정하는 옵션이 있습니다. 스위치의 모든 스테이션을 단일 회선 디바이스의 주소로 모델링하는 서비스 공급자를 사용하면 애플리케이션이 lineMakeCall을 사용하여 이러한 스테이션에서 호출을 시작하도록 허용합니다.

호출 매개 변수를 사용하면 애플리케이션이 음성이 아닌 통화를 하거나 기본적으로 사용할 수 없는 특수 통화 설정 옵션을 요청할 수 있습니다.

애플리케이션은 lineMakeCall 을 사용하여 부분적으로 전화를 걸고 lineDial을 사용하여 계속 전화를 걸 수 있습니다. 부분 전화 접속에 대한 자세한 내용은 lineDial 및 TSPI_lineMakeCall 참조 하세요. 호출 시도를 중단하려면 lineDrop을 사용합니다.

lineMakeCall이 애플리케이션에 성공 회신 메시지를 반환하면 호출의 현재 상태를 나타내기 위해 LINE_CALLSTATE 메시지가 애플리케이션으로 전송됩니다. 이 상태가 반드시 LINECALLSTATE_DIALTONE 것은 아닙니다.

이 함수는 암호화되지 않은 형식으로 와이어를 통해 데이터를 보낼 수 있습니다. 따라서 네트워크에서 도청하는 사용자가 데이터를 읽을 수 있습니다. 이 메서드를 사용하기 전에 데이터를 명확한 텍스트로 보내는 보안 위험을 고려해야 합니다.

주의 TAPI는 LINE_REPLY 메시지가 반환될 때 lphCall에서 참조하는 버퍼에 반환된 데이터를 씁니다. 즉, LINE_REPLY 메시지가 반환될 때까지 버퍼가 유효한 상태를 유지해야 합니다. 그렇지 않으면 데이터 손상 및 예외가 발생할 수 있습니다.
 

요구 사항

   
대상 플랫폼 Windows
헤더 tapi.h
라이브러리 Tapi32.lib
DLL Tapi32.dll

추가 정보

기본 전화 통신 서비스 참조

전화 걸기 가능 주소

LINECALLPARAMS

LINEDEVSTATUS

LINE_CALLSTATE

LINE_REPLY

TAPI 2.2 참조 개요

lineDial

lineDrop

lineGetLineDevStatus