Поделиться через


Структура LINECALLINFO (tapi.h)

Структура LINECALLINFO содержит сведения о вызове. Эти сведения остаются относительно фиксированными на протяжении всего вызова. Несколько функций используют LINECALLINFO. Структура возвращается функцией lineGetCallInfo и функцией TSPI_lineGetCallInfo . Если часть структуры меняется, в приложение отправляется LINE_CALLINFO сообщение, указывающее, какой информационный элемент был изменен.

Динамически изменяющиеся сведения о вызове, такие как состояние хода выполнения вызова, доступны в структуре LINECALLSTATUS , возвращаемой вызовом функции lineGetCallStatus .

Синтаксис

typedef struct linecallinfo_tag {
  DWORD          dwTotalSize;
  DWORD          dwNeededSize;
  DWORD          dwUsedSize;
  HLINE          hLine;
  DWORD          dwLineDeviceID;
  DWORD          dwAddressID;
  DWORD          dwBearerMode;
  DWORD          dwRate;
  DWORD          dwMediaMode;
  DWORD          dwAppSpecific;
  DWORD          dwCallID;
  DWORD          dwRelatedCallID;
  DWORD          dwCallParamFlags;
  DWORD          dwCallStates;
  DWORD          dwMonitorDigitModes;
  DWORD          dwMonitorMediaModes;
  LINEDIALPARAMS DialParams;
  DWORD          dwOrigin;
  DWORD          dwReason;
  DWORD          dwCompletionID;
  DWORD          dwNumOwners;
  DWORD          dwNumMonitors;
  DWORD          dwCountryCode;
  DWORD          dwTrunk;
  DWORD          dwCallerIDFlags;
  DWORD          dwCallerIDSize;
  DWORD          dwCallerIDOffset;
  DWORD          dwCallerIDNameSize;
  DWORD          dwCallerIDNameOffset;
  DWORD          dwCalledIDFlags;
  DWORD          dwCalledIDSize;
  DWORD          dwCalledIDOffset;
  DWORD          dwCalledIDNameSize;
  DWORD          dwCalledIDNameOffset;
  DWORD          dwConnectedIDFlags;
  DWORD          dwConnectedIDSize;
  DWORD          dwConnectedIDOffset;
  DWORD          dwConnectedIDNameSize;
  DWORD          dwConnectedIDNameOffset;
  DWORD          dwRedirectionIDFlags;
  DWORD          dwRedirectionIDSize;
  DWORD          dwRedirectionIDOffset;
  DWORD          dwRedirectionIDNameSize;
  DWORD          dwRedirectionIDNameOffset;
  DWORD          dwRedirectingIDFlags;
  DWORD          dwRedirectingIDSize;
  DWORD          dwRedirectingIDOffset;
  DWORD          dwRedirectingIDNameSize;
  DWORD          dwRedirectingIDNameOffset;
  DWORD          dwAppNameSize;
  DWORD          dwAppNameOffset;
  DWORD          dwDisplayableAddressSize;
  DWORD          dwDisplayableAddressOffset;
  DWORD          dwCalledPartySize;
  DWORD          dwCalledPartyOffset;
  DWORD          dwCommentSize;
  DWORD          dwCommentOffset;
  DWORD          dwDisplaySize;
  DWORD          dwDisplayOffset;
  DWORD          dwUserUserInfoSize;
  DWORD          dwUserUserInfoOffset;
  DWORD          dwHighLevelCompSize;
  DWORD          dwHighLevelCompOffset;
  DWORD          dwLowLevelCompSize;
  DWORD          dwLowLevelCompOffset;
  DWORD          dwChargingInfoSize;
  DWORD          dwChargingInfoOffset;
  DWORD          dwTerminalModesSize;
  DWORD          dwTerminalModesOffset;
  DWORD          dwDevSpecificSize;
  DWORD          dwDevSpecificOffset;
  DWORD          dwCallTreatment;
  DWORD          dwCallDataSize;
  DWORD          dwCallDataOffset;
  DWORD          dwSendingFlowspecSize;
  DWORD          dwSendingFlowspecOffset;
  DWORD          dwReceivingFlowspecSize;
  DWORD          dwReceivingFlowspecOffset;
  DWORD          dwCallerIDAddressType;
  DWORD          dwCalledIDAddressType;
  DWORD          dwConnectedIDAddressType;
  DWORD          dwRedirectionIDAddressType;
  DWORD          dwRedirectingIDAddressType;
} LINECALLINFO, *LPLINECALLINFO;

Члены

dwTotalSize

Общий размер, выделенный для этой структуры данных, в байтах.

dwNeededSize

Размер этой структуры данных, необходимый для хранения всей возвращаемой информации, в байтах.

dwUsedSize

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

hLine

Дескриптор для устройства линии, с которым связан этот вызов.

dwLineDeviceID

Идентификатор устройства линии, с которым связан этот вызов.

dwAddressID

Идентификатор адреса в строке, на которой существует этот вызов. Идентификатор адреса постоянно связан с адресом; идентификатор остается неизменным при обновлении операционной системы.

dwBearerMode

Текущий режим носителя вызова. Этот элемент использует одну из констант LINEBEARERMODE_.

dwRate

Скорость потока данных вызова в битах (битов в секунду).

dwMediaMode

Тип носителя потока информации, который в данный момент выполняется в вызове. Это тип носителя, определяемый владельцем вызова, который не обязательно совпадает с типом последнего сообщения LINE_MONITORMEDIA . Сообщения LINE_MONITORMEDIA напрямую не влияют на этот элемент. Этот элемент использует константы LINEMEDIAMODE_.

dwAppSpecific

Не интерпретируется реализацией API и поставщиком службы. Его может задать любое приложение владельца этого вызова с помощью функции lineSetAppSpecific .

dwCallID

В некоторых средах телефонии коммутатор или поставщик услуг может назначить уникальный идентификатор каждому вызову. Это позволяет отслеживать вызов между передачами, пересылками или другими событиями. Домен этих идентификаторов вызовов и их область определяется поставщиком услуг. Член dwCallID делает этот уникальный идентификатор доступным для приложений.

dwRelatedCallID

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

dwCallParamFlags

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

dwCallStates

Одна или несколько констант LINECALLSTATE_, указывающие состояния, в которых приложение может быть уведомлено об этом вызове. Член dwCallStates является константой в LINECALLINFO и не меняется в зависимости от состояния вызова.

dwMonitorDigitModes

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

dwMonitorMediaModes

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

DialParams

Параметры набора, действующие в настоящее время при вызове, типа LINEDIALPARAMS. Если эти параметры не заданы lineMakeCall или lineSetCallParam, их значения будут такими же, как значения по умолчанию, используемые в структуре LINEDEVCAPS .

dwOrigin

Идентифицирует источник вызова. Этот элемент может быть одной из LINECALLORIGIN_ констант.

dwReason

Причина, по которой произошел звонок. Этот элемент может быть одной из LINECALLREASON_ констант.

dwCompletionID

Идентификатор завершения для входящего вызова, если он является результатом завершаемого запроса на завершение. Этот идентификатор имеет смысл, только если dwReason LINECALLREASON_CALLCOMPLETION.

dwNumOwners

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

dwNumMonitors

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

dwCountryCode

Код страны или региона конечной стороны. Ноль, если неизвестно.

dwTrunk

Номер магистрали, по которой направляется вызов. Этот член используется как для входящих, так и для исходящих вызовов. Член dwTrunk должен иметь значение 0xFFFFFFFF, если он неизвестен.

dwCallerIDFlags

Определяет допустимость и содержимое сведений об идентификаторе вызывающей стороны или инициатора. Этот элемент использует одну из констант LINECALLPARTYID_.

dwCallerIDSize

Размер идентификатора вызывающего абонента в байтах.

dwCallerIDOffset

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

dwCallerIDNameSize

Размер имени идентификатора вызывающего объекта, включая признак конца NULL, в байтах.

dwCallerIDNameOffset

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

dwCalledIDFlags

Определяет допустимость и содержимое сведений об идентификаторе вызываемой стороны. Вызываемая сторона соответствует первоначально адресуемой стороне. Этот элемент использует одну из констант LINECALLPARTYID_.

dwCalledIDSize

Размер идентификатора вызываемой стороны в байтах.

dwCalledIDOffset

Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе вызываемой стороны. Размер поля определяется параметром dwCalledIDSize.

dwCalledIDNameSize

Размер имени идентификатора вызываемой стороны, включая признак конца null, в байтах.

dwCalledIDNameOffset

Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе вызываемой стороны. Размер поля определяется параметром dwCalledIDNameSize.

dwConnectedIDFlags

Определяет допустимость и содержимое сведений об идентификаторе подключенной стороны. Подключенная сторона — это сторона, которая была фактически подключена к. Это может отличаться от идентификатора вызываемой стороны, если звонок был перенаправлен. Этот элемент использует одну из констант LINECALLPARTYID_.

dwConnectedIDSize

Размер идентификатора подключенной стороны в байтах.

dwConnectedIDOffset

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

dwConnectedIDNameSize

