четверг, 31 марта 2011 г.

Что такое TAPI и как его готовить

TAPI - это интерфейс прикладного программирования для телефонии. Достаточно мощный API для создания приложений, связанных с телефонией.

Есть три основные версии: 1,2 и 3 :-). Первая и вторая версии представляют собой набор C-style функций, третья же объектно-ориентированная, COM и может быть использована хоть где без особых усилий: .Net, VB, VBS - там, где можно использовать COM объекты. 

Вообщем случае, требуется АТС, TSP драйвер от производителя АТС и приложение, использующее API TAPI.
Также Microsoft предлагает свой собственный TSP. Получается очень интересная штука. В наличие появляется сервер телефонии (например Windows server 2003 с включенным сервисом "Телефония"). На этом сервере устанавливается и настраивается TSP от производителя АТС. На клиентских хостах уже по умолчанию есть Microsoft TSP  - Microsoft Windows Remote Service Provider, и нет необходимости/зависимости от ПО сторонних разработчиков (других TSP).
Включается на стороне клиента командой:

tcmsetup /c server

Теперь на стороне клиента появится список телефонных линий, предоставляемых TSP сторонних АТС, которые доступны на сервере.

Очень подробный список вопросов и ответов по TAPI:
здесь

а здесь (Julmar) очень очень хорошие примеры использования TAPI.

Я пользовался ATAPI. Это обертка в объектно ориентированные классы(?) для MFC, но я перенес их для Builder c++ 6. В этой обертке есть баг, но он легко устраняется. Проявляется при отключении/включении телефонии.

Единственная обертка для .Net, которую я нашел и которая достаточно удобна, как раз на этом сайте: ATAPI.NET. Исходных кодов не выложили, но есть примеры и все вполне интуитивно. У меня есть небольшой телефон, написанный на .Net платформе, так что если ктонибудь захочет, можно организовать.

Вообще, область применения Tapi очень широка, от написания собственных Call-центров до написания автоматической обзванивающей софтинки, рабочие места операторов/специалистов и написание биллинга/логгера звонков.

вот, например, скриншот моей программы учета звонков:

1 комментарий: