텔레포니 애플리케이션프로그래밍

Telephony Application Programming Interface

Telephony Application Programming Interface(TAPI; 텔레포니응용 프로그램프로그래밍 인터페이스)는 Microsoft Windows API로 컴퓨터 텔레포니 통합을 제공하며 Microsoft Windows를 실행하는 PC에서 전화 서비스를 사용할 수 있도록 합니다.다른 버전의 TAPI는 다른 버전의 Windows에서 사용할 수 있습니다.TAPI 를 사용하면, 애플리케이션과 전화 네트워크간의 텔레포니 기능을 제어해, 데이터, 팩스, 및 음성 콜을 실시할 수 있습니다.다이얼, 응답, 콜의 절단등의 기본적인 기능이 포함되어 있습니다.또, PBX, ISDN, 및 그 외의 전화 시스템에 있는 보류, 전송, 회의, 콜 파크등의 보충 기능도 서포트하고 있습니다.

TAPI는 주로 모뎀 또는 최근에는 Business Telephone System(PBX; 비즈니스 전화 시스템) 핸드셋을 제어하기 위해 사용됩니다.PBX 핸드셋을 제어하는 경우, 드라이버는 전화 시스템의 제조원에 의해서 제공됩니다.제조원에 따라서는, 복수의 핸드 세트를 제어할 수 있는 드라이버를 제공하고 있습니다.이를 전통적으로 "서드파티 제어"라고 합니다.다른 메이커에서는, 1대의 핸드 세트를 제어할 수 있는 드라이버를 제공하고 있습니다.이를 퍼스트 파티 컨트롤이라고 합니다.서드파티제의 드라이버는, 애플리케이션이 복수의 내선 번호를 동시에 표시하거나 제어할 수 있도록 설계되어 있습니다.전화 시스템에 따라서는 서드파티 접속을 한 번에 1개만 허용합니다.퍼스트 파티제의 드라이버는, 애플리케이션이 한 번에 1개의 내선 번호를 감시하거나 제어할 수 있도록 설계되어 있습니다.전화 시스템은 자연스럽게 이러한 연결의 많은 부분을 동시에 허용합니다.모뎀 접속은 기본적으로 퍼스트 파티제입니다.

TAPI는 음성 모뎀 및 Dialogic 카드 등의 전용 하드웨어 등의 음성 지원 텔레포니디바이스를 제어하기 위해서도 사용할 수 있습니다.

역사

TAPI는 마이크로소프트와 인텔이 공동 개발한 결과로 1993년에 도입되었습니다.TAPI의 첫 번째 공개 버전은 버전 1.3으로 Microsoft Windows 3.1 위에 패치로 릴리스되었습니다.버전 1.3 드라이버는 16비트뿐이었습니다.일부 MSDN 개발 라이브러리 CD에는 아직 파일과 패치가 포함되어 있지만 버전 1.3은 지원되지 않습니다.

Microsoft Windows 95 에서는, TAPI 가 operating system에 통합되었습니다.Windows 95의 첫 번째 버전은 TAPI 1.4였습니다.TAPI 1.4는 32비트 애플리케이션을 지원했습니다.

TAPI 표준은 개별 컴퓨터로부터의 연결과 임의의 수의 컴퓨터를 지원하는 LAN 연결을 모두 지원합니다.

TAPI 2.0은 Windows NT 4.0에서 도입되었습니다.버전 2.0은 Windows NT 플랫폼의 첫 번째 버전입니다.ACD 및 PBX 고유의 기능을 지원함으로써 큰 진전을 이루었습니다.

1997년에 마이크로소프트는 TAPI 버전 2.1을 출시했습니다.이 버전의 TAPI는 다운로드 가능한 업데이트로 제공되었으며 Microsoft Windows 95 및 Windows NT/2000 플랫폼 모두에서 지원되는 첫 번째 버전입니다.

TAPI 3.0은 Windows 2000과 함께 1999년에 출시되었습니다.이 버전에서는, 2대(H.323을 사용) 이상의 컴퓨터간에(IP 멀티 캐스트를 사용) 접속하기 위한 심플하고 범용적인 방법을 제공해, IP 텔레포니(VoIP)를 유효하게 합니다.또, 접속에 관계하는 임의의 미디어 스트림(MSP 드라이버)에 액세스 할 수도 있습니다.

Windows XP에는 TAPI 3.1과 TAPI 2.2가 모두 포함되어 있습니다.TAPI 3.1은 Microsoft 컴포넌트 오브젝트 모델을 지원하며 애플리케이션 프로그래머에게 일련의 COM 오브젝트를 제공합니다.이 버전에서는 응용 프로그램이 스트리밍 데이터를 파일에 기록하고 기록된 데이터를 스트림으로 재생할 수 있는 파일 터미널을 사용합니다.USB Phone TSP(Telephony Service Provider)도 포함되어 있습니다.이것에 의해, 애플리케이션은 USB 전화기를 제어해, 스트리밍 엔드 포인트로 사용할 수 있습니다.TAPI 3.0 또는 TAPI 3.1은 각각 Windows 2000 및 Windows XP 이전 운영 체제에서는 사용할 수 없습니다.

Telephony Server Application Programming Interface(TSAPI; 텔레포니서버 애플리케이션프로그래밍 인터페이스)는 NetWare 서버용으로 Novell이 개발한 것과 같은 규격입니다.

전화 주소 형식

TAPI 에서는, 전화[1][2] 번호에 Microsoft 의 표준 주소 형식을 사용하고 있습니다.이것은 E.123 국제 표기법의 파생어입니다.

표준 주소는 다음 형식의 텍스트 문자열입니다.+Country␣(AreaCode)␣ SubscriberNumber Subaddress ^ Name CRLF지역번호, 서브주소 및 이름은 옵션입니다.ISDN/E1/T1 텔레커뮤니케이션프로토콜에서 사용되는 다이렉트 내선다이얼 발호자명을 위한 내선번호는 ISDN/E1/T1 텔레커뮤니케이션프로토콜에서 사용됩니다.

다이얼 규칙은 사용자의 위치에 따라 표준 전화번호를 모뎀의 다이얼 가능한 콜시퀀스로 변환하기 위해 사용됩니다.다이얼 규칙에는 지역번호, 트렁크접속 및 국제접속 프리픽스, 센트럴사무실 액세스 및 전화카드/[1][2]신용카드 번호의 가변길이 다이얼이 포함됩니다.

콜 시퀀스에는, 번호등의 다이얼 가능한 번호를 포함할 수 있습니다.0-9 DTMF 톤ABCD*#, 문자 형식 지정 ␣ . -, 및 제어 문자! P T , W @ $ ? ;이는 Hayes AT 명령어세트의 다이얼명령어에 대응합니다.다음과 같은 제어 문자가 정의되어 있습니다.

! - 훅 플래시(즉, 0.5초 훅에 이어 0.5초 오프 훅)
P - 펄스 다이얼 모드;
T - 톤 다이얼모드
, - 일시정지 다이얼(디바이스에 의해 지정된 다이얼);
W - 다이얼 톤을 기다립니다;
@ - "조용한 응답"을 기다립니다. 즉, 호출음이 울린 후 몇 초간의 무음 상태가 이어집니다.
$ - 신용카드 프롬프트 톤 등의 청구 신호를 기다립니다.
? - 계속하기 전에 사용자에게 프롬프트가 표시됨을 나타냅니다(API에는 사용자 프롬프트를 구현하는 수단이 없기 때문에 애플리케이션 오류가 발생합니다).
; - 번호가 완전하지 않고 나중에 종료됩니다(다이얼 가능한 번호에서만 유효).

TAPI 2.x 대 TAPI 3.x

TAPI 3.0(또는 TAPI 3.1)이 TAPI 2.x를 대체하는 은 일반적인 오해입니다.