Размер имени идентификатора подключенной стороны, включая признак конца null, в байтах.

dwConnectedIDNameOffset

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

dwRedirectionIDFlags

Определяет допустимость и содержимое сведений об идентификаторе стороны перенаправления. Сторона перенаправления определяет адрес, на который был перенаправлен сеанс. Этот элемент использует одну из констант LINECALLPARTYID_.

dwRedirectionIDSize

Размер идентификатора перенаправления в байтах.

dwRedirectionIDOffset

Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе участника перенаправления. Размер поля определяется параметром dwRedirectionIDSize.

dwRedirectionIDNameSize

Размер имени идентификатора перенаправления в байтах.

dwRedirectionIDNameOffset

Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе участника перенаправления. Размер поля определяется параметром dwRedirectionIDNameSize.

dwRedirectingIDFlags

Определяет допустимость и содержимое сведений об идентификаторе перенаправления. Перенаправляющая сторона определяет адрес, который перенаправляет сеанс. Этот элемент использует одну из констант LINECALLPARTYID_.

dwRedirectingIDSize

Размер идентификатора перенаправления в байтах.

dwRedirectingIDOffset

Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе перенаправления. Размер поля определяется параметром dwRedirectingIDSize.

dwRedirectingIDNameSize

Размер имени идентификатора перенаправления, включая признак конца null, в байтах.

dwRedirectingIDNameOffset

Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об имени идентификатора перенаправления. Размер поля определяется dwRedirectingIDNameSize.

dwAppNameSize

Размер поля имени приложения, включая признак конца NULL, в байтах.

dwAppNameOffset

Смещение от начала структуры к полю изменяющегося размера, в которой содержится понятное имя приложения, которое впервые было создано, принято или ответило на вызов. Это имя, которое приложение может указать в lineInitializeEx. Если приложение не указывает такое имя, вместо него используется имя файла модуля приложения. Размер поля определяется dwAppNameSize.

dwDisplayableAddressSize

Размер отображаемой строки адреса, включая символ конца NULL, в байтах.

dwDisplayableAddressOffset

Отображаемая строка используется для ведения журнала. Сведения о функциях, инициирующих вызовы, извлекается из LINECALLPARAMS . Функция lineTranslateAddress возвращает соответствующие сведения для размещения в этом поле в членах dwDisplayableAddressSize и dwDisplayableAddressOffset структуры LINETRANSLATEOUTPUT .

dwCalledPartySize

Размер поля описания вызываемой стороны в байтах.

dwCalledPartyOffset

Смещение от начала структуры до поля изменяющегося размера, указывающего понятное описание вызываемой стороны. Эти сведения можно указать с помощью lineMakeCall . При необходимости их можно указать в параметре lpCallParams при каждом запуске нового вызова. Это полезно для ведения журнала вызовов. Размер поля определяется параметром dwCalledPartySize.

dwCommentSize

Размер поля комментария в байтах.

dwCommentOffset

Смещение от начала структуры к полю изменяющегося размера, в которой содержится комментарий о вызове, предоставленном приложением, которое начало вызов с помощью lineMakeCall. Эти сведения можно дополнительно указать в параметре lpCallParams при каждом запуске нового вызова. Размер поля определяется параметром dwCommentSize.

dwDisplaySize

Размер необработанной отображаемой информации в байтах.

dwDisplayOffset

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

dwUserUserInfoSize

Размер сведений пользователя и пользователя в байтах. Если данные пользователя и пользователя являются указателем на строку, размер должен включать признак конца null.

dwUserUserInfoOffset

Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения о пользователе. Поле дискриминатора протокола для сведений о пользователе, если оно используется, отображается в качестве первого байта данных, на которые указывает dwUserUserInfoOffset, и учитывается в dwUserUserInfoSize.

dwHighLevelCompSize

Размер сведений о совместимости высокого уровня в байтах.

dwHighLevelCompOffset

Смещение от начала структуры к полю изменяющегося размера, вмещающего сведения о совместимости высокого уровня. Формат этих сведений определяется другими стандартами (ISDN Q.931). Размер поля определяется dwHighLevelCompSize.

dwLowLevelCompSize

Размер сведений о совместимости низкого уровня в байтах.

dwLowLevelCompOffset

Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения о совместимости низкого уровня. Формат этих сведений определяется другими стандартами (ISDN Q.931). Размер поля определяется dwLowLevelCompSize.

dwChargingInfoSize

Размер сведений о зарядке в байтах.

dwChargingInfoOffset

Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения о зарядке. Формат этих сведений определяется другими стандартами (ISDN Q.931). Размер поля определяется dwChargingInfoSize.

