This is the Spanish manual for GNU Gatekeeper 2.2.5.
A more recent (English) manual is in your GnuGk download archive.
Capítulos:
Índice ·
Introducción ·
Instalacion ·
Empezando ·
Configuración Básica ·
Enrutado ·
RAS Config ·
Autenticación ·
Accounting ·
Vecinos ·
Configuración Por-Terminal ·
Configuración Avanzada ·
Monitoreando
Las siguientes secciones del Archivo de Configuración son utilizadas para configurar el enrutamiento de las llamadas.
Esta sección explica el funcionamiento de las diferentes
políticas de enrutado del gatekeeper.
Las peticiones de llamada entrantes pueden ser encaminadas usando
un número de proovedores de ruta:
explicit
El destinatario se detalla de manera explícita en la petición
de enrutado.
internal
La regla clásica; buscar el destinatario en la
tabla de registro (RegistrationTable).
parent
Enruta la llamada utilizando información obtenida desde el GK padre
en respuesta a un mensaje ARQ enviado por el gatekeeper.
neighbor
Enruta la llamada usando vecinos a través de mensajes LRQ
dns
El destino se obtiene del DNS,
dado que es obtenible.
vqueue
Usar el mecanismo de cola virtual y generar un evento RouteRequest
para permitir manejar el enrutado a una aplicación externa
(sólo puede ser usada con OnARQ o OnLRQ)
numberanalysis
Provee soporte para el envío de dígito enmascarado (overlapped digit) para mensajes ARQ.
Además soporta parcialmente mensajes Setup (no al envio de dígitos superpuestos
- solamente validación de longitud de número).
enum
ENUM (RFC3761) es un método para utilizar DNS lookup para convertir
números reales IDD E164 en información de marcado H323. Los servidores
por defecto son e164.voxgratia.net , e164.org y e164.arpa .
Para especificar su propio servidor, tiene que detallar la variable de
ambiente PWLIB_ENUM_PATH con la dirección de sus servidores ENUM
preferidos separados por un punto u coma (;). (Desde la versión 1.8.0 de PWLib soporta la valiabre PWLIB_ENUM_PATH; La versión 1.7.5.2 (Pandora) no soporta ésto.)
La política "enum" remplaza el destino con la información devuelta por el servidor ENUM, así que usted debe tener las políticas de ruteo apropiadas para dirigir finalmente la llamada después de la política "enum". Generalmente usted debe tener la política "dns" después de la política "enum" puesto que la nueva ubicación es devuelta en la forma 'number@gatekeeper' entonces se necesita la política "dns" para resolver ésto.
Finalmente no olvide que cada chequeo de ruta con la política "enum" requiere un DNS lookup. Para agilizar su ruteo, asegúrese de resolver internamente antes de aplicar la política "enum".
srv
DNS SRV o H.323 Anexo Q. permite el enrutado de llamadas utilizando el H.323 URI.
La direcciones pueden establecerce como usuario (a) dominio. Las direcciones de señalización H.323 son
almacenadas en los registros del dominio DNS. Estas direcciones pueden ser direcciones de señalización (signalling address) o
direcciones LRQ (LRQ address).
La siguiente es la configuración por defecto para las políticas de enrutado (routing policies):
[RoutingPolicy]
default=explicit,internal,parent,neighbor
Si una política no se cumple, se tratará con la siguiente política.
Estas políticas pueden ser aplicadas a diversos tipos de peticiones de enrutado,
y datos de entrada de enrutado. Éstos son los siguientes:
ARQ, LRQ, Setup y Facility (con razón callForwarded)
Existe también una política general de enrutado, que viene a ser
la opción por defecto frente a los otros tipos.
- Ejemplo:
-
[RoutingPolicy]
h323_ID=dns,internal
002=neighbor,internal
Default=internal,neighbor,parent
Cuando se recibe uno de los mensajes que requiere una decisión de asignación de ruta
todas las llamadas con un alias del tipo h323_ID serán resueltas
utilizando DNS. Si el DNS no resuelve el alias, se comprueba con las
tablas de registro internas. Si se pide un alias que comience con 002,
los vecinos son comprobados antes de las tablas de registro. Si el
alias solicitado no es del tipo h323_ID o comienza
por 002, se usa la política por defecto consultando
las tablas de registro internas, tras
ellas, a los vecinos, y, en caso de fallo,
al padre.
Para los mensajes ARQ, LRQ, Setup y Facility se deberían usar las secciones
[RoutingPolicy::OnARQ],[RoutingPolicy::OnLRQ],
[RoutingPolicy::OnSetup] y [RoutingPolicy::OnFacility]
utilizando la sintaxis anteriormente explicada.
- Ejemplo:
-
[RoutingPolicy::OnARQ]
default=numberanalysis,internal,neighbor
Una configuración típica de enrutado con ENUM podría quedar como lo que sigue:
- Ejemplo:
-
[RoutingPolicy]
default=explicit,internal,enum,dns,internal,parent,neighbor
Esta sección define las reglas de reescritura para números dialedDigits (números E.164)
- Formato:
-
[!]original-prefix=target-prefix
Si el número comienza con original-prefix ,
se reescribe a target-prefix .
Si el comodín `! ' precede a original-prefix , se invierte el sentido
y el prefijo del objetivo se antepone al número marcado. Se permiten los comodines especiales
('.' y '%' ).
- Ejemplo:
-
08=18888
Si se marca 08345718 , se reescribe a 18888345718 .
- Ejemplo:
-
!08=18888
Si se marca 09345718 , se reescribe a 1888809345718 .
Opción:
Esta sección define las reglas de reescritura de alias. Esto puede ser utilizado para
mapear los alias asignados por el gatekeeper a los endpoints registrados.
- Formato:
-
[!]original-alias=target-alias
Si el alias es original-alias ,
éste es reescrito a target-alias .
- Ejemplo:
-
bill=033123456
Esta sección describe la reescritura de números dialedDigits E.164 en función de
si llega o se envía la llamada desde el gateway. Esto permite una manipulación
más flexible de los dialedDigits para el enrutado. En combinación con el
RasSrv::RewriteE164 se puede realizar la reescritura
en tres fases:
Llamada desde el "gw1", dialedDigits 0867822
|
|
V
Reglas de entrada para "gw1", dialedDigits ahora es 550867822
|
|
V
Reglas globales, dialedDigits ahora es 440867822
|
|
V
Selección de Gateway, dialedDigits ahora es 440867822, Gateway de cara al exterior "gw2"
|
|
V
Reglas de salida para "gw2", dialedDigits ahora es 0867822
|
|
V
Llamada a "gw2", dialedDigits 0867822
- Formato:
-
gw-alias=in|out=[!]original-prefix=target-prefix[;in|out...]
Si la llamada re corresponde al gateway, la dirección que comienza con
original-prefix se reescribe a target-prefix .
Si la bandera `! ' precede a original-prefix , el sentido se invierte.
Se permiten los caracteres especiales ('.' and '%' ).
Es preciso separar con ';' las diversas reglas para un mismo gateway.
- Ejemplo:
-
gw1=in=123=321
Si se recibe una llamada desde "gw1" a 12377897 , se reescribe a 32177897
antes de completar cualquier otra acción.
Una vez especificado el/los prefijos para el gatekeeper que trabaja como endpoint, el gatekeeper
padre enrutará las llamadas con dialedDigits que empiezan con esos prefijos.
El gatekeeper hijo puede reescribir el destino de acuerdo a las reglas
especificadas en esta sección. En contraste, cuando un endpoint interno llama a un
endpojnt registrado en el gatekeeper padre, el origen
se escribirá a la inversa.
- Formato:
-
external prefix=internal prefix
Por ejemplo, Si se tiene la siguiente configuración:
[Parent GK]
ID=CitronGK
/ \
/ \
/ \
/ \
[Child GK] [EP3]
ID=ProxyGK E164=18888200
Prefix=188886
/ \
/ \
/ \
[EP1] [EP2]
E164=601 E164=602
Con esta regla:
188886=6
Cuando EP1 llame a EP3 por 18888200 , el CallingPartyNumber en el mensaje Setup Q.931
se reescribirá a 18888601 . A la inversa, EP3 alcanza EP1 y EP2
llamando a 18888601 y 18888602 respectivamente. Por tanto,
un endpoint registrado con el GK hijo con prefijo '6 ' aparecerá
como un endpoint con prefijo '188886 ', para los endpoints registrados
con el gatekeeper padre.
La sección no se relaciona con la sección
RasSrv::RewriteE164,
aunque la última tendrá efecto antes.
Esta sección define reglas para la política de enrutado numberanalysis .
Esta política revisa el mínimo y/o máximo número de dígitos que tiene un número marcado
y envía un mensaje ARJ si es necesario (número de dígitos fuera de rango), permitiendo dar soporte
al envío de dígitos superpuestos (overlapped digit). Se da un soporte parcial a los mensajes Setup (no al envio de dígitos superpuestos
- solamente a la validación de la longitud del número).
- Formato:
-
prefix=MIN_DIGITS[:MAX_DIGITS]
Si el número empareja con prefix , éste se verifica para ver si consiste de al menos
MIN_DIGITS dígitos y (si también se agregó MAX_DIGITS) hasta un máximo de MAX_DIGITS
dígitos. Tambien se pueden utilizar caracteres especiales como ! , '.' y '%' ).
Si el número es demasiado corto , se devolverá un mensaje ARJ con el campo rejectReason espablecido a incompleteAddress .
Si el número es demasiado largo, se devolverá un mensaje ARJ con el campo rejectReason establecido a undefinedReason .
Para buscar una correspondencia se busca en la lista de prefijos desde el prefijo más largo hasta el prefijo mas corto.
En el caso de mensajes Setup, se devolverá un Release Complete con "badFormatAddress" cuando el número
tiene una logitud incorrecta.
- Ejemplo:
-
[RoutingPolicy::OnARQ]
default=numberanalysis,internal
[Routing::NumberAnalysis]
0048=12
48=10
.=6:20
Las llamadas que van hacia destinatarios que empiezan con 0048 deben tener por lo menos 12 dígitos,
los que van hacia destinatarios que empiezan con 48 deben tener 10 dígitos y resto por lo menos 6 y como máximo 20 dígitos.
Esta sección contiene un conjunto de reglas de reescritura para números ANI/CLI (caller id).
El proceso de reescritura es realizado en dos estados - reescritura entrante (inbound rewrite) y reescritura saliente (outbound rewrite).
La reescritura entrante (inbound rewrite) se realiza antes que cualquier otro proceso de mensajes Q.931
(como inbound GWRewrite, autenticación, accounting, ...) y éste tendrá
efectos visibles dentro de los módulos auth/acct, puesto que éste afecta al Calling-Station-Id.
La reescritura saliente (outbound rewrite) toma lugar justo antes de que el mensaje de Setup sea remitido
y su efecto es visible solamente para el endpoint que recibe la llamada (callee).
Una regla de reescritura entrante (inbound rewrite) puede enparejarse con una IP del endpoint emisor (caller's IP) y un número marcado (dialed number)
o un CLI/ANI original.
Una regla de reescritura saliente (outbound rewrite) puede emparejarse con una IP del endpoint emisor (caller's IP), con la IP del receptor (callee's IP) y
con un número marcado (dialed number) o con un número de destino (el número marcado después de la reescritura)
o un CLI/ANI (después de la reescritura entrante).
Este módulo además provee la característica CLIR (Calling Line Identification Restriction)
que puede ser configurada para cada endpoint (regla).
ProcessSourceInfo=1
Default: 1
Además de reescribir un Calling-Party-Number IE también se podrá reescribir el elemento
sourceInfo del mensaje de Setup H.225.0, de esta manera ambos contienen
información coherente.
RemoveH323Id=1
Default: 1
Cuando se reescribe el elemento sourceInfo de un mensaje Setup H.225.0,
los alias de tipo H323_ID, email_ID y url_ID pueden permanecer intactas
si esta opción permanece deshabilitada.
CLIRPolicy=apply
Default: N/A
Aquí puede establecerse un indicador de presentación global que procesa la política.
Esta política puede ser aplicada a todas las reglas de reescritura CLI que no anulen a ésta.
Las posibles selecciones son forward - solamente remite el PI recibido tal como está,
apply - examina el PI recibido y oculta el CLI si éste esta establecido en "presentación
restringida" y applyforterminals - similar a apply excepto que el número
es removido solamente cuando la llamada es enviada hacia un terminal y no hacia un gateway.
- Formato para una regla entrante:
-
in:CALLER_IP=[pi=[allow|restrict][,forward|apply|applyforterminals]] [cli:|dno:]number_prefix(=|*=|~=)NEW_CLI[,NEW_CLI]...
El prefijo in: indica que ésta es una regla entrante y el CALLER_IP
será utilizado para emparejar la regla (éste puede ser una simple IP o una subred completa).
El parámetro opcional pi= controla las características de CLIR (Calling Line Identification Restriction).
Con los valores de allow o restrict establecemos que el indicador de presentación (presentation indicator)
sea "presentación permitida" o "presentación restringida". Los indicadores forward , apply
y applyforterminals controlan cómo el indicador de presentación recibido (si lo hay)
es procesado por el gatekeeper. forward significa reenviar el indicador hacia el callee tal como está,
apply significa ocultar el CLI si el PI está establecido en "presentación restringida", applyforterminals
es similar a apply , excepto que el CLI se oculta solamente cuando la llamada es enviada hacia un terminal,
y no a un gateway.
El prefijo cli: o dno: (el valor predeterminado) selecciona el número que será utilizado
para emparejar el number_prefix - un id de caller (CLI/ANI) o un número marcado (dialed number).
El emparejado/reescritura de números puede realizarse de tres maneras:
= - Un número cli o dno se emparejará contra el number_prefix ,
utilizando un prefijo (prefix match), si el prefijo es encontrado, el
CLI será reemplazado con el NEW_CLI,
~= - Un número cli o dno se emparejará contra el number_prefix ,
utilizando una indetidad (identity match), si ambos números son los mismos, el
CLI será reemplazado con el NEW_CLI,
*= - (VALIDO SOLAMENTE PARA cli ) Un número cli se emparejará contra el number_prefix ,
utilizando un prefijo (prefix match), si el prefijo es encontrado, el
prefijo emparejado CLI (number_prefix ) será reemplazado con
un prefijo NEW_CLI.
Después del signo de igualdad (=/ =/*=), sigue una lista de valores nuevos de CLI a ser usados.
Si se especifica mas de un valor, un único valor se escogerá de manera aleatoria.
Está permitido especificar grandes rangos de números como 49173600000-49173699999
(para rangos de números CLIs debe fijarse una longitud fija).
Hay una cadena especial constante "any", que puede ser utilizada en lugar
del CALLER_IP o el number_prefix . Para habilitar la característica CLIR para esta regla,
utilice la cadena especial constante "hide" en lugar de la lista de nuevos valores de CLI.
Tenga presente que CLIR es más utilizado para reglas salientes (outbound rules).
- Ejemplo 1:
-
[RewriteCLI]
in:192.168.1.1=dno:5551=3003
in:192.168.1.1=cli:1001=2222
in:192.168.1.1=any=1111
Estas reglas indican que para aquellas llamadas que vienen desde la IP 192.168.1.1:
(1) si el usuario marca un número que empieza con 5551, el CLI se establece en 3003,
(2) si la llamada es de un usuario que empieza con CLI en 1001, el CLI se establece en 2222,
(3) para el resto de llamadas que vienen de dicha IP, el CLI se establece en 1111.
- Ejemplo 2:
-
[RewriteCLI]
in:192.168.1.0/24=any=18001111
in:192.168.2.0/24=any=18002222
in:any=any=0
Estas reglas indican que:
(1) para las llamadas que vienen desde la red 192.168.1.0/24, el CLI se establece en 18001111,
(2) para las llamadas que vienen desde la red 192.168.2.0/24, el CLI se establece en 18002222,
(3) para el resto de llamadas, el CLI se establece en 0.
- Ejemplo 3:
-
[RewriteCLI]
%r1% in:192.168.1.0/24=0048*=48
%r2% in:192.168.1.0/24=0*=48
in:any=100.~=48900900900
Estas reglas indican que:
(1) para las llamadas que vienen desde la red 192.168.1.0/24, reescriba los números que empiezan con 0048 a 48 (ejemplo - 0048900900900 => 48900900900),
(2) para las llamadas que vienen desde la red 192.168.1.0/24, reescriba los números que empiezan con 0 a 48 (ejemplo - 0900900900 => 48900900900),
(3) para el resto de llamadas, si CLI es de 4 dígitos y empieza con 100, establezca éste en 48900900900.
- Ejemplo 4 (CLIR):
-
[RewriteCLI]
in:192.168.1.0/24=any=hide
Este ejemplo provoca que el número del emisor (caller) sea removido de los mensajes de Setup
originados en la red 192.168.1.0/24. Esto además provoca que sean establecidos de manera apropiada los indicadores
de presentación y screening en los mensajes Setup.
- Formato para la regla saliente (outbound rule):
-
out:CALLER_IP=CALLEE_IP [pi=[allow|restrict][,forward|apply|applyforterminals]] [cli:|dno:|cno:]number_prefix(=|~=|*=)NEW_CLI[,NEW_CLI]...
El prefijo out: indica que ésta es una regla saliente (outbound rule), el CALLER_IP
y el CALLEE_IP serán utilizados para emparejar la regla y puede ser una dirección IP simple
o una dirección completa de red.
El parámetro opcional pi= controla las características de CLIR (Calling Line Identification Restriction).
Con los valores de allow o restrict establecemos que el indicador de presentación (presentation indicator)
sea "presentación permitida" o "presentación restringida". Los indicadores forward , apply
y applyforterminals controlan cómo el indicador de presentación recibido (si lo hay)
es procesado por el gatekeeper. forward significa reenviar el indicador hacia el callee tal como está,
apply significa ocultar el CLI si el PI está establecido en "presentación restringida", applyforterminals
es similar a apply , excepto que el CLI se oculta solamente cuando la llamada es enviada hacia un terminal,
y no a un gateway.
El prefijo cli: , dno: (el valor predeterminado) o cno: selecciona el número que será utilizado
para emparejar el number_prefix - un id de caller (CLI/ANI), un número marcado (dialed number)
o un número destino/called (el número marcado después de la reescritura).
El emparejado/reescritura de números puede realizarse de tres maneras:
= - Un número cli o dno se emparejará contra el number_prefix ,
utilizando un prefijo (prefix match), si el prefijo es encontrado, el
CLI será reemplazado con el NEW_CLI,
~= - Un número cli o dno se emparejará contra el number_prefix ,
utilizando una indetidad (identity match), si ambos números son los mismos, el
CLI será reemplazado con el NEW_CLI,
*= - (VALIDO SOLAMENTE PARA cli ) Un número cli se emparejará contra el number_prefix ,
utilizando un prefijo (prefix match), si el prefijo es encontrado, el
prefijo emparejado CLI (number_prefix ) será reemplazado con
un prefijo NEW_CLI.
Después del signo de igualdad (=/ =/*=), sigue una lista de valores nuevos de CLI a ser usados.
Si se especifica mas de un valor, un único valor se escogerá de manera aleatoria.
Está permitido especificar grandes rangos de números como 49173600000-49173699999.
Hay una cadena especial constante "any", que puede ser utilizada en lugar
del CALLER_IP , el CALLEE_IP o el number_prefix .
Para habilitar la característica CLIR para esta regla, utilice la cadena especial constante "hide"
o "hidefromterminals" en lugar de la lista de nuevos valores de CLI.
- Ejemplo 1:
-
[RewriteCLI]
out:any=192.168.1.1 any=1001
out:any=192.168.1.2 any=1002
Estas reglas establecen un ANI/CLI fijo para cada IP final:
(1) presénteme con un ANI 1001, al enviar las llamadas a la IP 192.168.1.1,
(2) presénteme con un ANI 1002, al enviar las llamadas a la IP 192.168.1.2.
- Ejemplo 2:
-
[RewriteCLI]
out:any=192.168.1.1 any=1001-1999,3001-3999
Esta regla selecciona de manera aleatoria un ANI/CLI de un rango de 1001-1999, 3001-3999
para llamadas enviadas a 192.168.1.1.
- Ejemplo 3 (CLIR):
-
[RewriteCLI]
out:any=any any=hidefromterminals
out:192.168.1.1=any any=hide
En este ejemplo cada suscriptor ha habilitado la característica CLIR. De esta manera todas las llamadas hacia los terminales
tendrán un número de emisor (caller) removido y establecidos los indicadores de presentación/screening.
Las llamadas que van hacia los gateways tendrán solamente un indicador de presentación establecido en "presentación restringida"
y no será removido el número de emisor (caller) para permitir un ruteo apropiado y removimiento de número
al equipo destino.
Una excepción a estas reglas es que las llamadas que vienen desde 192.168.1.1 tendrán siempre removido
el número de emisor (caller), sin importar si está llamando a un terminal o a un gateway.
- Ejemplo 4 (CLIP):
-
[RewriteCLI]
out:any=192.168.1.1 any=hide
En este ejemplo la característica CLIP (Calling Line Identification Presentation)
está deshabilitada para el usuario 192.168.1.1.
- Ejemplo 5 (CLIR):
-
[RewriteCLI]
out:192.168.1.1=any pi=restrict,apply cli:.*=.
out:any=any pi=allow cli:.*=.
Estas reglas no cambian el CLI (.*=.) y:
(1) habilitan el CLIR para el endpoint 192.168.1.1. apply le indica al gatekeeper
que no solamente establezca el PI, sino que además oculte el número actual,
(2) Forza la presentación CLI para el resto endpoints.
El emparejamiento de reglas tiene un orden estrictamente definido:
- Se determina la pareja de la IP del emisor más cercano - closets caller's IP (closest significa con la
máscara de red más larga - IPs simples tienen la prioridad más alta, "any" tiene la prioridad más
baja),
- (reglas salientes) Se determina la pareja de la IP del receptor más cercano - closest callee's IP,
- Se busca el prefijo/numero más largo que empareje con el par IP/IP dado,
en el siguiente órden:
dno: Se buscan reglas de tipo (número marcado - dialed number),
cno: Se buscan reglas de tipo (número destino/llamado - destination/called number),
cli: Se buscan reglas de tipo (caller id).
Después que ha sido encontrada una pareja para la IP del caller/callee, no se revisa ninguna
otra regla, aun cuando ningún prefijo/número se empareja dentro del conjunto de reglas
para éstas IPs.
Sobre plataforma Windows, hay un problema con config keys duplicadas,
de esta manera hay un workaround para esta restricción. Este ejemplo
no podrá trabajar debido a la misma clave (key) (in:192.168.1.1 ):
[RewriteCLI]
in:192.168.1.1=1001=2001
in:192.168.1.1=any=2000
Como workaround, puede utilizar una cadena con un signo de porcentaje (%) al inicio
y al final antes de la clave (key). Este prefijo se separará automáticamente
del nombre de la clave (key name) antes de la carga de las reglas:
[RewriteCLI]
%r1% in:192.168.1.1=1001=2001
%r2% in:192.168.1.1=any=2000
Página siguiente
Página anterior
Índice general
Capítulos:
Índice ·
Introducción ·
Instalacion ·
Empezando ·
Configuración Básica ·
Enrutado ·
RAS Config ·
Autenticación ·
Accounting ·
Vecinos ·
Configuración Por-Terminal ·
Configuración Avanzada ·
Monitoreando
|