lineDial 함수(tapi.h)

lineDial 함수는 지정된 통화에서 지정된 전화 걸기 번호로 전화를 켭니다.

구문

LONG lineDial(
  HCALL  hCall,
  LPCSTR lpszDestAddress,
  DWORD  dwCountryCode
);

매개 변수

hCall

번호로 전화를 걸 통화에 대한 핸들입니다. 애플리케이션은 호출의 소유자여야 합니다. hCall의 호출 상태는 유휴 상태와 연결 끊김을 제외한 모든 상태일 수 있습니다.

lpszDestAddress

표준 전화 걸기 번호 형식을 사용하여 전화를 걸 대상입니다.

dwCountryCode

대상의 국가 또는 지역 코드입니다. 이는 구현에서 대상 주소에 대한 호출 진행률 프로토콜을 선택하는 데 사용됩니다. 값 0을 지정하면 서비스 공급자 정의 기본 호출 진행률 프로토콜이 사용됩니다.

반환 값

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

LINEERR_ADDRESSBLOCKED, LINEERR_INVALPOINTER, LINEERR_DIALBILLING, LINEERR_NOMEM, LINEERR_DIALDIALTONE, LINEERR_NOTOWNER, LINEERR_DIALPROMPT, LINEERR_OPERATIONFAILED, LINEERR_DIALQUIET, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE.

설명

LINEERR_INVALADDRESS 반환된 경우 전화 걸기는 수행되지 않습니다. LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE 또는 LINEERR_DIALPROMPT 반환되면 lineDial 에서 수행되지 않은 작업이 발생하지 않습니다. 예를 들어, 잘못된 문자 이전에 전화 걸기 가능한 주소 중 어느 것도 전화를 걸지 않았고, 후크위치 상태가 변경되지 않았습니다.

lineDial 함수는 기존 호출 모양에서 전화를 거는 데 사용됩니다. 예를 들어 이전 또는 회의를 위해 통화가 설정되면 상담 통화가 자동으로 할당되고 lineDial 함수를 사용하여 이 상담 통화의 전화 걸기를 수행합니다. lineDial 함수는 회선의 디바이스 기능이 허용하는 경우 다단계 전화 걸기 과정에서 여러 번 호출할 수 있습니다. 또한 CRLF로 구분된 단일 다이얼 문자열로 여러 주소를 제공할 수 있습니다. 역 멀티플렉싱을 제공하는 서비스 공급자는 각 주소로 개별 물리적 호출을 설정할 수 있으며 애플리케이션에 대한 모든 호출의 집계에 단일 호출 핸들을 반환할 수 있습니다. 모든 주소는 동일한 국가 또는 지역 코드를 사용합니다.

전화 걸기는 주소가 서비스 공급자에게 전달된 후 완료된 것으로 간주됩니다. 호출이 마지막으로 연결되면 안 됩니다. 역 멀티플렉싱을 제공하는 서비스 공급자는 여러 주소를 한 번에 제공할 수 있습니다. 서비스 공급자는 LINE_CALLSTATE 메시지를 애플리케이션에 전송하여 호출 진행률을 알 수 있습니다. 호출이 설정되는 동안 호출 시도를 중단하려면 호출 애플리케이션에서 lineDrop을 사용해야 합니다.

애플리케이션은 lineDial 함수의 lpszDestAddress 매개 변수를 빈 문자열의 주소로 설정하여 전화 걸기를 완료했음을 나타낼 수 있지만 lineMakeCalllineDial 함수에 대한 이전 호출에 lpszDestAddress로 지정된 문자열이 세미콜론으로 종료된 경우에만 가능합니다.

lineDial 함수는 부분 전화 걸기에서도 사용할 수 있습니다. 부분 전화 걸기를 사용하여 통화를 시작하기 위해 애플리케이션은 lineMakeCall 을 호출하고 부분 전화 걸기 문자열을 지정합니다. 부분 다이얼 문자열은 세미콜론으로 종료된 모든 다이얼 문자열입니다. 호출은 일반적으로 LINECALLSTATE_DIALING 전환되고 그 후에 lineDial 을 호출하여 더 많은 전화 걸기 문자열을 지정할 수 있으며, 각 문자열은 세미콜론으로 종료됩니다. 다이얼은 세미콜론으로 종료되지 않은 다이얼 문자열(예: 빈 문자열)으로 lineDial 을 호출하여 완료됩니다. 이 기술을 사용하면 애플리케이션이 사용자와 대화형 부분 전화 걸기를 수행하거나 TSP가 수행할 수 있는 것보다 더 정교한 전화 걸기를 사용하도록 설정할 수 있습니다.

null 대상 문자열 또는 세미콜론(";")으로 종료된 빈 문자열이 lineMakeCall 에 입력되면 애플리케이션이 LINE_CALLSTATE_DIALTONE 전환됩니다. lineDial 함수를 이 상태에서 호출하여 단일 다이얼 문자열 또는 여러 부분 다이얼 문자열을 입력할 수 있습니다. 각 문자열은 세미콜론으로 구분됩니다. 애플리케이션은 첫 번째 숫자를 입력한 후 LINECALLSTATE_DIALING 상태로 전환됩니다.

참고lineDial 함수는 호출이 LINECALLSTATE_DIALING 또는 LINE_CALLSTATE_DIALTONE 경우에만 사용할 수 있습니다. 호출이 연결된 동안 DTMF가 필요한 경우(LINECALLSTATE_CONNECTED) lineGenerateDigits를 사용합니다.
 

요구 사항

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

추가 정보

기본 전화 통신 서비스 참조

다이얼 개요

전화 걸기 가능 주소

LINE_CALLSTATE

LINE_REPLY

TAPI 2.2 참조 개요

lineDrop

lineMakeCall