휴대폰 디바이스는 휴대폰 디바이스 클래스를 지원하고 다음 요소의 일부 또는 전부를 포함하는 디바이스입니다.
Hookswitch/transducer: 오디오 입력 및 출력을 위한 수단입니다. 휴대폰 디바이스에는 여러 개의 트랜스듀서가 있을 수 있으며, 이 변환기는 애플리케이션 또는 수동 사용자 제어에서 활성화 및 비활성화(offhook 또는 onhook에 배치)할 수 있습니다.
전화 통신은 여러 전화 세트에 공통된 세 가지 유형의 후크위치 디바이스를 식별합니다.
핸드셋: 요람에서 수동으로 들어 올려 사용자의 귀에 붙들어야하는 전통적인 입과 귀 조각 조합입니다.
Speakerphone: 사용자가 핸즈프리 통화를 수행할 수 있습니다. 스피커폰은 휴대폰 디바이스의 내부 또는 외부일 수 있습니다. 스피커폰의 스피커 부분은 여러 수신기를 허용합니다.
헤드셋: 사용자가 핸즈프리 통화를 수행할 수 있도록 합니다.오디오 데이터를 해당 트랜스듀서에 전송 및/또는 수신할 수 있도록 하려면 hookswitch를 오프후크해야 합니다.
볼륨 제어/게인 컨트롤/음소거: 각 후크위치 디바이스는 스피커와 마이크 구성 요소의 페어링입니다. API는 스피커 구성 요소의 볼륨 제어 및 음소거와 마이크 구성 요소의 게인 제어 또는 음소거를 제공합니다.
링거: 일반적으로 종을 통해 사용자에게 경고하는 수단입니다. 휴대폰 디바이스는 다양한 모드 또는 패턴으로 울릴 수 있습니다.
표시: 사용자에게 메시지를 시각적으로 표시하기 위한 메커니즘입니다. 휴대폰 디스플레이는 행과 열의 수를 특징으로 합니다.
전화 단추: 단추 배열입니다. 사용자가 휴대폰 세트에서 단추를 누를 때마다 API는 해당 단추를 눌렀다고 보고합니다. 단추 램프 식별자는 단추와 램프 쌍을 식별합니다. 물론 단추가 없거나 램프가 없는 버튼 램프 쌍이 있을 수 있습니다. 단추 램프 식별자는 휴대폰 디바이스에서 사용할 수 있는 최대 단추 램프 수에서 1을 뺀 값까지의 정수 값입니다. 각 단추는 단추 클래스에 속합니다. 클래스에는 통화 모양 단추, 기능 단추, 키패드 단추 및 로컬 단추가 포함됩니다.
램프: API에서 개별적으로 제어할 수 있는 램프 배열(예: LED)입니다. 램프는 켜기 및 끄기 빈도를 변경하여 다양한 모드로 조명할 수 있습니다. 단추 램프 식별자는 램프를 식별합니다.
데이터 영역: 명령 코드 또는 데이터를 다운로드 및/또는 업로드할 수 있는 휴대폰 디바이스의 메모리 영역입니다. 다운로드한 정보는 휴대폰 디바이스의 동작(또는 프로그램)에 영향을 줍니다.
TAPI를 사용하면 애플리케이션이 휴대폰 디바이스의 요소를 모니터링하고 제어할 수 있습니다. 애플리케이션에 가장 유용한 요소는 hookswitch 디바이스입니다. 전화 세트는 볼륨 제어, 제어 및 음소거, 벨소리(사용자에게 경고용), 데이터 영역(휴대폰 프로그래밍용) 및 디스플레이가 있는 오디오 I/O 디바이스(컴퓨터)의 역할을 할 수 있지만 컴퓨터의 디스플레이가 더 가능할 수 있습니다. 램프 및 단추 기능은 전화 세트마다 크게 다를 수 있으며 응용 프로그램은 특정 전화 세트에 맞게 신속하게 조정될 수 있으므로 응용 프로그램 작성기는 전화 램프 또는 전화 단추를 직접 제어하거나 사용하지 않도록 권장되지 않습니다.
라인 디바이스(기본 전화 통신 서비스)에 대해 있기 때문에 모든 휴대폰 디바이스에서 지원되는 보장된 핵심 서비스 집합은 없습니다. 따라서 애플리케이션에서 휴대폰 디바이스를 사용하려면 먼저 애플리케이션이 휴대폰 디바이스의 정확한 기능을 결정해야 합니다. 전화 통신 기능은 구성(클라이언트 및 클라이언트/서버), 전화 하드웨어 및 서비스 공급자 소프트웨어에 따라 다릅니다. 애플리케이션은 사용할 수 있는 전화 통신 기능에 대해 어떠한 가정도 하지 않아야 합니다. 애플리케이션은 phoneGetDevCaps 함수를 호출하여 휴대폰 디바이스의 디바이스 기능을 결정합니다. 휴대폰의 장치 기능은 시스템에 있는 각 휴대폰 디바이스에 대해 존재하는 요소와 해당 기능이 무엇인지를 나타냅니다. 실제 전화 세트를 지향하지만, 이 추상화는 다른 장치에도 의미 있는 구현(또는 그 하위 집합)을 제공할 수 있습니다. 컴퓨터에서 직접 연결되고 제어할 수 있고 휴대폰 디바이스로 작동하는 별도의 헤드셋을 예로 들어 보세요. 후크위치 변경은 음성 에너지(오프후크) 또는 침묵 기간(onhook)의 감지에 의해 트리거될 수 있습니다. 벨소리는 헤드셋에 가청 신호를 생성하여 에뮬레이트할 수 있습니다. 텍스트 음성 변환을 통해 디스플레이를 에뮬레이트할 수 있습니다.
휴대폰 디바이스는 하드웨어에서 실현할 필요가 없지만 마우스 또는 키보드 기반 그래픽 명령 인터페이스와 컴퓨터의 스피커 또는 사운드 시스템을 사용하여 소프트웨어에서 에뮬레이트할 수 있습니다. 이러한 "소프트 폰"은 TAPI를 사용하는 애플리케이션일 수 있습니다. API를 통해 다른 애플리케이션에서 사용할 수 있는 전화 디바이스로 나열될 수 있는 서비스 공급자일 수도 있으며, 따라서 전화 디바이스 식별자가 할당됩니다.
환경 및 구성에 따라 전화 세트는 애플리케이션과 스위치 간에 공유 디바이스가 될 수 있습니다. 일부 사소한 프로비전은 스위치가 API의 휴대폰 디바이스 제어를 일시적으로 일시 중단할 수 있는 API에서 이루어집니다.