Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Telephony Application Programming Interface ( TAPI ) является Microsoft Windows API , который обеспечивает интеграцию компьютерной телефонии и позволяет ПК под управлением Microsoft Windows , чтобы использовать телефонные услуги. В разных версиях Windows доступны разные версии TAPI. TAPI позволяет приложениям управлять функциями телефонии между компьютером и телефонной сетью для передачи данных, факсов и голосовых вызовов. Он включает в себя основные функции, такие как набор номера, ответ и завершение вызова. Он также поддерживает дополнительные функции, такие как удержание, перевод, конференц-связь и парковка вызовов, которые есть в PBX , ISDN., и другие телефонные системы.

TAPI используется в основном для управления модемами или, в последнее время, для управления телефонными аппаратами служебной телефонной системы (PBX). При управлении АТСтелефонной трубки, драйвер предоставляется производителем телефонной системы. Некоторые производители предоставляют драйверы, позволяющие управлять несколькими телефонными трубками. Это традиционно называется «сторонним контролем». Другие производители предоставляют драйверы, позволяющие управлять одним телефоном. Это называется «сторонним контролем». Сторонние драйверы предназначены для того, чтобы приложения могли одновременно видеть и / или управлять несколькими расширениями. Некоторые телефонные системы разрешают только одно стороннее соединение за раз. Сторонние драйверы предназначены для того, чтобы приложения могли отслеживать и / или управлять одним расширением за раз. Телефонные системы, естественно, допускают многие из этих подключений одновременно. Модемные соединения по своей природе являются первыми.

TAPI также может использоваться для управления телефонными устройствами с поддержкой голоса, включая голосовые модемы и специализированное оборудование, такое как карты Dialogic .

История [ править ]

TAPI был представлен в 1993 году в результате совместной разработки Microsoft и Intel . Первой общедоступной версией TAPI была версия 1.3, выпущенная как патч поверх Microsoft Windows 3.1. Драйверы версии 1.3 были только 16-битными. Версия 1.3 больше не поддерживается, хотя некоторые компакт-диски с библиотекой разработки MSDN все еще содержат файлы и исправления.

В Microsoft Windows 95 TAPI был интегрирован в операционную систему. Первой версией для Windows 95 был TAPI 1.4. TAPI 1.4 имел поддержку 32-битных приложений.

Стандарт TAPI поддерживает как подключения с отдельных компьютеров, так и подключения к локальной сети, обслуживающие любое количество компьютеров.

TAPI 2.0 был представлен в Windows NT 4.0. Версия 2.0 была первой версией на платформе Windows NT. Он сделал значительный шаг вперед, поддерживая специфические для ACD и PBX функциональные возможности.

В 1997 году Microsoft выпустила TAPI версии 2.1. Эта версия TAPI была доступна в виде загружаемого обновления и была первой версией, которая поддерживалась как на платформах Microsoft Windows 95, так и на Windows NT / 2000.

TAPI 3.0 был выпущен в 1999 году вместе с Windows 2000 . Эта версия включает IP-телефонию ( VoIP ), предоставляя простые и универсальные методы для установления соединений между двумя (с использованием H.323 ) или более (с использованием IP Multicast ) компьютерами, а теперь также предлагает возможность доступа к любому медиапотоку (драйвер MSP), участвующему в связь.

Windows XP включала как TAPI 3.1, так и TAPI 2.2. TAPI 3.1 поддерживает модель компонентных объектов Microsoft и предоставляет набор COM-объектов для прикладных программистов. В этой версии используются файловые терминалы, которые позволяют приложениям записывать потоковые данные в файл и воспроизводить эти записанные данные обратно в поток. Также был включен USB Phone TSP ( поставщик услуг телефонии ), который позволяет приложению управлять USB-телефоном и использовать его в качестве конечной точки потоковой передачи. TAPI 3.0 или TAPI 3.1 недоступны в операционных системах более ранних, чем Windows 2000 и Windows XP соответственно.

Интерфейс прикладного программирования сервера телефонии ( TSAPI ) - аналогичный стандарт, разработанный Novell для серверов NetWare .

Формат телефонного адреса [ править ]

TAPI использует канонический формат адреса Microsoft для телефонных номеров [1] [2] для совершения телефонных звонков. Это производная от международной нотации E.123 .

Канонический адрес представляет собой текстовую строку в следующем формате: +Country␣(AreaCode)␣ SubscriberNumber | Subaddress ^ Name CRLF. Код города, дополнительный адрес и имя не являются обязательными; последний может нести добавочный номер для прямого входящего набора и имя вызывающей стороны , как это используется телекоммуникационными протоколами ISDN / E1 / T1 .

Правила набора используются для преобразования канонического телефонного номера в наборную последовательность вызовов для модема в зависимости от местоположения пользователя. Правила набора включают набор с переменной длиной кода зоны, префиксы доступа к соединительной линии и международного доступа, а также доступ к центральному офису и номера телефонных / кредитных карт . [1] [2]

