Dirección
El concepto de una dirección es fundamental para la mayoría de las operaciones de comunicación. Una dirección representa una ubicación en una red. La asignación local de una dirección a una línea o canal suele tener lugar durante la instalación del proveedor de servicios, pero se puede modificar más adelante. Puede encontrar detalles sobre los procedimientos implicados en el Kit de recursos del sistema operativo para proveedores de servicios proporcionados por Microsoft y en la documentación del proveedor de servicios para productos que no son de Microsoft.
Más de un dispositivo de línea puede compartir una sola dirección. Los distintos proveedores de conmutadores tienen nombres diferentes para este concepto, como puente de direcciones, varios números de directorio de apariencia (MADN) o apariencia puenteda. Se ofrece una llamada entrante en una dirección compartida en todas las líneas asociadas a la dirección. Consulte LINEADDRESSSHARING_ Constantes para obtener una descripción de las configuraciones que TAPI reconoce.
La propia dirección es una cadena que identifica una ubicación en una red. En el caso de una red telefónica, la dirección es un número de teléfono completo con códigos nacionales o internacionales. Si la red está basada en IP, la dirección puede ser una dirección IP. Consulte LINEADDRESSTYPE_ Constantes para los tipos de direcciones definidos por TAPI. Un proveedor de servicios puede definir tipos de direcciones adicionales.
Las diferentes direcciones tienen diferentes características, funcionalidades y estados. Los proveedores de servicios son el origen de dicha información. La funcionalidad y los mecanismos de informes de eventos y funcionalidades de consulta de dispositivos de TAPI proporcionan a una aplicación la información para administrar direcciones.
Las aplicaciones adquieren esta información mediante el procesamiento de eventos de TAPI o mediante operaciones de consulta. Esto permite que una aplicación tenga en cuenta factores como si una dirección determinada admite una funcionalidad específica, como parque.
TAPI 2.x: Las aplicaciones llaman a la función lineGetAddressCaps para determinar las funcionalidades de telefonía de cada dirección y, a continuación, reciben esta información en una estructura de datos LINEADDRESSCAPS . De forma similar, una aplicación puede llamar a lineGetDevCaps para un dispositivo de línea para determinar el número de direcciones asignadas a la línea, así como otra información.
TAPI 3.x: Las aplicaciones usan las interfaces de objeto de dirección para adquirir información sobre las funcionalidades y eventos de direcciones.
Muchos usuarios eligen marcar personas, máquinas de fax, paneles de boletines y otras entidades seleccionando sus nombres en una libreta de direcciones. El número real marcado depende de la ubicación geográfica del usuario y de la forma en que se va a usar el dispositivo de línea está conectado. Por ejemplo, un equipo de escritorio puede tener acceso a dos líneas, una conectada a un PBX, la otra a la oficina central de la compañía telefónica. Al realizar una llamada a la misma entidad, es posible que se tengan que usar números diferentes. (Para marcar a través del PBX, por ejemplo, es posible que el equipo tenga que marcar un prefijo "9" para obtener una línea externa, o puede ser necesario un prefijo diferente para una llamada realizada a través de la oficina central). O bien, un usuario puede realizar llamadas desde un equipo portátil y desea usar una sola libreta de direcciones estáticas incluso cuando se llama desde diferentes ubicaciones o entornos de telefonía. Las funcionalidades de traducción de direcciones de TAPI permiten al usuario informar al equipo de la ubicación actual y al dispositivo de línea deseado para la llamada. A continuación, TAPI controla las diferencias de marcado, lo que no requiere cambios en la libreta de direcciones del usuario. Una aplicación usa la traducción de direcciones para convertir una dirección del formato de dirección canónica al formato de dirección de marcado .
Un tema relacionado es el control de la supervisión internacional del progreso de llamadas, que es el proceso de escuchar tonos audibles, como el tono de marcado, los tonos de información especiales, las señales ocupadas y los tonos de devolución de llamada para determinar el estado de una llamada (su progreso a través de la red). Dado que las cadencias y frecuencias de los tonos de progreso de llamadas varían de país o región a país o región, el proveedor de servicios debe saber qué progreso de llamada debe seguir al realizar una llamada saliente internacional. Por lo tanto, las aplicaciones especifican el código de país o región de destino al realizar llamadas salientes.
El formato de dirección canónica está pensado para ser un número de directorio constante universalmente. Por este motivo, los números de las libretas de direcciones se almacenan mejor con formato canónico.
Los detalles siguientes se refieren a lo que se considera canónico para una dirección telefónica.
Una dirección telefónica canónica es una cadena de texto con la estructura siguiente:
+ CountryCode Espacio [(AreaCode) Space] SubscriberNumber | Subaddress ^ Name CRLF ...
Los componentes de esta estructura se describen en la tabla siguiente.
Componente
Significado
+
Equivalente a 2B hexadecimal. Indica que el número que sigue usa el formato canónico.
CountryCode
Cadena de tamaño variable que contiene uno o varios de los dígitos "0" a "9" (hexadecimal entre 30 y 39, ambos incluidos). CountryCode se delimita mediante el siguiente espacio. Identifica el país o región en el que se encuentra la dirección.
Space
Exactamente un carácter de espacio (hexadecimal 20). Se usa para delimitar el final de la parte CountryCode de una dirección.
AreaCode
Cadena de tamaño variable que contiene cero o más de los dígitos "0" a "9" (hexadecimal de 30 a 39, ambos incluidos). AreaCode es la parte del código de área de la dirección y es opcional. Si el código de área está presente, debe ir precedido exactamente por un carácter de paréntesis izquierdo (28) y debe ir seguido de exactamente un carácter de paréntesis derecho (29) y un carácter de espacio (20).
SubscriberNumber
Cadena de tamaño variable que contiene uno o varios de los dígitos "0" a "9" (hexadecimal entre 30 y 39, ambos incluidos). También puede incluir otros caracteres de formato, incluidos cualquiera de los caracteres de control de marcado descritos en el formato de dirección de marcado:
Carácter
codificación 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
El número de suscriptor no debe contener el paréntesis izquierdo o el carácter de paréntesis derecho (que solo se usan para delimitar el código de área), ni debe contener los caracteres "|", "^" o CRLF (que se usan para comenzar los campos siguientes). Normalmente, los caracteres nondigit del número de suscriptor solo incluirían espacios, puntos (".") y guiones ("-"). Los caracteres nondigit permitidos que aparecen en el número de suscriptor se omiten de dialableString devueltos por la función lineTranslateAddress , pero se conservan en displayableString.
|
Hex (7C). Si este carácter opcional está presente, la información que sigue a la siguiente + | ^ CRLF, o el final de la cadena de dirección canónica, se trata como información de subaddress, como para una subdirección ISDN.
Subdirección
Cadena de tamaño variable que contiene una subdirección. La cadena está delimitada por + | ^ CRLF o el final de la cadena de dirección. Durante la marcación, la información de subaddress se pasa a la parte remota. Puede ser como una subdirección ISDN o una dirección de correo electrónico.
^
Hex (5E). Si este carácter opcional está presente, la información que le sigue hasta la siguiente CRLF o el final de la cadena de dirección canónica se trata como un nombre ISDN.
Nombre
Cadena de tamaño variable tratada como información de nombre. El nombre se delimita por CRLF o el final de la cadena de dirección canónica y puede contener otros delimitadores. Durante la marcación, la información del nombre se pasa a la entidad remota.
CRLF
Hex (0D) seguido de Hex (0A) y es opcional. Si está presente, indica que otro número canónico sigue a este. Se usa para separar varias direcciones canónicas como parte de una sola cadena de dirección (multiplexación inversa). Por ejemplo, la representación canónica del número de teléfono de la placa principal en Microsoft Corporation sería:
+1 (425) 882-8080
El formato de dirección de marcado es el formulario en el que se pasa una dirección a un proveedor de servicios que controla los números de teléfono. Los detalles siguientes se refieren a las direcciones de marcado en una red telefónica.
El formato de número de marcado permite proporcionar varias direcciones de destino a la vez. Esta capacidad puede ser útil si el proveedor de servicios ofrece alguna forma de multiplexación inversa configurando llamadas a cada uno de los destinos especificados y, a continuación, administrando el flujo de información como un único flujo multimedia de ancho de banda alto. La aplicación percibe este grupo de llamadas como una sola llamada porque recibe solo un identificador de llamada que representa el agregado de las llamadas telefónicas individuales.
También es posible admitir la multiplexación inversa en el nivel de aplicación. Para ello, la aplicación configuraría una serie de llamadas individuales y sincronizaría sus secuencias multimedia.
La subaddressing es una funcionalidad proporcionada en líneas ISDN que permite usar más información que un solo número de teléfono al marcar. Esta información adicional puede especificar una extensión telefónica individual para llamar a o, en un entorno informático, una aplicación determinada que se va a alertar. Otros parámetros pueden describir los aspectos necesarios de una conexión solicitada, como la velocidad y el tiempo.
Si un proveedor de servicios admite subaddressing, la aplicación lo incluye en la dirección pasada a cualquier operación que requiera una.
Una dirección telefónica que se puede marcar contiene información de direccionamiento de partes y es navegación por partes por naturaleza. Se supone que cualquier cadena de entrada que no comience con un carácter "+" no esté en formato canónico y, por lo tanto, esté en formato de dirección de marcado y se devuelva a la aplicación sin modificar. Una dirección de marcado es una cadena de texto con la estructura siguiente:
DialableNumber | Subdirección ^ Nombre CRLF...
Los componentes de esta estructura se proporcionan en la tabla siguiente.
Componente | Significado |
---|---|
DialableNumber | Dígitos y modificadores 0-9 A-D * # , ! W w P p T t @ $ ? ; delimitado por | ^ CRLF o el final de la cadena de dirección de marcado. El signo más (+) es un carácter válido en cadenas marcados. Indica que el número de teléfono es un número internacional completo. En DialableNumber, tenga en cuenta las siguientes definiciones: 0-9 A-D * # Caracteres correspondientes a los dígitos DTMF o pulse. |
! | Hex (21). Indica que un offhook de un segundo (onhook de un segundo, seguido de un segundo de offhook antes de continuar) se va a insertar en la cadena de marcado. |
P p | Hex (50) o Hexadecimal (70). Indica que la marcación de pulso se va a usar para los dígitos siguientes. |
T t | Hex (54) o Hex (74). Indica que la marcación de tono (DTMF) se usará para los dígitos siguientes. |
, | Hex (27). Indica que se va a pausar la marcación. La duración de una pausa es específica del dispositivo y se puede recuperar de las funcionalidades del dispositivo de la línea. Se pueden usar varias comas para proporcionar pausas más largas. |
W w | Hex (57) o Hex (77). Una W mayúscula o minúscula indica que la marcación debe continuar solo después de que se haya detectado un tono de marcado. |
@ | Hex (40). Indica que el marcado es "esperar una respuesta silenciosa" antes de marcar el resto de la dirección que se puede marcar. Esto significa esperar al menos un tono de devolución seguido de varios segundos de silencio. |
$ | Hex (24). Indica que marcar la información de facturación es esperar a una "señal de facturación" (por ejemplo, un tono de aviso de tarjeta de crédito). |
? | Hex (3F). Indica que se le pedirá al usuario antes de continuar con la marcación. El proveedor no realiza realmente la solicitud, pero la presencia de "?" obliga al proveedor a rechazar la cadena como no válida, alertando a la aplicación a la necesidad de dividirla en partes y solicitar al usuario entre sí. |
; | Hex (3B). Si se coloca al final de una cadena de dirección marcado parcialmente especificada, indica que la información del número de marcado está incompleta y se proporcionará más información de dirección más adelante. El componente ";" solo se permite en la parte DialableNumber de una dirección. |
| | Hexadecimal (7C) y es opcional. Si está presente, la información que sigue a la siguiente + | ^ CRLF, o el final de la cadena de dirección de marcado se trata como información de subaddress (como para una subaddress ISDN). |
Subdirección | Cadena de tamaño variable que contiene una subdirección. La cadena está delimitada por el siguiente + | ^ CRLF o el final de la cadena de dirección. Al marcar, la información de subaddress se pasa a la entidad remota. Puede ser para una subdirección ISDN, una dirección de correo electrónico, etc. |
^ | Hexadecimal (5E) y es opcional. Si está presente, la información que sigue a la siguiente CRLF o al final de la cadena de dirección de marcado se trata como un nombre ISDN. |
Nombre | Cadena de tamaño variable tratada como información de nombre. El nombre se delimita mediante CRLF o el final de la cadena de dirección de marcado. Al marcar, la información de nombre se pasa a la entidad remota. |
CRLF | Hex (0D) seguido de Hex (0A). Si está presente, este carácter opcional indica que otro número de marcado sigue a este. Se usa para separar varias direcciones de marcado como parte de una sola cadena de direcciones (para la multiplexación inversa). |
La traducción de direcciones se puede usar para traducir una dirección del formato canónico al formato de marcado.