Estrutura LINECALLINFO (tapi.h)

A estrutura LINECALLINFO contém informações sobre uma chamada. Essas informações permanecem relativamente fixas durante a chamada. Várias funções usam LINECALLINFO. A estrutura é retornada pela função lineGetCallInfo e pela função TSPI_lineGetCallInfo . Se uma parte da estrutura for alterada, uma mensagem LINE_CALLINFO será enviada ao aplicativo indicando qual item de informações foi alterado.

A alteração dinâmica de informações sobre uma chamada, como o progresso da chamada status, está disponível na estrutura LINECALLSTATUS, retornada por uma chamada para a função lineGetCallStatus.

Sintaxe

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;

Membros

dwTotalSize

Tamanho total alocado para essa estrutura de dados, em bytes.

dwNeededSize

Tamanho para essa estrutura de dados necessária para armazenar todas as informações retornadas, em bytes.

dwUsedSize

Tamanho da parte dessa estrutura de dados que contém informações úteis, em bytes.

hLine

Identificador para o dispositivo de linha ao qual essa chamada está associada.

dwLineDeviceID

Identificador de dispositivo do dispositivo de linha ao qual essa chamada está associada.

dwAddressID

Identificador de endereço do endereço na linha na qual essa chamada existe. Um identificador de endereço está permanentemente associado a um endereço; o identificador permanece constante entre as atualizações do sistema operacional.

dwBearerMode

Modo de portador atual da chamada. Esse membro usa uma das constantes LINEBEARERMODE_.

dwRate

Taxa do fluxo de dados da chamada, em bps (bits por segundo).

dwMediaMode

Tipo de mídia do fluxo de informações atualmente na chamada. Esse é o tipo de mídia determinado pelo proprietário da chamada, que não é necessariamente o mesmo que o da última mensagem LINE_MONITORMEDIA . Esse membro não é diretamente afetado pelas mensagens LINE_MONITORMEDIA. Esse membro usa as constantes LINEMEDIAMODE_.

dwAppSpecific

Não interpretado pela implementação da API e pelo provedor de serviços. Ele pode ser definido por qualquer aplicativo proprietário dessa chamada com a função lineSetAppSpecific .

dwCallID

Em alguns ambientes de telefonia, o provedor de serviços ou comutador pode atribuir um identificador exclusivo a cada chamada. Isso permite que a chamada seja rastreada entre transferências, encaminhamentos ou outros eventos. O domínio dessas IDs de chamada e seu escopo são definidos pelo provedor de serviços. O membro dwCallID disponibiliza esse identificador exclusivo para os aplicativos.

dwRelatedCallID

Ambientes de telefonia que usam a ID de chamada geralmente podem achar necessário relacionar uma chamada a outra. O membro dwRelatedCallID pode ser usado pelo provedor de serviços para essa finalidade.

dwCallParamFlags

Coleção de parâmetros relacionados à chamada quando a chamada é de saída. Esses são os mesmos parâmetros de chamada especificados em lineMakeCall, uma ou mais das constantes LINECALLPARAMFLAGS_.

dwCallStates

Uma ou mais das constantes LINECALLSTATE_, que indica os estados nos quais o aplicativo pode ser notificado nessa chamada. O membro dwCallStates é constante em LINECALLINFO e não é alterado dependendo do estado da chamada.

dwMonitorDigitModes

Vários modos de dígito. Esse membro é uma ou mais das constantes LINEDIGITMODE_, para as quais o monitoramento está habilitado no momento.

dwMonitorMediaModes

Vários tipos de mídia para os quais o monitoramento está habilitado no momento. Esse membro é uma ou mais das constantes LINEMEDIAMODE_.

DialParams

Parâmetros de discagem atualmente em vigor na chamada, do tipo LINEDIALPARAMS. A menos que esses parâmetros sejam definidos por lineMakeCall ou lineSetCallParams, seus valores são os mesmos que os padrões usados na estrutura LINEDEVCAPS .

dwOrigin

Identifica a origem da chamada. Esse membro pode ser uma das constantes LINECALLORIGIN_.

dwReason

Motivo pelo qual a chamada ocorreu. Esse membro pode ser uma das constantes LINECALLREASON_.

dwCompletionID

Identificador de conclusão para a chamada de entrada se for o resultado de uma solicitação de conclusão que termina. Esse identificador será significativo somente se dwReason for LINECALLREASON_CALLCOMPLETION.

dwNumOwners

Número de módulos de aplicativo com identificadores de chamada diferentes com privilégio de proprietário para a chamada.