dwTerminalModesSize

Размер массива текущих режимов терминала в байтах.

dwTerminalModesOffset

Смещение от начала структуры до поля устройства изменяющегося размера, содержащего массив с записями размера DWORD. Записи массива индексируются по идентификаторам терминала в диапазоне от нуля до единицы меньше , чем dwNumTerminals. Каждая запись в массиве задает текущие режимы терминала для соответствующего набора терминалов с помощью функции lineSetTerminal для потока мультимедиа этого вызова, как указано в одной из констант LINETERMMODE_. Размер массива определяется dwTerminalModesSize.

dwDevSpecificSize

Размер поля устройства в байтах.

dwDevSpecificOffset

Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения об устройстве. Размер поля определяется dwDevSpecificSize.

dwCallTreatment

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

dwCallDataSize

Размер данных вызова, устанавливаемых приложением, в байтах.

dwCallDataOffset

Смещение от начала структуры до данных вызова, устанавливаемых приложением. Размер поля определяется dwCallDataSize.

dwSendingFlowspecSize

Размер сведений о качестве обслуживания в байтах.

dwSendingFlowspecOffset

Смещение от начала структуры к структуре FLOWSPEC , за которой следуют данные, относящиеся к поставщику WinSock, эквивалентные тому, что хранилось бы в SendingFlowspec в структуре QOS . Указывает качество обслуживания, действующее в настоящее время в направлении отправки при вызове. Часть поставщика, следующая за структурой FLOWSPEC , не должна содержать указателей на другие блоки памяти, так как TAPI не знает, как маршалировать данные, на которые указывают частные указатели, и передавать их через межпроцессное взаимодействие с приложением. Размер поля определяется dwSendingFlowspecSize.

dwReceivingFlowspecSize

Размер сведений о качестве обслуживания в байтах.

dwReceivingFlowspecOffset

Смещение от начала структуры к структуре FLOWSPEC , за которой следуют данные, относящиеся к поставщику WinSock, эквивалентные тому, что было бы сохранено в ReceivingFlowspec в структуре QOS . Указывает текущее качество обслуживания, действующее в направлении приема при вызове. Часть поставщика, следующая за структурой FLOWSPEC , не должна содержать указателей на другие блоки памяти, так как TAPI не знает, как маршалировать данные, на которые указывают частные указатели, и передавать их через межпроцессное взаимодействие с приложением. Размер поля определяется dwReceivingFlowspecSize.

dwCallerIDAddressType

Тип адреса вызывающего объекта. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.

dwCalledIDAddressType

Тип адреса вызываемой стороны. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.

dwConnectedIDAddressType

Тип адреса назначения, к которому был фактически подключен вызов. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.

dwRedirectionIDAddressType

Тип адреса нового назначения вызова. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.

dwRedirectingIDAddressType

Тип адреса расположения, перенаправляющего вызов. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.

Комментарии

Расширения, относящиеся к устройству, должны использовать область DevSpecific (dwDevSpecificSize и dwDevSpecificOffset) с переменным размером этой структуры данных.

Структура данных LINECALLINFO содержит относительно фиксированные сведения о вызове. Эта структура возвращается с помощью lineGetCallInfo. При изменении информационных элементов в этой структуре данных в приложение отправляется LINE_CALLINFO сообщение. Параметр для этого сообщения — это элемент или поле сведений, которые были изменены.

Члены dwCallTreatment через dwReceivingFlowspecOffset доступны только для приложений, которые открывают устройство с api версии 2.0 или более поздней.

Примечание Предпочтительный формат для спецификации содержимого поля dwCallID и других пяти аналогичных полей (dwCallerIDFlag, dwCallerIDSize, dwCallerIDOffset, dwCallerIDNameSize и dwCallerIDNameOffset) является каноническим числовым форматом TAPI. Например, ICLID "4258828080", полученный от коммутатора, должен быть преобразован в "+1 (425) 8828080", прежде чем помещаться в структуру LINECALLINFO . Этот стандартизированный формат упрощает поиск баз данных и функций обратного вызова, реализованных в приложениях.
 

Требования

Требование Значение
Заголовок tapi.h

См. также раздел

LINECALLSTATUS

LINEDEVCAPS

LINEDIALPARAMS

LINETRANSLATEOUTPUT

LINE_CALLINFO

LINE_MONITORMEDIA

TSPI_lineGetCallInfo

lineGenerateDigits

lineGetCallInfo

lineGetCallStatus

lineInitializeEx

lineMakeCall

lineSecureCall

lineSetAppSpecific

lineSetCallParams

lineSetTerminal

lineTranslateAddress