Программный интерфейс телефонии (TAPI) - Разработка системы регистрации новых пользователей

Microsoft Win32 прикладной программный интерфейс телефонии (TAPI) обеспечивает услуги, которые дают возможность прикладному разработчику добавить телефонную связь к приложениям, разработанным для операционных систем, которые поддерживают Microsoft®Win32®API

Чтобы обеспечивать лучшую работу (выполнение) и поддержку на платформе Windows NT и на будущих выпусках платформы Windows 95, Win32 API телефонии и его поставщики услуг и компоненты поддержки полностью осуществлены как 32-разрядные компоненты в Win32. В дополнение к полному 32-разрядному выполнению, Win32 TAPI включает эти много новых особенностей:

Родная 32-разрядная поддержка. Все ядро TAPI компоненты - Win32, с полной поддержкой процессоров не Intel (выполняющийся Windows NT), симметрические многопроцессорные, многопоточные приложения, и приоритетная многозадачность.

    32-разрядная Прикладная мобильность. Существование Win32 полного TAPI и помогает приложениям TAPI, которые в настоящее время работают на Windows 95 (использующие TAPI 1.4 API) выполненный на Windows NT на Intel x86 семейство микропроцессоров без модификации или перетрансляции. 16-разрядная Прикладная мобильность. Существование Win16 полного TAPI и помогает приложениям TAPI, которые в настоящее время работают на Windows 95 и операционной системе Windows - 3.1 (использующие TAPI 1.3 API) выполненный на Windows NT без модификации или перетрансляции.

Поддержка уникода. Win32 приложения может выбрать существующий ANSI-код функциями TAPI или вызывать версии юникода функций, которые передают или возвращают строки (функции с суффиксом "W").

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

NDISTAPI совместимость. Существующая поддержка в Windows NT 3.5 для минипортов глобальной сети цифровой сети комплексного обслуживания под Службой удаленного доступа сохраняется. NDIS драйверы минипорта глобальной сети поддерживаются при поставщике услуг привилегированного режима без модификации.

Поддержка системного реестра. Все параметры телефонии сохранены в системном реестре. Поставщики услуг телефонии и все сохраненные параметры могут быть модифицированы во время работы локальной сети.

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

Качество Обслуживания (QOS) Приложения могут запросить, договориться, и повторно договориться о качестве обслуживания, и получить индикацию относительно QOS на прибывающих запросах и когда QOS изменен сетью.

Расширенное совместное использование устройства. Приложения могут ограничить обработку прибывающих запросов на устройстве к отдельному адресу, поддерживать особенности типа звонящего и при использовании указать ожидаемый режим носителей прибывающих запросов. Приложения, делающие экспортные запросы могут установить конфигурацию устройства при создании запроса.

Компоненты непривилегированного режима. Полная TAPI система, включая поставщика услуг верхнего уровня DLLs, выполняется в непривилегированном режиме.

Телефония - технология, которая интегрирует компьютеры с телефонной сетью. С телефонией, люди могут использовать их компьютеры, чтобы использовать в своих интересах широкий диапазон сложных особенностей связи и услуг по телефонной линии.

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

1) Использование телефонии в приложениях

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

TAPI дает вам непротиворечивый набор инструментальных средств для того, чтобы включить эти особенности в ваши приложения:

Соединяются непосредственно с телефонной сетью, а не полагаются на отдельное приложение связи

Номера телефона набираются автоматически

Передаются документы как файлы, факсы, или электронная почта

Данные доступа от поиска новостей и других информационных служб

Установка и управление запросами конференции

Получение, сохранение, и сортировка речевой почты

Идентификация вызывающей программы использования, чтобы автоматизировать обработку входящих запросов

Управление операциями удаленного компьютера

Совместная работа, используя телефонные линии

TAPI обеспечивает ваше приложение доступом к телефонной сети. Вы обеспечиваете ваших пользователей доступом к этим особенностям. Это означает, что вы выбираете и создаете интерфейс пользователя, который является совместимым с остальной частью вашего приложения. Вы выбираете интерфейс, и позволяете TAPI выполнять работу управления телефонными подключениями (связями).

2) Сетевые услуги

TAPI обеспечивает доступ к разнообразным телефонным сетевым услугам. Хотя эти услуги могут использовать различные технологии, чтобы установить запросы и передать голос и данные, TAPI делает их сервисно-определенными и прозрачными для приложений. Это означает, что Вы можете создать приложения, которые могут использовать в своих интересах любую доступную службу без включения сервисного определенного кода в вашем приложении.

Использование TAPI для обычной телефонной сети является прямым, потому что обычная телефонная сеть сравнительно проста. Обычно используется только один тип информации (типа данных или голоса) в запросе.

3) Компоненты Телефонии

Базируемая на Windows Открытая Архитектура Услуг (WOSA) модель, Windows Телефония состоит из TAPI и TAPI32 библиотек динамической связи (которые заставляют приложение, посылать запрос Службе Телефонии на обработку), TAPISRV. EXE (который осуществляет и управляет функциями TAPI) и одним или более поставщиками услуг телефонии (драйверы). TAPI обеспечивает не зависящий от устройства интерфейс для того, чтобы выполнить задачи телефонии. Поставщики услуг - библиотеки динамической связи, которые выполняют и возможно зависящие от устройств действия нижнего уровня.

