Iniciar uma sessão

As principais informações que um aplicativo fornece para iniciar uma sessão de comunicação são o tipo de endereço, o tipo de mídia ou os tipos e o endereço de destino.

O endereço de destino pode exigir tradução de endereço para colocar as informações inseridas por um usuário no formato adequado para um determinado tipo de endereço. Por exemplo, um número de telefone que estava em um catálogo de endereços eletrônico em formato canônico exigirá tradução para o formato discável .

Algumas sessões podem exigir parâmetros especiais de instalação, se houver suporte do provedor de serviços. Por exemplo, um ISDN TSP pode transmitir informações do usuário e alguns MSPs exigem informações sobre a direção do fluxo de mídia. Consulte Informações de sessão para obter uma revisão dos dados que podem ser definidos ou obtidos em relação a uma sessão.

Depois que uma sessão for iniciada, o TAPI informará a aplicação do progresso da chamada usando o mecanismo de notificação de eventos configurado durante a inicialização.

TAPI 2.x: Os aplicativos iniciam uma sessão usando a função lineMakeCall . A função lineTranslateAddress é usada para executar a tradução de endereço, se necessário.

Os parâmetros de configuração de chamada podem ser armazenados na estrutura de dados LINECALLPARAMS e um ponteiro para essa estrutura é usado como um parâmetro de lineMakeCall. Se nenhuma estrutura LINECALLPARAMS for fornecida para lineMakeCall, uma chamada padrão de nível de voz POTS será solicitada com um conjunto de valores padrão.

Se a sessão for configurada com êxito, um identificador de chamada com privilégios de proprietário será retornado ao aplicativo e o TAPI enviará o aplicativo LINE_CALLSTATE mensagens com informações sobre o progresso da chamada. Normalmente, os aplicativos usam essas mensagens para exibir status relatórios para o usuário.

TAPI 3.x: Os aplicativos iniciam uma sessão de comunicação invocando o método ITAddress::CreateCall em um endereço capaz de lidar com o tipo de endereço e o tipo de mídia necessários. Se o endereço expor a interface ITTerminalSupport , os terminais serão selecionados nos fluxos de mídia do objeto de chamada. Consulte o exemplo criar um código de chamada para obter uma ilustração desse processo.

Os parâmetros de configuração de chamada podem ser armazenados ou alterados usando métodos expostos pela interface ITCallInfo .

Se a sessão for configurada com êxito, o TAPI retornará um ponteiro de interface ITBasicCallControl que pode ser usado para outras operações de sessão ou para obter um ponteiro de interface ITCallInfo que pode ser usado para adquirir informações adicionais da sessão. A interface ITCallStateEvent processa eventos de estado de chamada TAPI.

Observação

O TAPI não deve ser usado para transmissões de fax. Em vez disso, use as funções disponíveis por meio de MAPI, a API Mensagens Microsoft.

 

Conversão de endereços

Um aplicativo de usuário final ou servidor pode armazenar endereços em um formato que não é compatível com as necessidades de um determinado provedor de serviços. Por exemplo, um número de telefone pode ser armazenado em um catálogo de endereços eletrônico em formato canônico, mas a maioria dos provedores de serviços que lidam com números de telefone exigem o formato discável.

O TAPI fornece operações de conversão de endereços que auxiliam um aplicativo a apresentar o tipo de endereço correto a um TSP. O provedor de serviços especifica ao TAPI quais tipos de endereço ele dá suporte e não precisa incluir nenhuma forma de tradução de endereço.

TAPI 2.x: Consulte lineTranslateAddress.

TAPI 3: Consulte ITAddressTranslation, ITAddressTranslationInfo.

Listas de Pedágio

Em alguns locais em América do Norte, todas as chamadas telefônicas feitas para o código da área local são chamadas locais. Em outros locais, algumas chamadas feitas para o código de área local são de longa distância e precisam de um prefixo "1" para serem discadas. Os três primeiros dígitos do endereço (o prefixo) determinam se uma chamada dentro do código da área local é ou não uma chamada tarifada.

Uma lista de pedágio é uma lista de prefixos no código da área local cujos endereços devem ser discados como endereços de longa distância e são avaliados encargos de longa distância.

As listas de pedágio não são relevantes para provedores de serviços ou para aplicativos que não acessam uma rede telefônica.

TAPI 2.x: Consulte lineTranslateAddress (bits LINETRANSLATERESULT_INTOLLLIST e LINETRANSLATERESULT_NOTINTOLLLIST na estrutura LINETRANSLATEOUTPUT ), lineSetTollList.

TAPI 3: Consulte ITAddressTranslation::TranslateAddress, ITAddressTranslationInfo::get_TranslationResults.