디바이스 클래스는 프로그래머가 비슷한 속성이 있는 디바이스를 비슷한 방식으로 처리하도록 하여 개발을 간소화합니다. 예를 들어, 사무실의 디지털 전화는 일반적으로 가정의 표준 핸드셋보다 더 많은 기능을 가지고 있지만 둘 다 기본 기능 집합과 거의 동일한 방식으로 응답하며 둘 다 전화 장치 클래스에 속합니다. 디바이스 클래스를 사용하면 새 장비를 분류하고 지원할 프레임워크를 제공하여 TAPI를 확장할 수 있습니다.
TAPI가 미리 정의한 클래스는 TAPI 디바이스 클래스 참조하세요. 서비스 공급자는 지원하는 장비에 대한 추가 디바이스 클래스를 구현하고 정의할 수 있습니다. 애플리케이션은 어떤 서비스 공급자가 어떤 디바이스를 제어할지 알 필요가 없지만 새 디바이스 클래스의 제어에 대한 정보가 필요할 수 있습니다.
서비스 공급자는 요청을 실제 디바이스 명령에 매핑하여 디바이스 클래스를 구현합니다. 예를 들어 Hayes 호환 모뎀의 서비스 공급자가 TAPISVR을 통해 전달된 명령을 수신하여 호출하면 클래식 AT 명령을 모뎀으로 보냅니다.
서비스 공급자 인터페이스는 일반적으로 전화 통신에 속하지 않는 환경을 포함하여 광범위한 환경에 매핑할 수 있습니다. 예를 들어 인터넷과 같은 IP 기반 네트워크를 통해 멀티미디어 회의를 수행합니다.
애플리케이션 개발자는 전화 통신 서비스를 공유할 수 있는 다른 애플리케이션의 존재를 염두에 두어야 합니다.