Endereço
O conceito de um endereço é fundamental para a maioria das operações de comunicação. Um endereço representa um local em uma rede. A atribuição local de um endereço para uma linha ou canal normalmente ocorre durante a instalação do provedor de serviços, mas pode ser modificada posteriormente. Detalhes sobre os procedimentos envolvidos podem ser encontrados no Kit de Recursos do sistema operacional para provedores de serviços fornecidos pela Microsoft e na documentação do provedor de serviços para produtos que não são da Microsoft.
Um único endereço pode ser compartilhado por mais de um dispositivo de linha. Diferentes fornecedores de comutador têm nomes diferentes para esse conceito, como ponte de endereço, MADN (número de diretório de várias aparências) ou aparência em ponte. Uma chamada de entrada em um endereço compartilhado é oferecida em todas as linhas associadas ao endereço. Consulte Constantes LINEADDRESSSHARING_ para obter uma descrição das configurações que a TAPI reconhece.
O endereço em si é uma cadeia de caracteres que identifica um local em uma rede. No caso de uma rede telefônica, o endereço é um número de telefone completo com códigos nacionais ou internacionais. Se a rede for baseada em IP, o endereço poderá ser um endereço IP. Consulte Constantes LINEADDRESSTYPE_ para tipos de endereço definidos pelo TAPI. Um provedor de serviços pode definir tipos de endereço adicionais.
Recursos e mensagens do Address-Related
Endereços diferentes têm recursos, recursos e estados diferentes. Os provedores de serviços são a fonte dessas informações. A funcionalidade de consulta de dispositivo do TAPI e os mecanismos de status e relatório de eventos fornecem a um aplicativo as informações para gerenciar endereços.
Os aplicativos adquirem essas informações processando eventos do TAPI ou usando operações de consulta. Isso permite que um aplicativo leve em conta fatores como se um determinado endereço dá suporte a uma funcionalidade específica, como parque.
TAPI 2.x: Os aplicativos chamam a função lineGetAddressCaps para determinar os recursos de telefonia de cada endereço e, em seguida, recebem essas informações em uma estrutura de dados LINEADDRESSCAPS . De maneira semelhante, um aplicativo pode chamar lineGetDevCaps para um dispositivo de linha para determinar o número de endereços atribuídos à linha, bem como outras informações.
TAPI 3.x: Os aplicativos usam as Interfaces de Objeto de Endereço para adquirir informações sobre recursos e eventos de endereço.
Armazenando números de telefone em catálogos de endereços eletrônicos
Muitos usuários optam por discar pessoas, computadores de fax, quadros de boletins e outras entidades selecionando seus nomes em um catálogo de endereços. O número real discado depende da localização geográfica do usuário e da maneira como o dispositivo de linha a ser usado está conectado. Por exemplo, um computador desktop pode ter acesso a duas linhas, uma conectada a um PBX, a outra ao escritório central da companhia telefônica. Ao fazer uma chamada para a mesma parte, números diferentes podem ter que ser usados. (Para discar pelo PBX, por exemplo, o computador pode precisar discar um prefixo "9" para obter uma linha externa ou um prefixo diferente pode ser necessário para uma chamada feita por meio do escritório central.) Ou um usuário pode fazer chamadas de um computador portátil e desejar usar um único catálogo de endereços estático mesmo ao chamar de diferentes locais ou ambientes de telefonia. Os recursos de tradução de endereço do TAPI permitem que o usuário informe o computador sobre o local atual e o dispositivo de linha desejado para a chamada. O TAPI manipula as diferenças de discagem, não exigindo alterações no catálogo de endereços do usuário. Um aplicativo usa a conversão de endereço para converter um endereço do formato de endereço canônico para o formato de endereço discável .
Um tópico relacionado é a manipulação do monitoramento internacional de progresso de chamadas, que é o processo de escutar tons audíveis, como tom de discagem, tons de informações especiais, sinais ocupados e tons de toque para determinar o estado de uma chamada (seu progresso pela rede). Como as cadências e as frequências dos tons de progresso de chamadas variam de país ou região para país ou região, o provedor de serviços deve saber qual progresso de chamada seguir ao fazer uma chamada de saída internacional. Portanto, os aplicativos especificam o código de país ou região de destino ao fazer chamadas de saída.
Endereços canônicos
O formato de endereço canônico destina-se a ser um número de diretório universalmente constante. Por esse motivo, os números nos catálogos de endereços são melhor armazenados usando o formato canônico.
Os detalhes a seguir dizem respeito ao que é considerado canônico para um endereço telefônico.
Um endereço de telefone canônico é uma cadeia de caracteres de texto com a seguinte estrutura:
+ CountryCode Espaço [(AreaCode) Espaço] SubscriberNumber | Subaddress ^ Name CRLF ...
Os componentes dessa estrutura são descritos na tabela a seguir.
Componente
Significado
+
Equivalente a hexadecimal 2B. Indica que o número a seguir usa o formato canônico.
CountryCode
Uma cadeia de caracteres de tamanho variante que contém um ou mais dos dígitos "0" a "9" (hexadecimal de 30 a 39, inclusive). O CountryCode é delimitado pelo espaço a seguir. Ele identifica o país ou a região em que o endereço está localizado.
Space
Exatamente um caractere de espaço (hexadecimal 20). Ele é usado para delimitar o final da parte CountryCode de um endereço.
AreaCode
Uma cadeia de caracteres de tamanho variavelmente contendo zero ou mais dos dígitos "0" a "9" (hexadecimal de 30 a 39, inclusive). AreaCode é a parte do código de área do endereço e é opcional. Se o código de área estiver presente, ele deverá ser precedido por exatamente um caractere de parêntese esquerdo (28) e ser seguido por exatamente um caractere de parêntese direito (29) e um caractere de espaço (20).
SubscriberNumber
Uma cadeia de caracteres de tamanho variante que contém um ou mais dos dígitos "0" a "9" (hexadecimal de 30 a 39, inclusive). Ele também pode incluir outros caracteres de formatação, incluindo qualquer um dos caracteres de controle de discagem descritos no Formato de Endereço Discável:
Caractere
Codificação hexadecimal
! #
$
*
,
?
@
ABCD
P
T
W
abcd
p
t
w
21 23
24
2A
2C
3F
40
41-44
50
54
77
61-64
70
74
79
O número do assinante não deve conter o parêntese esquerdo ou o caractere parêntese direito (que são usados apenas para delimitar o código de área), nem deve conter os caracteres "|", "^" ou CRLF (que são usados para começar os campos a seguir). Mais comumente, caracteres nãondigit no número do assinante incluiriam apenas espaços, pontos ("." e traços ("-"). Todos os caracteres nondigit permitidos que aparecem no número do assinante são omitidos da função DialableString retornada pela função lineTranslateAddress , mas são mantidos no DisplayableString.
|
Hex (7C). Se esse caractere opcional estiver presente, as informações que o seguirão até o próximo + | ^ CRLF, ou o final da cadeia de caracteres de endereço canônico, é tratado como informações de subaddress, como para um subaddress ISDN.
Subendereço
Uma cadeia de caracteres de tamanho variante que contém um subaddress. A cadeia de caracteres é delimitada por + | ^ CRLF ou o final da cadeia de caracteres de endereço. Durante a discagem, as informações de subaddress são passadas para a parte remota. Pode ser coisas como um sub-endereço ISDN ou um endereço de email.
^
Hex (5E). Se esse caractere opcional estiver presente, as informações que o seguem até o próximo CRLF ou o final da cadeia de caracteres de endereço canônico serão tratadas como um nome ISDN.
Nome
Uma cadeia de caracteres de tamanho variavelmente tratada como informações de nome. O nome é delimitado pelo CRLF ou o final da cadeia de caracteres de endereço canônico e pode conter outros delimitadores. Durante a discagem, as informações de nome são passadas para a parte remota.
CRLF
Hex (0D) seguido por Hex (0A) e é opcional. Se presente, indica que outro número canônico está seguindo este. Ele é usado para separar vários endereços canônicos como parte de uma única cadeia de caracteres de endereço (multiplexação inversa). Por exemplo, a representação canônica do número de telefone do quadro de main na Microsoft Corporation seria:
+1 (425) 882-8080
Endereços Discáveis
O formato de endereço discável é o formulário no qual um endereço é passado para um provedor de serviços que manipula números de telefone. Os detalhes a seguir dizem respeito a endereços discáveis em uma rede telefônica.
O formato de número discável permite que vários endereços de destino sejam fornecidos de uma só vez. Essa capacidade poderá ser útil se o provedor de serviços oferecer alguma forma de multiplexação inversa configurando chamadas para cada um dos destinos especificados e, em seguida, gerenciando o fluxo de informações como um único fluxo de mídia de alta largura de banda. O aplicativo percebe esse grupo de chamadas como uma única chamada porque recebe apenas um único identificador de chamada que representa a agregação das chamadas telefônicas individuais.
Também é possível dar suporte a multiplexação inversa no nível do aplicativo. Para fazer isso, o aplicativo configuraria uma série de chamadas individuais e sincronizaria seus fluxos de mídia.
Subaddressing é uma funcionalidade fornecida em linhas ISDN que permite que mais informações do que apenas um único número de telefone sejam usadas ao discar. Essas informações adicionais podem especificar uma extensão telefônica individual para tocar ou, em um ambiente de computação, um aplicativo específico a ser alertado. Outros parâmetros podem descrever os aspectos necessários de uma conexão solicitada, como taxa e tempo.
Se o subaddressing tiver suporte de um provedor de serviços, o aplicativo incluirá isso no endereço passado para qualquer operação que exija uma.
Um endereço de telefone discável contém informações de endereçamento de parte e é parte de navegação por natureza. Qualquer cadeia de caracteres de entrada que não comece com um caractere "+" é presumidamente não estar no formato canônico e, portanto, estar no formato de endereço discável e é retornada ao aplicativo sem modificação. Um endereço discável é uma cadeia de caracteres de texto com a seguinte estrutura:
DialableNumber | Subendereço ^ Nome CRLF...
Os componentes dessa estrutura são dados na tabela a seguir.
Componente | Significado |
---|---|
DialableNumber | Dígitos e modificadores 0-9 A-D * # , ! W w P p T t @ $ ? ; delimitado por | ^ CRLF ou o final da cadeia de caracteres de endereço discável. O sinal de adição (+) é um caractere válido em cadeias de caracteres discáveis. Indica que o número de telefone é um número internacional totalmente qualificado. No DialableNumber, observe as seguintes definições: 0-9 A-D * # Caracteres correspondentes ao DTMF e/ou dígitos de pulso. |
! | Hex (21). Indica que uma barra de gancho (onhook de meio segundo, seguida por um offhook de meio segundo antes de continuar) deve ser inserida na cadeia de caracteres de discagem. |
P p | Hexadecimal (50) ou Hex (70). Indica que a discagem de pulso deve ser usada para os dígitos que a seguem. |
T t | Hexadecimal (54) ou Hex (74). Indica que a discagem de tom (DTMF) deve ser usada para os dígitos que a seguem. |
, | Hex (27). Indica que a discagem deve ser pausada. A duração de uma pausa é específica do dispositivo e pode ser recuperada dos recursos do dispositivo da linha. Várias vírgulas podem ser usadas para fornecer pausas mais longas. |
W w | Hexadecimal (57) ou Hex (77). Um W maiúsculo ou minúsculo indica que a discagem deve continuar somente depois que um tom de discagem for detectado. |
@ | Hexadecimal (40). Indica que a discagem é "aguardar a resposta silenciosa" antes de discar o restante do endereço discável. Isso significa esperar pelo menos um tom de retorno seguido por vários segundos de silêncio. |
$ | Hexadecimal (24). Indica que discar as informações de cobrança é aguardar um "sinal de cobrança" (como um tom de aviso de cartão de crédito). |
? | Hex (3F). Indica que o usuário deve ser solicitado antes de continuar com a discagem. Na verdade, o provedor não faz a solicitação, mas a presença do "?" força o provedor a rejeitar a cadeia de caracteres como inválida, alertando o aplicativo sobre a necessidade de dividi-la em partes e solicitar o usuário intermediário. |
; | Hex (3B). Se colocada no final de uma cadeia de caracteres de endereço discável parcialmente especificada, ela indica que as informações de número discável estão incompletas e mais informações de endereço serão fornecidas posteriormente. O componente ";" só é permitido na parte DialableNumber de um endereço. |
| | Hex (7C) e é opcional. Se estiver presente, as informações que o seguirão até o próximo + | ^ CRLF ou o final da cadeia de caracteres de endereço discável é tratado como informações de subaddress (como para um subaddress ISDN). |
Subendereço | Uma cadeia de caracteres de tamanho variante que contém um subaddress. A cadeia de caracteres é delimitada pelo próximo + | ^ CRLF ou o final da cadeia de caracteres de endereço. Ao discar, as informações de subaddress são passadas para a parte remota. Pode ser para um sub-endereço ISDN, um endereço de email e assim por diante. |
^ | Hex (5E) e é opcional. Se presente, as informações que o seguem até o próximo CRLF ou o final da cadeia de caracteres de endereço discável são tratadas como um nome ISDN. |
Nome | Uma cadeia de caracteres de tamanho variavelmente tratada como informações de nome. O nome é delimitado por CRLF ou o final da cadeia de caracteres de endereço discável. Ao discar, as informações de nome são passadas para a parte remota. |
CRLF | Hex (0D) seguido por Hex (0A). Se presente, esse caractere opcional indica que outro número discável está seguindo este. Ele é usado para separar vários endereços discáveis como parte de uma única cadeia de caracteres de endereço (para multiplexação inversa). |
A tradução de endereço pode ser usada para traduzir um endereço do formato canônico para o formato discável.