dwNumMonitors

Número de módulos de aplicativo com identificadores de chamada diferentes com privilégio de monitor para a chamada.

dwCountryCode

Código de país ou região da parte de destino. Zero se desconhecido.

dwTrunk

Número do tronco sobre o qual a chamada é roteada. Esse membro é usado para chamadas de entrada e saída. O membro dwTrunk deve ser definido como 0xFFFFFFFF se for desconhecido.

dwCallerIDFlags

Determina a validade e o conteúdo das informações de identificador de parte do chamador ou do originador. Esse membro usa uma das constantes LINECALLPARTYID_.

dwCallerIDSize

Tamanho do número da ID do chamador, em bytes.

dwCallerIDOffset

Deslocamento do início dessa estrutura para o campo de tamanho variável que contém as informações de número de ID da parte do chamador. O tamanho do campo é especificado por dwCallerIDSize.

dwCallerIDNameSize

Tamanho do nome da ID do chamador, incluindo o terminador nulo, em bytes.

dwCallerIDNameOffset

Deslocamento do início dessa estrutura para o campo de tamanho variável que contém as informações de nome da ID da parte do chamador. O tamanho do campo é especificado por dwCallerIDNameSize.

dwCalledIDFlags

Determina a validade e o conteúdo das informações de ID de terceiros. A parte chamada corresponde à parte endereçada originalmente. Esse membro usa uma das constantes LINECALLPARTYID_.

dwCalledIDSize

Tamanho do número de ID da parte chamada, em bytes.

dwCalledIDOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém as informações de número de ID da parte chamada. O tamanho do campo é especificado por dwCalledIDSize.

dwCalledIDNameSize

Tamanho do nome da ID da parte chamada, incluindo o terminador nulo, em bytes.

dwCalledIDNameOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém as informações de nome da ID da parte chamada. O tamanho do campo é especificado por dwCalledIDNameSize.

dwConnectedIDFlags

Determina a validade e o conteúdo das informações de ID da parte conectada. O partido conectado é o partido que estava realmente ligado. Isso poderá ser diferente da ID do grupo chamado se a chamada tiver sido desviada. Esse membro usa uma das constantes LINECALLPARTYID_.

dwConnectedIDSize

Tamanho do número de ID da parte conectada, em bytes.

dwConnectedIDOffset

Deslocamento do início dessa estrutura para o campo de tamanho variável que contém as informações de número de ID de parte conectada. O tamanho do campo é especificado por dwConnectedIDSize.

dwConnectedIDNameSize

Tamanho do nome da ID da parte conectada, incluindo o terminador nulo, em bytes.

dwConnectedIDNameOffset

Deslocamento do início dessa estrutura para o campo de tamanho variável que contém as informações de nome da ID da parte conectada. O tamanho do campo é especificado por dwConnectedIDNameSize.

dwRedirectionIDFlags

Determina a validade e o conteúdo das informações do identificador da parte de redirecionamento. A parte de redirecionamento identifica o endereço para o qual a sessão foi redirecionada. Esse membro usa uma das constantes LINECALLPARTYID_.

dwRedirectionIDSize

Tamanho do número de ID da parte de redirecionamento, em bytes.

dwRedirectionIDOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém as informações de número de ID de parte de redirecionamento. O tamanho do campo é especificado por dwRedirectionIDSize.

dwRedirectionIDNameSize

Tamanho do nome da ID do partido de redirecionamento, em bytes.

dwRedirectionIDNameOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém as informações de nome da ID do partido de redirecionamento. O tamanho do campo é especificado por dwRedirectionIDNameSize.

dwRedirectingIDFlags

Determina a validade e o conteúdo das informações de identificador da parte de redirecionamento. A parte de redirecionamento identifica o endereço que redireciona a sessão. Esse membro usa uma das constantes LINECALLPARTYID_.

dwRedirectingIDSize

Tamanho do número de ID de parte de redirecionamento, em bytes.

dwRedirectingIDOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém as informações de número de ID de parte de redirecionamento. O tamanho do campo é especificado por dwRedirectingIDSize.

dwRedirectingIDNameSize

Tamanho do nome da ID da parte de redirecionamento, incluindo o terminador nulo, em bytes.

dwRedirectingIDNameOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém as informações de nome da ID de parte de redirecionamento. O tamanho do campo é especificado por dwRedirectingIDNameSize.

dwAppNameSize

Tamanho do campo nome do aplicativo, incluindo o terminador nulo, em bytes.

dwAppNameOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém o nome amigável do aplicativo que primeiro originou, aceitou ou atendeu a chamada. Esse é o nome que um aplicativo pode especificar em lineInitializeEx. Se o aplicativo não especificar esse nome, o nome de arquivo do módulo do aplicativo será usado. O tamanho do campo é especificado por dwAppNameSize.

dwDisplayableAddressSize

Tamanho da cadeia de caracteres de endereço que pode ser exibida, incluindo o terminador nulo, em bytes.

dwDisplayableAddressOffset

A cadeia de caracteres exibivel é usada para fins de registro em log. As informações são obtidas de LINECALLPARAMS para funções que iniciam chamadas. A função lineTranslateAddress retorna informações apropriadas a serem colocadas nesse campo nos membros dwDisplayableAddressSize e dwDisplayableAddressOffset da estrutura LINETRANSLATEOUTPUT .

dwCalledPartySize

Tamanho do campo de descrição de parte chamada, em bytes.

dwCalledPartyOffset

Deslocamento do início da estrutura para o campo de tamanho variável que especifica a descrição amigável da parte chamada. Essas informações podem ser especificadas com lineMakeCall e podem ser especificadas opcionalmente no parâmetro lpCallParams sempre que uma nova chamada for estabelecida. Ele é útil para fins de registro em log de chamadas. O tamanho do campo é especificado por dwCalledPartySize.

dwCommentSize

Tamanho do campo de comentário, em bytes.

dwCommentOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém um comentário sobre a chamada fornecida pelo aplicativo que originou a chamada usando lineMakeCall. Essas informações podem ser especificadas opcionalmente no parâmetro lpCallParams sempre que uma nova chamada é estabelecida. O tamanho do campo é especificado por dwCommentSize.

dwDisplaySize

Tamanho das informações de exibição brutas, em bytes.

dwDisplayOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém informações de exibição brutas. Dependendo do ambiente de telefonia, um provedor de serviços pode extrair informações funcionais desse par de membros para formatação e apresentação mais apropriadas para essa configuração de telefonia. O tamanho do campo é especificado por dwDisplaySize.

dwUserUserInfoSize

Tamanho das informações de usuário-usuário, em bytes. Se as informações do usuário-usuário forem um ponteiro para uma cadeia de caracteres, o tamanho deverá incluir o terminador nulo.

dwUserUserInfoOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém informações de usuário-usuário. O campo discriminador de protocolo para as informações do usuário-usuário, se usado, aparece como o primeiro byte dos dados apontados por dwUserUserInfoOffset e é contabilizado em dwUserUserInfoSize.

dwHighLevelCompSize

Tamanho das informações de compatibilidade de alto nível, em bytes.

dwHighLevelCompOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém informações de compatibilidade de alto nível. O formato dessas informações é especificado por outros padrões (ISDN Q.931). O tamanho do campo é especificado por dwHighLevelCompSize.

dwLowLevelCompSize

Tamanho das informações de compatibilidade de baixo nível, em bytes.

dwLowLevelCompOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém informações de compatibilidade de baixo nível. O formato dessas informações é especificado por outros padrões (ISDN Q.931). O tamanho do campo é especificado por dwLowLevelCompSize.

dwChargingInfoSize

Tamanho das informações de carregamento, em bytes.

dwChargingInfoOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém informações de carregamento. O formato dessas informações é especificado por outros padrões (ISDN Q.931). O tamanho do campo é especificado por dwChargingInfoSize.

dwTerminalModesSize

Tamanho da matriz de modos de terminal atual, em bytes.

dwTerminalModesOffset

Deslocamento do início da estrutura para o campo de dispositivo de tamanho variável que contém uma matriz com entradas do tamanho DWORD. As entradas de matriz são indexadas por identificadores de terminal, no intervalo de zero a um a menos que dwNumTerminals. Cada entrada na matriz especifica os modos de terminal atuais para o conjunto de terminais correspondente com a função lineSetTerminal para o fluxo de mídia dessa chamada, conforme especificado por uma das constantes LINETERMMODE_. O tamanho da matriz é especificado por dwTerminalModesSize.

dwDevSpecificSize

Tamanho do campo específico do dispositivo, em bytes.

dwDevSpecificOffset

Deslocamento do início da estrutura para o campo de tamanho variável que contém informações específicas do dispositivo. O tamanho do campo é especificado por dwDevSpecificSize.

dwCallTreatment

O tratamento de chamada que está sendo aplicado na chamada ou que é aplicado quando a chamada entra no próximo estado aplicável. Pode ser zero se não houver suporte para tratamentos de chamada.