TAPI 2.x 및 이전 버전은 C로 작성되었으며 API는 구조에 대한 포인터를 사용합니다.따라서 TAPI 2.x는 C 또는 C++ 어플리케이션에서 쉽게 접근할 수 있지만 다른 많은 프로그래밍 언어에서 사용하기 어려울 수 있습니다.

TAPI 3.x는 Component Object Model(COM) 인터페이스를 사용하여 설계되었습니다.이는 VB에서 개발된 애플리케이션이나 COM에 쉽게 액세스할 수 있지만 C-스타일 포인터는 다루지 않는 기타 환경에서 사용할 수 있도록 하기 위한 것입니다.

TAPI 3.x의 기능은 TAPI 2.x와 약간 다릅니다.통합 미디어 제어 기능이 추가된 것이 가장 중요한 추가 사항입니다.그러나 TAPI 3.x에는 전화 클래스 지원 등 TAPI 2.x의 모든 기능이 포함되어 있지 않습니다.

TAPI 3.x의 가장 중요한 문제 중 하나는 관리 코드(.NET 환경).Microsoft Knowledge Base(문서번호841712)에 기재되어 있는 바와 같이 Microsoft는 현재 에서 직접 TAPI 3.x를 지원할 계획이 없습니다.NET 프로그래밍 언어단, Mark Smith는 ITAPI3라는 이름의[3] 관리 대상 C++ 라이브러리와 2.x 래퍼를 에 제공하고 있습니다.NET.[4] 다른 개발자는 TAPI 지원 [5]PBX와 간접적으로 연동할 수 있는 라이브러리를 제공합니다.

애플리케이션 개발자가 TAPI 2.x와 TAPI 3.x 중 하나를 선택하는 것은 하드웨어 벤더의 권장 사항입니다.TAPI는 전화 회선의 추상적인 모델을 제공하지만 텔레포니애플리케이션은 여전히 기반이 되는 하드웨어의 특정 동작에 큰 영향을 받습니다.동작의 문제를 트러블 슈팅 하려면 보통 소프트웨어와 하드웨어 벤더의 협업이 필요합니다.TAPI Service Provider(TSP; 서비스 프로바이더) 인터페이스와 TAPI 2.x 인터페이스 사이에는 거의 1:1의 관계가 있기 때문에 애플리케이션이 TAPI 2.x를 사용하여 설계되어 있으면 협업이 쉬워집니다.TAPI 3.x에 대한 경험은 하드웨어 벤더에 따라 크게 다릅니다.

TAPI 준거 하드웨어

Windows 에서는, TAPI 의 서포트는, 음성 모뎀(내부 및 외부 모두)이나 Dialogic 텔레포니 카드등의 컴퓨터 확장 보드등의 텔레포니 하드웨어로 거의 보편화되어 있었습니다.TAPI를 네이티브로 지원하지 않는 유일한 예외는 Avaya Communications Manager였습니다.[6]Avaya Communication Manager는 접속을 위해 TSAPI 인터페이스에만 의존했습니다.

많은 PBX 시스템은 TAPI 준거 모뎀인터페이스를 제공합니다.TAPI 호환 PBX 솔루션에는 Aastra(400/800), Aastra(MX-ONE), Alcatel(OXO/OXE), Avaya(BCM, IP Office), Cisco(Call Manager), Ericson-LG(eMG80, IPECS, IPLD), NECK, NECLD가 포함됩니다.Office), ShoreTel, WildixZyXEL(X6004/X2002).

제조원이 제조한 드라이버가 없는 전화 시스템에 서드파티 드라이버를 사용할 수 있는 경우가 많습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c "MSDN: TAPI Applications - Device Control - Canonical Address".
  2. ^ a b "Microsoft Technet: Dialing Rules and Canonical Address Format".
  3. ^ "ITAPI3 - Managed TAPI 3.0 .NET wrapper". GitHub. 15 March 2021.
  4. ^ "ATAPI.NET - Managed library for TAPI development with .NET". GitHub. 12 November 2021.
  5. ^ "Siptapi".
  6. ^ "Programmer's Reference".

외부 링크