Когда приложение вызывает функцию TAPI, TAPI динамически компонуемая библиотека проверяет правильность и генеральные параметры функции и передает управление TAPISRV. EXE. TAPISRV (Служба Телефонии) обрабатывает запрос и направляет запрос соответствующему поставщику услуг. Чтобы получать запросы от TAPISRV, поставщик услуг должен осуществить интерфейс драйвера службы Телефонии (TSPI). Поставщик услуг может обеспечить различные уровни интерфейса драйвера службы: основной, дополнительный, или расширенный (продленный). Например, простой поставщик услуг мог бы обеспечить основное обслуживание (службу) телефонии, типа поддержки запросам выхода, через Hayes-совместимый модем. Заказной поставщик услуг, написанный сторонним продавцом, мог бы обеспечить полный диапазон приходящей и уходящей поддержки запроса.

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

Для разработки алгоритма будем использовать компоненты TAPI 2.2 для Delphi 7 (рис. 8):

Рис. 8

Опишем те компоненты, которые будем использовать в дипломном проекте, а также рассмотрим используемые события, свойства и методы их обработки.

Компоненты TAPILineService и TAPIPhoneService инкапсулируют различные функции соответствующей службы TAPI. Задачей этих сервисов является загружать TAPI. DLL и согласовывать соглашения версий.

Руководящие устройства (TAPILineDevice, TAPIPhoneDevice) - это абстракция аппаратных средств типа модема / ISDN карты или телефона.

Линии - TAPILine. Каждому руководящему устройству могут быть подчинены различные линии.

Объект TTapiCallParams помогает вам формировать необходимую структуру TAPI.

Адрес - TAPIAddress. Минимум один адрес подчинен каждой линии. TAPI отличает 2 различных адресных формата: выборный и AddressID.

Вызовы - TAPICall. Вызов представляет подключение (связь) по меньшей мере, двух адресов.

Таблица 1

Свойства компонент

Пояснение

TTapiLine. Active

Это свойство активирует и дезактивирует прибор строки телефонии

TTapiLine. MediaModes

Это - набор разрядных флажков, которые указывают режимы носителей, которые используются, когда прибор строки TAPI активизирован, устанавливая TTapiLine

TTapiLine. Privileges

Это свойство используется, чтобы управлять привилегией, которую TTapiLine элемент хочет иметь к входящему, и исходящему запросу

TTapiLine. Device

Указывается компонент типа TAPILineDevice

TTapiCallParams. BearerMode

Этот свойство указывает режим, который используется, когда создан запрос.

TTapiCallParams. AddressID

Это свойство указывает адрес, который используется, когда создан запрос

TTapiCallParams. CallParamsFlags

Это - набор разрядных флажков, который использует LINECALLPARAMFLAGS_ константы

TTapiCallParams. MediaMode

Этот свойство указывает MediaMode, который используется, когда создан запрос

TAPILineDevice. LineMapper

Разрешает TAPI определить нужное устройство самостоятельно.

TAPILineDevice. ID

TAPIPhoneDevice. ID

Идентификатор устройства подключенного к линии.

TAPILineService. AppName

TAPIPhoneService. AppName

Это название приложение, которое посылало или первоначально принимало запрос или ответило на запрос.

TAPICall. Info. CallerID

Это свойство содержит информацию, которая идентифицирует возникающий адрес запроса.

TAPIPhone. SpeakerHookSwitchMode

Устанавливает режим работы общей связи

TAPIPhone. SpeakerVolume

Объем звуковых данных общей связи

TAPIPhone. SpeakerGain

Коэффициент усиления общей связи

TAPIPhone. HeadSetHookSwitchMode

Устанавливает режим работы наушников

TAPIPhone. HandSetHookSwitchMode

Устанавливает режим работы микрофона

TAPIPhone. HeadSetVolume

Объем звуковых данных наушников

TAPIPhone. HeadSetGain

Коэффициент усиления наушников

TAPIPhone. HandSetVolume

Объем звуковых данных микрофона

TAPIPhone. HandSetGain

Коэффициент усиления микрофона

Таблица 2

Методы объектов

Пояснение

TAPIAddress1.OutboundCall. MakeCall

Функция размещает запрос на строке

TAPICall1.Drop

TAPIAddress1.OutboundCall. Drop;

Метод понижает или разъединяет точно установленный запрос. Запрос типично перемещается в неактивный запрос, и будет через некоторое время освобожден

TAPIAddress1.InboundCall. Answer

Метод отвечает на точно установленный запрос предложения. После того, как запросу успешно ответили, состояние запросов типично переходит на связанное состояние

TAPICall1.DeallocateCall

В TAPI больше ненужный (неактивный) запрос должен быть удален, чтобы освободить внутренние ресурсы.

TAPIAddress1.InboundCall. Accept

Функция принимает точно установленный предлагаемый запрос. И показывает что приложение примет контроль вызова.

Таблица 3

События

Пояснения

TAPILineDevice. OnStateReMoved

При удалении устройства из системы

TAPILineDevice. OnStateRinging

Событие вызывается тогда, когда "ИН" (Индикатор звонка) обнаружил активный сигнал в порту

TAPICall. OnInfoCallerId

CallerID информация появилась или изменилась

TAPICall. OnReply

При ответе устройства на запрос

TAPICall. OnStateBusy

При состоянии в линии - 'занято'

TAPICall. OnStateConnected

При состоянии соединения

TAPICall. OnStateDisconnected

При состоянии разъединения

TAPICall. OnStateIdle

События появляется если запрос находится в неактивном состоянии

TAPICall. OnStateOffering

Входящий запрос обнаружен на строке

TAPICall. OnStateProceeding

Появляется когда идет набор номера, и запрос продолжает проходить сквозь коммутатор или телефонную сеть.

Похожие статьи




Программный интерфейс телефонии (TAPI) - Разработка системы регистрации новых пользователей

Предыдущая | Следующая