dwCallDataSize

Tamanho dos dados de chamada configuráveis pelo aplicativo, em bytes.

dwCallDataOffset

Deslocamento do início da estrutura para os dados de chamada configuráveis pelo aplicativo. O tamanho do campo é especificado por dwCallDataSize.

dwSendingFlowspecSize

Tamanho da qualidade das informações de serviço, em bytes.

dwSendingFlowspecOffset

Deslocamento do início da estrutura para uma estrutura FLOWSPEC seguida por dados específicos do provedor WinSock, equivalente ao que teria sido armazenado em SendingFlowspec em uma estrutura QOS . Especifica a qualidade do serviço atualmente em vigor na direção de envio na chamada. A parte específica do provedor após a estrutura FLOWSPEC não deve conter ponteiros para outros blocos de memória, pois o TAPI não sabe como realizar marshaling dos dados apontados pelos ponteiros privados e transmiti-los por meio da comunicação entre processos com o aplicativo. O tamanho do campo é especificado por dwSendingFlowspecSize.

dwReceivingFlowspecSize

Tamanho da qualidade das informações de serviço, em bytes.

dwReceivingFlowspecOffset

Deslocamento do início da estrutura para uma estrutura FLOWSPEC seguida por dados específicos do provedor WinSock, equivalente ao que teria sido armazenado em ReceivingFlowspec em uma estrutura QOS . Especifica a qualidade do serviço atual em vigor na direção de recebimento na chamada. A parte específica do provedor após a estrutura FLOWSPEC não deve conter ponteiros para outros blocos de memória, pois o TAPI não sabe como realizar marshaling dos dados apontados pelos ponteiros privados e transmiti-los por meio da comunicação entre processos com o aplicativo. O tamanho do campo é especificado por dwReceivingFlowspecSize.

dwCallerIDAddressType

Tipo de endereço do chamador. Esse membro da estrutura só estará disponível se a versão TAPI negociada for 3.0 ou superior.

dwCalledIDAddressType

Tipo de endereço da parte chamada. Esse membro da estrutura só estará disponível se a versão TAPI negociada for 3.0 ou superior.

dwConnectedIDAddressType

Tipo de endereço do destino ao qual a chamada foi realmente conectada. Esse membro da estrutura só estará disponível se a versão TAPI negociada for 3.0 ou superior.

dwRedirectionIDAddressType

Tipo de endereço do novo destino de chamada. Esse membro da estrutura só estará disponível se a versão TAPI negociada for 3.0 ou superior.

dwRedirectingIDAddressType

Tipo de endereço do local que redirecionou a chamada. Esse membro da estrutura só estará disponível se a versão TAPI negociada for 3.0 ou superior.

Comentários

As extensões específicas do dispositivo devem usar a área de tamanho variável DevSpecific (dwDevSpecificSize e dwDevSpecificOffset) dessa estrutura de dados.

A estrutura de dados LINECALLINFO contém informações relativamente fixas sobre uma chamada. Essa estrutura é retornada com lineGetCallInfo. Quando os itens de informações nessa estrutura de dados são alterados, uma mensagem LINE_CALLINFO é enviada ao aplicativo. Um parâmetro para essa mensagem é o item ou campo de informações que foi alterado.

Os membros dwCallTreatment por meio de dwReceivingFlowspecOffset estão disponíveis apenas para aplicativos que abrem o dispositivo de linha com uma versão de API 2.0 ou posterior.

Nota O formato preferencial para especificação do conteúdo do campo dwCallID e dos outros cinco campos semelhantes (dwCallerIDFlag, dwCallerIDSize, dwCallerIDOffset, dwCallerIDNameSize e dwCallerIDNameOffset) é o formato de número canônico TAPI. Por exemplo, uma ICLID de "4258828080" recebida da opção deve ser convertida em "+1 (425) 8828080" antes de ser colocada na estrutura LINECALLINFO . Esse formato padronizado facilita a pesquisa de bancos de dados e funções de retorno de chamada implementadas em aplicativos.
 

Requisitos

Requisito Valor
Cabeçalho tapi.h

Confira também

LINECALLSTATUS

LINEDEVCAPS

LINEDIALPARAMS

LINETRANSLATEOUTPUT

LINE_CALLINFO

LINE_MONITORMEDIA

TSPI_lineGetCallInfo

Linegeneratedigits

Linegetcallinfo

Linegetcallstatus

Lineinitializeex

Linemakecall

lineSecureCall

lineSetAppSpecific

lineSetCallParams

Linesetterminal

Linetranslateaddress