Последовательность вызова может содержать набираемые номера, такие как цифры 0-9и сигналы DTMFABCD*# , символы форматирования ␣ . -и управляющие символы, ! P T , W @ $ ? ;которые соответствуют команде набора из набора команд Hayes AT . Определены следующие управляющие символы: [1]

! - hookflash, т.е. половина второго по трубке с последующим полсекунды снятия трубки ;
P - импульсный режим набора ;
Т - режим тонального набора ;
, - пауза в наборе номера (продолжительность задается устройством);
W - дождаться гудка ;
@ - дождаться «тихого ответа», т. е. сигнала обратного вызова, за которым следует несколько секунд тишины;
$ - дождаться сигнала биллинга, такого как сигнал подсказки кредитной карты;
? - указывает, что пользователю необходимо запросить перед продолжением (приводит к ошибке приложения, поскольку API не имеет средств для реализации запроса пользователя);
; - номер не полный и будет добавлен позже (действительно только для набираемого номера).

TAPI 2.x против TAPI 3.x [ править ]

Это распространенное заблуждение , что ТАПИ 3.0 (или ТАПИ 3.1 ) заменяет TAPI 2.x .

TAPI 2.x и более ранние версии были написаны на C ; API использует указатели на структуры. Следовательно, к TAPI 2.x легко получить доступ из приложений C или C ++ , но его может быть неудобно использовать из многих других языков программирования .

TAPI 3.x был разработан с использованием интерфейса модели компонентных объектов (COM). Это было сделано с целью сделать его доступным для приложений более высокого уровня, таких как разработанные в VB или других средах, которые обеспечивают легкий доступ к COM, но не имеют дело с указателями в стиле C.

TAPI 3.x имеет несколько иной набор функций, чем TAPI 2.x. Добавление интегрированного управления медиа было наиболее значительным дополнением. Но TAPI 3.x не включает в себя все функции, которые есть в TAPI 2.x, например поддержку класса Phone.

Одна очень заметная проблема с TAPI 3.x - это отсутствие поддержки управляемого кода ( среда .NET ). Как указано в статье 841712 базы знаний Майкрософт, в настоящее время Microsoft не планирует поддерживать TAPI 3.x непосредственно из языков программирования .NET. Однако Марк Смит предоставил управляемую библиотеку C ++ под названием ITAPI3 [3] и оболочку 2.x для .NET. [4] Другие разработчики предоставляют библиотеки для косвенной работы с УАТС с поддержкой TAPI. [5]

Одной из часто упускаемых из виду причин, по которой разработчик приложений может выбирать между TAPI 2.x и TAPI 3.x, должна быть рекомендация поставщиков оборудования. Несмотря на то, что TAPI предоставляет абстрактную модель телефонных линий, на приложения телефонии по-прежнему сильно влияет конкретное поведение базового оборудования. Для устранения проблем с поведением обычно требуется совместная работа поставщиков программного и аппаратного обеспечения. Поскольку между интерфейсом поставщика услуг TAPI (TSP) и интерфейсом TAPI 2.x существует почти соотношение 1: 1, сотрудничество часто упрощается, если приложение разработано с использованием TAPI 2.x. Опыт работы с TAPI 3.x значительно различается между поставщиками оборудования.

TAPI-совместимое оборудование [ править ]

В Windows поддержка TAPI была почти универсальной в телефонном оборудовании, таком как голосовые модемы (как внутренние, так и внешние) и компьютерные платы расширения, такие как телефонные карты Dialogic . Единственным заметным исключением, никогда изначально не поддерживающим TAPI, был Avaya Communication Manager, который полагался исключительно на интерфейс TSAPI для подключения. [6]

Многие системы PBX предоставляют модемные интерфейсы, совместимые с TAPI. Совместимые с TAPI решения для УАТС включают Aastra (400/800), Aastra (MX-ONE), Alcatel (OXO / OXE), Avaya (BCM, IP Office), Cisco (Call Manager), Ericsson-LG (eMG80, iPECS, ipLDK) , NEC-Philips (iS3000, IPC100 / 500), NEC (SL1000, SV8100 / 9100), Nitsuko (DXE600 / 328), Panasonic (KX-TDA / TDE / NCP, KX-NS1000), Samsung (OfficeServ), Unify ( 3000/4000, Openscape Office), ShoreTel , Wildix и ZyXEL (X6004 / X2002).

Драйверы сторонних производителей часто доступны для телефонных систем, для которых не установлены драйверы производителей.

См. Также [ править ]

  • ЦАПИ
  • JTAPI (API телефонии Java)
  • Microsoft NetMeeting
  • Формат номера телефона Microsoft
  • Поставщик услуг телефонии
  • H.323

Ссылки [ править ]

  1. ^ a b c MSDN: Приложения TAPI - Управление устройствами - Канонический адрес
  2. ^ a b Microsoft Technet: правила набора и канонический формат адреса
  3. ^ https://github.com/markjulmar/itapi3
  4. ^ https://github.com/markjulmar/atapi.net
  5. ^ https://sourceforge.net/projects/siptapi/
  6. ^ Справочник программиста

Внешние ссылки [ править ]

  • Библиотека MSDN о TAPI
  • Часто задаваемые вопросы