Управление устройствами (API телефонии)
Для управления устройством на уровне конечного пользователя или серверного приложения требуется относительно небольшой набор основных сведений. Уровень абстракции поставщика услуг выполняет подробное управление устройством. Поставщики услуг передают необходимые сведения об устройстве приложению через TAPI.
К основным категориям устройств относятся:
- Сеть: транспортный уровень для обмена данными. С точки зрения приложения сведения о сети обычно внедряются в тип адреса, например LINEADDRESSTYPE_PHONENUMBER.
- Строка: подключение к сети. Эта концепция широко используется в TAPI 2.2 (TAPI/C).
- Канал: подраздел линии. Знание каналов обычно не требуется для приложения, так как поставщик услуг настраивает, как они будут отображаться в качестве адресов.
- Адрес: сетевое расположение в сети. Каждая строка или канал имеет один или несколько связанных адресов. Адрес является ключевым понятием в TAPI 3.1 (TAPI/COM) и TAPI 2.2 (TAPI/C).
- Терминал: источник или отрисовщик для определенного адреса и типа мультимедиа.
Поставщики услуг сообщают характеристики устройства в TAPI в ответ на запросы приложений. Поставщики услуг также инициируют отчеты об изменениях состояния устройства. Затем эти изменения передаются приложению на основе уведомлений, запрошенных во время инициализации.
Основные характеристики устройства:
- Класс устройства
- Идентификатор устройства
- Тип адреса
- Идентификатор адреса
- События устройства
- Тип носителя
- Тип терминала
Кроме того, поставщики услуг предоставляют сведения о емкости заданного адреса для выполнения различных операций сеанса.
Дополнительные характеристики могут быть связаны с определенными устройствами, если поставщики услуг поддерживают их. Приложение TAPI 2.x обнаруживает возможности с помощью функций lineGetDevCaps и lineGetAddressCaps . Для этой цели приложения TAPI 3.x используют интерфейс ITAddressCapabilities .
TAPI 2.x предоставляет специальный набор дополнительных операций, которые поставщик услуг может реализовать для использования с телефонными устройствами. См. раздел Телефонные устройства.
Расширенные возможности зависят от поставщика и напрямую не охватываются API телефонии Майкрософт. См . дополнительные функции линий, расширенные функции телефонии телефонии или интерфейсы для конкретных поставщиков.
Ниже приведена сводка операций TAPI, которые запрашивают у поставщиков служб характеристики устройства и предоставляют данные о текущем состоянии.
Функции TAPI 2.x | Описание |
---|---|
lineGetDevCaps | Запрашивает указанное линейное устройство для определения возможностей телефонии связанных адресов. |
lineGetAddressCaps | Запрашивает указанное линейное устройство, чтобы определить возможности телефонии для определенного адреса. |
lineGetDevConfig | Возвращает "непрозрачную" структуру данных, в котором хранится текущая конфигурация устройства. |
lineSetDevConfig | Восстанавливает конфигурацию устройства. |
lineConfigDialog | Отображение диалогового окна, позволяющего пользователю настраивать параметры, связанные с устройством. |
lineGetID | Извлекает стабильный идентификатор устройства, который можно использовать в последующих вызовах функций TAPI или с другим API. |
lineGetLineDevStatus | Запрашивает текущее состояние устройства, например количество активных вызовов. |
lineSetLineDevStatus | Задает состояние устройства, например параметр устройства как не в состоянии обслуживания. |
lineGetIcon | Извлекает значок конкретного поставщика для отображения пользователю. |
lineNegotiateExtVersion | Позволяет приложению согласовывать версию расширения для использования с указанным линейным устройством. |
lineDevSpecific | Предоставляет доступ к функциям, зависящим от устройства. |
lineDevSpecificFeature | Отправляет функции, относящиеся к устройству, поставщику услуг. |
Интерфейсы или методы TAPI 3.x | Описание |
---|---|
ITAddressCapabilities | Получает сведения о возможностях адреса. |
ITAMMediaFormat | Задает и получает формат мультимедиа DirectShow™. |
ITBasicAudioTerminal | Задает и получает стандартные характеристики терминала аудио, такие как громкость. |
ITMediaSupport | Получает сведения о возможностях поддержки мультимедиа адреса. |
ITTerminal | Базовый интерфейс для объекта Terminal. Получает такие сведения, как класс терминала и поддерживаемые носители. |
ITTerminalSupport | Получает сведения о доступных терминалах и создает дополнительные терминалы. |
Интерфейсы для конкретных поставщиков | Зависит от поставщика услуг. |