Интерфейс программирования приложений телефонии - Telephony Application Programming Interface
В Интерфейс программирования приложений телефонии (ТАПИ) это Майкрософт Виндоус API, которая обеспечивает интеграция компьютерной телефонии и позволяет ПК Бег Майкрософт Виндоус использовать телефон Сервисы. В разных версиях Windows доступны разные версии TAPI. TAPI позволяет приложениям управлять функциями телефонии между компьютером и телефонной сетью для передачи данных, факсов и голосовых вызовов. Он включает в себя основные функции, такие как набор номера, ответ и завершение вызова. Он также поддерживает дополнительные функции, такие как удержание, перевод, конференц-связь и парковка вызовов. АТС, ISDN, и другие телефонные системы.
TAPI используется в основном для управления модемами или, в последнее время, для управления телефонными аппаратами служебной телефонной системы (PBX). При управлении АТС телефонной трубки, драйвер предоставляется производителем телефонной системы. Некоторые производители предоставляют драйверы, позволяющие управлять несколькими телефонными трубками. Это традиционно называется «сторонним контролем». Другие производители предоставляют драйверы, позволяющие управлять одним телефоном. Это называется «сторонним контролем». Драйверы сторонних производителей позволяют приложениям одновременно видеть и / или управлять несколькими расширениями. Некоторые телефонные системы разрешают только одно стороннее соединение за раз. Сторонние драйверы предназначены для того, чтобы приложения могли отслеживать и / или управлять одним расширением за раз. Телефонные системы, естественно, допускают многие из этих подключений одновременно. Модемные соединения по своей природе являются первыми.
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 поддерживает как подключения с отдельных компьютеров, так и LAN подключения, обслуживающие любое количество компьютеров.
TAPI 2.0 был представлен с Windows NT 4.0. Версия 2.0 была первой версией на платформе Windows NT. Он сделал значительный шаг вперед, поддержав ACD и АТС -специфическая функциональность.
В 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 Телефон TSP (Поставщик услуг телефонии ), что позволяет приложению управлять телефоном USB и использовать его в качестве конечной точки потоковой передачи. TAPI 3.0 или TAPI 3.1 недоступны в операционных системах ранее Windows 2000 и Windows XP соответственно.
В Интерфейс программирования приложений сервера телефонии (ЦАПИ ) - аналогичный стандарт, разработанный Novell для NetWare серверы.
Формат телефонного адреса
TAPI использует канонический формат адреса Microsoft для телефонных номеров.[1][2] делать телефонные звонки. Это производная от E.123 международная нотация.
Канонический адрес - это текстовая строка следующего формата: + Страна␣ (AreaCode) ␣ SubscriberNumber | Дополнительный адрес ^ Имя CRLF
. Код города, дополнительный адрес и имя не являются обязательными; последний может иметь добавочный номер для прямой внутренний набор и имя вызывающей стороны, как используется ISDN /E1 /Т1 телекоммуникационные протоколы.
Правила набора используются для преобразования канонического телефонного номера в вызываемую последовательность для набора номера. модем, в зависимости от местонахождения пользователя. Правила набора включают набор переменной длины для кода города, префиксы доступа к соединительной линии и международного доступа, а также доступ к центральному офису и визитная карточка /кредитная карта числа.[1][2]
Последовательность вызова может содержать набираемые номера, например цифры. 0-9
и DTMF тона ABCD * #
, форматирование символов ␣ . -
, и управляющие символы ! P T, W @ $? ;
которые соответствуют команде набора Hayes Набор команд AT. Определены следующие управляющие символы: [1]
- ! - отблеск, т.е. полсекунды на крючке затем полсекунды с крючка;
- П - импульсный набор Режим;
- Т - тональный набор Режим;
- , - пауза в наборе номера (длительность задается устройством);
- W - ждать гудок;
- @ - дождаться «тихого ответа», т.е. сигнал обратного вызова затем несколько секунд тишины;
- $ - дождаться сигнала биллинга, такого как сигнал запроса кредитной карты;
- ? - указывает на то, что пользователю необходимо запросить перед продолжением (приводит к ошибке приложения, поскольку API не имеет средств для реализации запроса пользователя);
- ; - номер не полный и будет добавлен позже (действительно только в набираемом номере).
TAPI 2.x против TAPI 3.x
Распространенное заблуждение, что ТАПИ 3.0 (или ТАПИ 3.1) заменяет ТАПИ 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 - это отсутствие поддержки управляемого кода (.СЕТЬ Окружающая среда). Как описано в статье Microsoft KB. 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, который полагался исключительно на ЦАПИ интерфейс для связи.[6]
Много АТС системы предоставляют TAPI-совместимые модемные интерфейсы. TAPI-совместимые решения для АТС включают: Аастра (400/800), Аастра (MX-ONE), Alcatel (OXO / OXE), Avaya (BCM, IP Office), Cisco (Менеджер звонков), Ericsson-LG (eMG80, iPECS, ipLDK), NEC-Philips (iS3000, IPC100 / 500), NEC (SL1000, SV8100 / 9100), Ницуко (DXE600 / 328), Panasonic (KX-TDA / TDE / NCP, KX-NS1000), Samsung (OfficeServ), Унифицировать (3000/4000, офис Openscape), ShoreTel, Wildix, и ZyXEL (X6004 / X2002).
Драйверы сторонних производителей часто доступны для телефонных систем, для которых не установлены драйверы производителей.
Смотрите также
- ЦАПИ
- JTAPI (API телефонии Java)
- Microsoft NetMeeting
- Формат номера телефона Microsoft
- Поставщик услуг телефонии
- H.323