Сообщения TSPI
Этот раздел содержит список сообщений в интерфейсе поставщика службы телефонии (TSPI). Эти сообщения используются для уведомления TAPI о возникновении асинхронных событий, которые спонтанно происходят в поставщике услуг. Поставщик услуг передает эти события в TAPI, вызывая функцию обратного вызова LINEEVENT или PHONEEVENT в зависимости от того, сообщает ли поставщик услуг о событии на телефонном или телефонном устройстве. Процедура LINEEVENT для создания отчетов о событиях, происходящих в строке или вызове, предоставляется поставщику услуг при открытии строки с помощью функции TSPI_lineOpen . Процедура PHONEEVENT для создания отчетов о событиях, происходящих на телефоне, предоставляется вместе с функцией TSPI_phoneOpen .
Эти спонтанные события не запрашиваются TAPI в том смысле, что они не являются прямым ответом на любой запрос. Эти события контрастируют с отчетами о завершении запросов, сделанных TAPI. Такие события завершения передаются с помощью функции обратного вызова ASYNC_COMPLETION .
Профили параметров для процедур спонтанных событий включают параметры, определяющие соответствующий объект, для которого сообщается событие (телефон, линия или звонок). Идентификация имеет вид непрозрачного дескриптора, точная интерпретация которого не опубликована TSPI. TAPI внутренне определяет связь между этими непрозрачными дескрипторами и любыми структурами данных, используемыми для представления устройств.
Профиль параметров для процедур спонтанных событий также включает параметр сообщения, определяющий тип сообщения. Каждый тип сообщения имеет соответствующее определение, определяющее включенные дескрипторы, а также другие параметры и их значения. Существует очень сильная связь между сообщениями, появляющимися на уровне TSPI, и сообщениями, которые отображаются на уровне TAPI. Ниже приведены общие правила соответствия:
- Набор сообщений практически идентичен. Там, где сообщения соответствуют, на уровне TSPI используются одинаковые имя и значение сообщения.
- Дескрипторами, отображаемыми на уровне TSPI, являются непрозрачные типы, определенные спецификацией TSPI. Эти типы (и их интерпретация) отличаются от типов на уровне TAPI, хотя они относятся к одному и тому же классу устройств. Например, если сообщение TAPI содержит дескриптор HLINE, соответствующее сообщение TSPI обычно включает дескриптор HTAPILINE .
- Данные dwCallbackInstance , передаваемые обратному вызову, отсутствуют.
- Параметры dwParam1, dwParam2 и dwParam3 обычно идентичны соответствующим параметрам сообщения TAPI.
- Сообщения, ориентированные на линии и вызовы, передаются в процедуру обратного вызова, отличную от процедуры телефонных сообщений.
Для каждого сообщения в этом разделе перечислены следующие элементы:
- Назначение сообщения
- Процедура обратного вызова, в которую передается это сообщение
- Описание параметров сообщения
- Необязательные комментарии об использовании сообщения
- Необязательные ссылки на другие функции, сообщения и структуры данных
- Необязательные комментарии, сравнивающие это сообщение с интерфейсом TAPI
Некоторые сообщения используются для уведомления TAPI об изменении состояния объекта. Эти сообщения предоставляют дескриптор непрозрачного объекта TAPI и указывает, какой элемент состояния изменился. ЗАТЕМ TAPI может вызвать соответствующую функцию get status объекта, чтобы получить полное состояние объекта.
При возникновении события сообщение может быть отправлено в TAPI. Для некоторых типов событий, таких как изменения состояния, TAPI указывает набор изменений состояния, в которых он заинтересован. Поставщику услуг рекомендуется ограничить события сообщений об изменении состояния, о которых он сообщает, только событиями, включенными в этот набор. Поставщик услуг не обязан соблюдать это ограничение. Иными словами, он может сообщать о большем размере изменений, чем это необходимо. Тем не менее, он должен попытаться соблюдать ограничение по соображениям производительности.
Сообщение LINE_REPLY не используется на уровне TSPI. О завершении асинхронного запроса сообщается с помощью обратного вызова ASYNC_COMPLETION .
Сообщение PHONE_REPLY не используется на уровне TSPI. О завершении асинхронного запроса сообщается с помощью обратного вызова ASYNC_COMPLETION .
Дополнительные сведения см. в следующих статьях: