El funcionamiento del gatekeeper está completamente determinado por las opciones de
la línea de comandos y el fichero de configuración. Algunas opciones de la línea de
comandos pueden sustituir a opciones del fichero de configuración.
Por ejemplo, la opción -l
sustituye al atributo TimeToLive
del fichero de configuración, prevaleciendo la introducida en la línea de comandos.
Casi todas las opciones tienen una forma corta y una larga, por ejemplo,
-c
es lo mismo que --config
.
-h --help
Muestra todas las opciones disponibles y sale del programa.
-c --config filename
Especifica el fichero de configuración a usar.
-s --section section
Especifica cual sección principal usar en el fichero de configuración. Por defecto es [Gatekeeper::Main].
-i --interface IP
Especifica la interfaz (número IP) por el que el gatekeeper escuchará. Puedes dejar esta opción para permitir al gatekeeper determinar automáticamente la IP en la que escuchará, a menos que desees que el gatekeeper solo se enlace a una IP especificada.
-l --timetolive n
Especifica el tiempo de vida (en segundos) para el registro de los terminales.
Este prevalece sobre el atributo TimeToLive
del fichero de configuración.
Ver
aquí para explicaciones detalladas.
-b --bandwidth n
Especifica el total de ancho de banda disponible para el gatekeeper. Si no se especifica esta opción, la administración de ancho de banda se desactiva por defecto.
--pid filename
Especifica el fichero para el pid, solo válido para versiones Unix.
-u --user name
Ejecuta el proceso del gatekeeper como este usuario. Solo válido para versiones Unix.
Las opciones de esta subsección prevalecen sobre los atributos de la sección [RoutedMode] del fichero de configuración.
-d --direct
Usa marcado de llamada de terminal directo.
-r --routed
Usa marcado de llamada encaminado a través del gatekeeper.
-rr --h245routed
Usa marcado de llamada y canal de control H.245 encaminado a través del gatekeeper.
-o --output filename
Escribe anotaciones de trazado al fichero especificado.
-t --trace
Ver trazado verboso (verbosity). Cuantas más -t
añadas, más verbosidad será
lanzada a la salida. Por ejemplo, usa -ttttt
para configurar el nivel de
trazado al 5.
El archivo de configuración es un archivo estándar de texto. El formato es el siguiente:
[Section String]
Key Name=Value String
Los comentarios están marcados con un signo de numeral(#
) o un punto y coma(;
)
al inicio de cada línea.
El archivo
complete.ini
contiene todas las secciones disponibles para el GnuGk.
En la mayoría de los casos no tiene sentido utilizar todas las secciones al mismo tiempo.
El archivo simplemente contiene una colección de ejemplos para muchas configuraciones.
El archivo de configuración puede ser cambiado en tiempo de ejecución (cuando el gnugk este ejecutándose).
Una vez que haya modificado el archivo de configuración, usted puede editar el comando reload
desde el puerto de estado (en una conexion telnet), o enviar una señal HUP
al proceso del gatekeeper en ambientes UNIX.
Por ejemplo,
kill -HUP `cat /var/run/gnugk.pid`
Fortytwo=42
N/A
Esta variable permite probar la existencia del archivo de configuración (gatekeeper.ini o cualquiera que sea su nombre) con el que va a trabajar el gatekeeper. Un mensaje de advertencia se mostrará en caso de que no existiera dicho archivo.
Name=OpenH323GK
OpenH323GK
Este es el identificador para el gatekeeper; es decir el nombre con que se lo conoce dentro del ambiente VOIP. Todos los mensajes enviados a los endpoints llevan este identificador.
Home=192.168.1.1
0.0.0.0
El gatekeeper escuchará por peticiones desde esta dirección IP. Por defecto, el gatekeeper escucha desde todas las interfaces de sus equipos. Usted puede quitar esta opción a menos que usted desee que el gatekeeper esté escuchando desde direcciones específicas. Múltiples direcciones pueden agregarse separadas por punto y coma (;) o coma (,).
NetworkInterfaces=192.168.1.1/24,10.0.0.1/0
N/A
Aquí se especifica las interfaces de red del gatekeeper. Por defecto el gatekeeper detectará las interfaces de sus equipos automáticamente. Existen dos situaciones en las que usted podría usar esta opción. Una es en el caso de que la detección automática fallara y la otra cuando el gatekeeper esta detrás de un NAT box y permite a endpoints con claves públicas registrarse con el gatekeeper.
EndpointIDSuffix=_gk1
_endp
El gatekeeper asignará un único identificador a cada endpoint registrado. Esta opción puede ser usada para especificar un sufijo y añadirlo al identificador del endpoint. Esto es muy utilizado solamente cuando se utiliza más de un gatekeeper.
TimeToLive=300
-1
El registro del endpoint con el gatekeeper puede tener un límite en el tiempo de duración. El gatekeeper especifica la duración del registro de un endpoint incluyendo un campo timeToLive en el mensaje RCF. Después del tiempo especificado, el registro expira. Los endpoints enviarán periódicamente un mensaje RRQ con el bit keepAlive fijado antes del tiempo de expiración. Este tipo de mensajes incluyen un mínimo de información como esta descrito en H.225.0. Por eso es llamado como lightweight RRQ. Esta configuración realizada especifica el cronometro time- to- live en segundos hasta que el registro expira. Debe tener muy en cuenta que el endpoint puede pedir un timeToLive muy corto al gatekeeper en el mensaje RRQ. Para evitar una sobrecarga de mensajes RRQ, el gatekeeper ajusta automáticamente este tiempo a 60 segundos si usted estableció un valor menor.
Después del tiempo de expiración, el gatekeeper enviará seguidamente dos mensajes IRQ para consultar si el endpoint esta aun levantado. Si el endpoint responde con un mensaje IRR, el registro se extenderá. En otro caso el gatekeeper enviará un mensaje URQ con razón ttlExpired hacia el endpoint. El endpoint debe entonces reintentar el registro con el gatekeeper usando un mensaje RRQ completo. Para deshabilitar esta opción, establezca como valor: - 1
TotalBandwidth=100000
-1
Aquí se define el total del ancho de banda para ser dado a los endpoints. Por defecto esta característica esta deshabilitada. Tenga cuidado cuando use ésta, puesto que muchos endpoints tienen defectos de implementación.
RedirectGK=Endpoints > 100 || Calls > 50
N/A
Esta opción le permite redireccionar endpoints hacia gatekeeper alternos
cuando el gatekeeper se sobrecarga. Por ejemplo, en la configuración
anterior, el gatekeeper rechazará un RRQ si los endpoints registrados
sobrepasan los 100 o rechazará un ARQ si las llamadas actuales sobrepasan
las 50.
Además, usted puede redireccionar todos los endpoints de manera explícita
configurando esta opción ya sea de manera temporal o permanente. El
gatekeeper devolverá un mensaje de rechazo RAS con una lista de
gatekeepers alternos definida en AlternateGks
. Debe tener presente que un
redireccionamiento permanente significa que los endpoints redireccionados
no se registrarán nuevamente con este gatekeeper. Además tenga en cuenta
que esta función solamente tiene efecto con el estándar H323 versión 4.
AlternateGKs=1.2.3.4:1719:false:120:OpenH323GK
N/A
Con esta opción nosotros permitimos la existencia de otro gatekeeper para proveer redundancia. Actualmente, usted podría encontrarse en una situación (válida por supuesto) donde algunos endpoints están registrados con el primer gatekeeper y algunos están registrados con el segundo. De igual manera usted debe ser capaz de usar los dos gatekeepers en un modo round robin para compartir la carga. Al hablar de gatekeeper primario se refiere al gatekeeper que estamos configurando actualmente y gatekeeper alterno significa el otro. El gatekeeper primario incluye un campo en el RFC que le indica al endpoint cual IP e identificación del gatekeeper alterno utilizar. Pero en cambio el gatekeeper alterno necesita conocer todos los registros realizados por el gatekeeper primario o sino este rechazará las llamadas. Por consiguiente nuestro gatekeeper puede remitir cada RRQ hacia una dirección IP alterna.
La opción de configuración AlternateGKs especifica los campos contenidos en el RCF del gatekeeper primario . Los dos primeros campos del string definen donde (ip:port) se va a remitir la llamada. El tercer campo le indica a los endpoints si ellos necesitan registrarse con el gatekeeper alterno antes de de que tengan lugar las llamadas. Ellos normalmente no lo hacen puesto que nosotros remitimos sus mensajes RRQ, de esta manera ellos se registran con el gatekeeper alterno también. El cuarto campo especifica la prioridad para este gatekeeper. Si es pequeña, mejor, usualmente el gatekeeper primario es considerado para que tenga prioridad 1. Finalmente el último campo especifica el identificador del gatekeeper alterno.
SendTo=1.2.3.4:1719
N/A
A pesar de que esta información esta incluida en el gatekeeper alterno (AlternateGKs), you must still specify which address to forward RRQs to. Esto podría diferir de las direcciones del gatekeeper alterno, de esta manera esta es una opción de configuración aparte (piense en máquinas multihomed ).
SkipForwards=1.2.3.4,5.6.7.8
N/A
Para evitar reenvíos circulares, usted no debería reenviar los RRQs que usted obtiene desde otros gatekeepers (Esta declaración es verdadera para ambos el gatekeeper primario y alterno). Dos mecanismos son utilizados para identificar si una petición debería ser reenviada. El primero busca por una bandera en los mensajes RRQ. Puesto que pocos endpoints implementan esto, nosotros necesitamos una segunda manera que sea más fiable. Especificar la IP del otro gatekeeper en esta lista.
StatusPort=7000
7000
Este es el puerto de estado para monitorear el gatekeeper. Ver this section para más detalle.
StatusTraceLevel=2
2
Aquí se especifica el nivel de rastreo de mensajes para nuevas interfaces clientes. Ver this section para más detalle.
TimestampFormat=ISO8601
Cisco
Esta opción permite controlar el formato de impresión de los strings generados por el gatekeeper. Esta opción afecta a las secciones: [SqlAcct], [RadAcct], [FileAcct] y otras, excepto a [CallTable]. Además usted puede adaptar este formato de acuerdo a sus necesidades.
Hay cuatro formatos predefinidos:
RFC822
- Este es el formato por defecto utilizado por el gatekeeper
(ejemplo: Wed, 10 Nov 2004 16:02:01 +0100).ISO8601
- Formato estándar ISO (ejemplo: 2004- 11- 10 T 16:02:01
+0100).Cisco
- Formato utilizado por equipos Cisco (ejemplo: 16:02:01.534 CET
Wed Nov 10 2004).MySQL
- Formato simple que MySQL entiende perfectamente (ejemplo:
2004- 11- 10 16:02:01).Si usted necesita otro formato, usted puede construir sus propios formatos,
utilizando reglas conocidas desde la función strftime
de C. En general, el
formato del string consiste de caracteres regulares y códigos formateados,
precedidos por un signo de porcentaje (%). Por ejemplo: "%Y-%m-%d and
percent %%" dará como resultado "2004- 11- 10 and percent %". Algunos
códigos formateados comúnes son:
%a
- Nombre abreviado del día de la semana%A
- Nombre completo del día de la semana%b
- Nombre abreviado del mes%B
- Nombre completo del mes%d
- Dia del mes como un número decimal%H
- Hora en el formato 24 horas%I
- Hora en el formato 12 horas%m
- Mes en número decimal%M
- Minuto en número decimal%S
- Segundo en número decimal%y
- Año sin siglo%Y
- Año con siglo%u
- Microsegundos en número decimal (Esta es una extensión del gnugk)%z
- Abreviación de la zona horaria (+0100)%Z
- Nombre de la zona horaria%%
- Signo de porcentaje
EncryptAllPasswords=1
0
Esta opción habilita la encriptación de todos los passwords en la
configuración (SQL passwords, RADIUS passwords, [Password] passwords,
[GkStatus::Auth] passwords). Si habilitamos esta opción, todos los passwords
deben estar encriptados utilizando la aplicación addpasswd
. De otra manera
solo [Password] y [GkStatus::Auth] passwords son encriptados (antiguo
comportamiento).
KeyFilled=0
0
Define un byte de relleno global para ser utilizado durante la encriptación/ desencriptación de passwords. Usualmente, usted no necesitará cambiar esta opción.
La mayoría de los usuarios nunca necesitará cambiar cualquiera de los siguientes valores: Estos son utilizados para operaciones de testing o aplicaciones avanzadas.
UseBroadcastListener=0
1
Define si se escucha las peticiones broadcast RAS. Esto requiere enlazarse hacia todas las interfaces en una máquina, de esta manera si usted desea ejecutar múltiples instancias de gatekeepers sobre la misma máquina, usted debe deshabilitar esta opción.
UnicastRasPort=1719
1719
El identificador del canal RAS TSAP para unicast.
MulticastPort=1718
1718
El identificador del canal RAS TSAP para multicast.
MulticastGroup=224.0.1.41
224.0.1.41
El grupo multicast para el canal RAS.
EndpointSignalPort=1720
1720
Puerto por defecto para el canal de señalización de llamadas de endpoints.
ListenQueueLength=1024
1024
Longitud de la cola para conexiones TCP entrantes.
SignalReadTimeout=1000
1000
Tiempo en milisegundos para leer la interrupción en canales de señalización de llamadas (Q931).
StatusReadTimeout=3000
3000
Tiempo en milisegundos para leer la interrupción en canales de estado (status channel).
StatusWriteTimeout=5000
5000
Tiempo en milisegundos para escribir la interrupción en canales de estado (status channel).
En esta sección se definen un número de reglas para determinar quienes están permitidos de conectarse al gatekeeper vía puerto de estado (vía telnet). Quien quiera que tenga acceso al puerto de estado tiene un control completo sobre el gatekeeper. Asegúrese de que ésta sección esté configurada correctamente.
rule=allow
forbid
Posibles valores son:
forbid
- Prohíbe cualquier conexión.allow
- Permite cualquier conexión.explicit
- Lee el parámetro ip=value
donde ip
es la dirección IP
del cliente observado, value puede ser 1,0
o allow,forbid
o yes,no
.
Si ip no está en la lista el parámetro default es usado.regex
- La IP del cliente se hace corresponder con la
expression regular dada.
Para permitir clientes desde 195.71.129.0/24 y 195.71.131.0/24:
regex=^195\.71\.(129|131)\.[0-9]+$
password
- El usuario tiene un username y password apropiado
para conectarse (login). El formato de username/password es el
mismo que el de la sección
[SimplePasswordAuth].Por otra parte, estas reglas puede ser combinadas por "|" o "&". Por ejemplo,
rule=explicit | regex
explicit
o regex
.
rule=regex & password
regex
, y el
usuario tiene que conectarse con un username y password.
default=allow
forbid
Esta opción es utilizada solamente cuando rule=explicit
.
Shutdown=forbid
allow
Esta opción es utilizada para especificar si se permite o no apagar el gatekeeper vía puerto de estado.
DelayReject=5
0
Esta opción especifica que tiempo (en segundos) se debe esperar antes de rechazar un username / pa s sword inválido.
En esta sección se define parámetros relacionados con el archivo de log. Actualmente se permite a los usuarios especificar las opciones de rotación.
Rotate=Hourly | Daily | Weekly | Monthly
N/A
Si se utiliza esta opción. El archivo de log rotará basado en esta
configuración. La rotación Hourly habilita la rotación una vez por hora, la
rotación Daily, una vez por día, la Weekly, una vez por semana y la Monthly,
una vez por mes. Para definir una rotación exacta ésta esta determinada por
una combinación de las variables RotateDay
y RotateTime
. Durante la rotación,
un archivo existente es renombrado con el formato
CURRENT_FILENAME.YYYYMMDD-HHMMSS, donde YYYYMMDD-HHMMSS es
reemplazada con la fecha actual, y nuevas líneas son agregadas a un archivo
vacío. Para deshabilitar la rotación, no utilice la opción Rotate
o establézcala
a 0.
[LogFile]
Rotate=Hourly
RotateTime=45
[LogFile]
Rotate=Daily
RotateTime=23:00
[LogFile]
Rotate=Weekly
RotateDay=Sun
RotateTime=00:59
[LogFile]
Rotate=Monthly
RotateDay=31
RotateTime=23:00
Los mensajes de señalización de llamada pueden ser manejados de dos maneras. El primer método es Señalización de llamada en modo directo (Direct Endpoint Call Signalling), en el cual los mensajes de señalización de llamada son intercambiados directamente entre los endpoints. El segundo método es Señalización de llamada mediante gatekeeper (Gatekeeper Routed Call Signalling). En este método, los mensajes de señalización de llamada son enrutados a través del gatekeeper entre los endpoints. La selección de cual método utilizar es realizada por el gatekeeper.
Cuando se utiliza la señalización de llamadas en modo gatekeeper (Gatekeeper Routed Call Signalling), el gatekeeper puede seleccionar si enrutar o no el canal de control H.245 (H.245 control channel) y los canales lógicos (logical channels).
El gatekeeper no rutea estos canales. El canal de control H.245 (H.245 control channel) y los canales lógicos (logical channels) se establecen directamente entre los endpoints.
El canal de control H.245 (H.245 control channel) se enruta entre los endpoints a través del gatekeeper, mientras que los canales lógicos (logical channels) se establecen directamente entre los endpoints.
El gatekeeper rutea el canal de control H.245 (H.245 control channel), asi como también los canales lógicos (logical channels), incluyendo el RTP/RTCP para audio y video, y el canal T.120 para datos. En este caso, ningún tipo de tráfico es intercambiado directamente entre los endpoints. Esto es usualmente llamado un Proxy H.323, el mismo que puede ser considerado también como un gateway H.323-H.323.
Esta sección define las opciones de ruteo del modo gatekeeper (Gatekeeper Routed) (Casos I & II). La característica de proxy se definirá más adelante en la siguiente sección. Todas las configuracones dentro de esta sección son afectadas por el comando reload desde el puerto de estado.
GKRouted=1
0
Definir si se habilita o no el ruteo en modo gatekeeper (gatekeeper routed mode).
H245Routed=1
0
Definir si se rutea también el canal de control H.245 (H.245 control channel). Solamente tendrá efecto si el parámetro GKRouted=1
.
CallSignalPort=0
1721
El puerto por donde el gatekeeper realizará la señalización de llamada.
El puerto por defecto es 1721
. Nosotros no usamos el puerto conocido 1720
de esta manera usted podría ejecutar un endpoint H.323 en la misma máquina del gatekeeper.
Usted puede establecer este parámetro en 0
para permitirle al gatekeeper seleccionar un puerto arbitrario.
CallSignalHandlerNumber=2
1
El numero de manejadores de señalización de llamadas. Usted puede incrementar este número en un gatekeeper fuertemente cargado. Este número puede ser incrementado en tiempo de ejecución del gatekeper. Si usted tiene una maquina SMP, usted puede establecer este número al número de CPUs que tenga.
RtpHandlerNumber=2
1
El número de hilos manejadores de RTP proxy.
AcceptNeighborsCalls=1
1
Con esta característica habilitada, el hilo de señalización de llamada aceptará llamadas sin un CallRec preexistente dentro del CallTable, de tal manera que un endpoint correspondiente a una dirección de destino (destinationAddress) en un mensaje Setup pueda ser encontrado en la tabla de registro (RegistrationTable), y el emisor de la llamada es su vecino o su GK padre. El gatekeeper además utiliza su propia dirección de señalización de llamada (call signalling address) dentro de LCF en respuesta a un LRQ. Eso significa, la señalización de llamada será ruteada hacia el GK2 en llamadas GK-GK. Como resultado, los CDRs en el GK2 pueden mostrar correctamente el tiempo de conexión en lugar de 'unconnected'.
AcceptUnregisteredCalls=1
0
Con esta característica habilitada, el gatekeeper aceptará llamadas desde cualquier endpoint no registrado. Sin embargo, esto permite riesgos en la seguridad. Tenga cuidado con esto.
RemoveH245AddressOnTunneling=1
0
Algunos endpoints envían h245Address dentro del UUIE del Q.931 aún cuando h245Tunneling está establecida en TRUE. Esto podría causar problemas de interoperabilidad. Si la opción es TRUE, el gatekeeper removerá las h245Address cuando el indicador h245Tunneling esté en TRUE. Esto forzará a que el que está llamando permanezca en modo tunnelling.
RemoveCallOnDRQ=0
1
Con esta opción establecida en off, el gatekeeper no desconectará una llamada si éste recive un DRQ para la llamada. Esto evita que un DRQ alcance un Release Complete. Esto tiene significado solamente en modod de ruteo (routed mode) puesto que en modo directo (direct mode), el mecanismo de señal end-of-call es un DRQ.
DropCallsByReleaseComplete=1
0
De acuerdo con la recomendación H.323, el gatekeeper podrá colgar una llamada enviando un mensaje RAS DisengageRequest hacia los endpoints. Sin embargo, algunos endpoints mal implementados ignoran este comando. Con esta opción establecida en on, el gatekeeper enviará mensajes Q.931 Release Complete en lugar de mensajes RAS DRQ hacia ambos endpoints para forzar a que ellos terminen la llamada.
SendReleaseCompleteOnDRQ=1
0
Cuando se cuelga la llamada, el endpoint envía tanto un Release Complete dentro de H.225/Q.931 y
un DRQ dentro de los mensajes RAS. Podría ocurrir que el DRQ sea procesado primero, ocasionando que
el gatekeeper cierre el canal de señalización de llamadas, previniendo así que el
Release Complete sea enviado hacia el otro endpoint.
Aunque el gatekeeper cierre el canal TCP hacia el destino,
algunos endpoints (por ejemplo Cisco CallManager) no terminan la llamada aún si
el canal de señalización de llamada está cerrado.
Esto ocasiona que teléfonos se mantengan sonando si el que llama cuelga
antes de que el receptor conteste.
Establecer este parámetro en 1
produce que el gatekeeper siempre envíe
un Release Complete hacia ambos endpoints antes de que cierren la llamada cuando
éste recibe un DRQ desde una de la partes.
SupportNATedEndpoints=1
0
Define si se permite a un endpoint detrás de una caja NAT registrarse con el gatekeeper. Si ésto se permite, el gatekeeper traducirá las direcciones IP dentro del canal Q.931 and H.245 hacia la IP de la caja NAT.
Desde la versión 2.0.2, El GnuGk soporta salida de llamadas (NAT outbound calls) (desde un endpoint detrás de la NAT hacia redes públicas) directamente sin ninguna modificación necesaria de endpoints o de caja NAT. Solamente registre el endpoint con el GnuGk y usted puede hacer sus llamadas ahora.
ScreenDisplayIE=MyID
N/A
Modifica el DisplayIE del Q.931 hacia un valor específico.
ScreenCallingPartyNumberIE=0965123456
N/A
Modifica el CallingPartyNumberIE del Q.931 hacia un valor específico.
ScreenSourceAddress=MyID
N/A
Modifica el campo sourceAddress del elemento UUIE del mensaje Q.931 Setup.
ForwardOnFacility=1
0
Si se habilita, en recibir Q.931 Facility con razón callForwarded, el gatekeeper adelantará el call Setup directamente hacia el endpoint remitido, en lugar de pasar el mensaje de regreso al que realiza la llamada (caller). Si usted tiene endpoints con defectos de implementación que no pueden manejar Q.931 Facility con razón callForwarded, active esta opción. Tenga en cuenta que esta característica no siempre podría trabajar correctamente, puesto que ésta no proporciona ningun recurso de renegociación de capacidades y media channel reopening.
ShowForwarderNumber=0
0
Defina esta opción si desea reescribir el número del calling party al número del forwarder.
Esta característica es utilizada para propósitos de billing.
Solamente es válida si ForwardOnFacility=1
.
Q931PortRange=20000-20999
N/A (permitir que el SO asigne los puertos)
Especifique el rango de puertos TCP para los canales de señalización Q.931. Tenga en cuenta que el tamaño del rango podría limitar al número de llamadas concurrentes.
H245PortRange=30000-30999
N/A (permitir que el SO asigne los puertos)
Especifique el rango de puertos TCP para los canales de control H.245. Tenga en cuenta que el tamaño del rango podría limitar el número de llamadas concurrentes.
ConnectTimeout=60000
180000
Tiempo de descanso en milisegundos para esperar antes de remover llamadas no conectadas (unconnected calls) de la tabla de llamadas (call table). Este es un cronometro de resguardo que no permite que las llamadas no conectadas (unconnected calls) se mantengan por siempre en la tabla de llamadas (call table). Tenga en cuenta que establecer este valor demasiado corto podría causar que las llamadas sean removidas antes de ser contestadas.
TcpKeepAlive=0
1
Habilite/Deshabilite la característica keepalive en sockets de señalización (TCP signaling sockets). Esto puede ayudar a detectar canales de señalización inactivos y prevenir llamadas inactivas (dead calls) imposibles de colgar en la tabla de llamadas (call table). Para que esta opción funcione, usted necesita además modificar las configuraciones del sistema para ajustar el "keep alive timeout". Para más detalle vea docs/keepalive.txt.
Esta sección define las características del proxy H.323. Esto quiere decir que el gatekeeper ruteará todo el tráfico entre el endpoint emisor y receptor (calling and called endpoints), de esta manera ho existe tráfico directamente entre dos endpoints. Por eso esto es muy utilizado si usted tiene algunos endpoints utilizando IP privadas detrás de una caja NAT y algunos endpoints utilizando IP publicas fuera de la caja.
El gatekeeper puede hacer proxy para canales lógicos de RTP/RTCP (audio y video) y T.120 (datos). Canales abiertos por procedimientos de conexión rápida (fast-connect) o H.245 tunnelling también son soportados.
Tenga en cuenta que para hacer que el proxy funcione, el gatekeeper debe tener conexión directa hacia ambas redes: la de emisor (caller) y la del receptor (callee).
Enable=1
0
Define si se habilita o no la función proxy. Usted debe de habilitar el ruteo en modo gatekeeper primero (ver la sección previa). Usted no tiene que especificar el ruteo H.245. Este será automáticamente utilizado si se requiere.
InternalNetwork=10.0.1.0/24
N/A
Define las redes detrás del proxy. Se permite el uso de múltiples redes internas. El proxy rutea canales solamente de las comunicaciones entre un endpoint en la red interna y una externa. Si usted no especifica esto, todas las llamadas serán llevadas a través del proxy.
InternalNetwork=network address/netmask[,network address/netmask,...]
La netmask puede ser expresada en notación decimal punteada o en notación CIDR (prefix length), como se muestra en el ejemplo.
InternalNetwork=10.0.0.0/255.0.0.0,192.168.0.0/24
T120PortRange=40000-40999
N/A (permitir que el SO asigne los puertos)
Especifica el rango de números de puertos TCP para el canal de datos T.120. Tenga en cuenta que el tamaño del rango podría limitar el número de llamadas concurrentes.
RTPPortRange=50000-59999
1024-65535
Especifica el rango de números de puertos para los canales RTP/RTCP. Tenga en cuenta que el tamaño del rango podría limitar el número de llamadas concurrentes.
ProxyForNAT=1
1
Si se activa, el gatekeeper pasará por el proxy aquellas llamadas en las cuales uno de los endpoints participantes esta detrás de una caja NAT (NAT box). Esto asegura que el stream RTP/RTCP pueda penetrar dentro de la NAT box sin modifica este. Sin embargo, el endpoint que se encuentra detrás de la NAT box debe utilizar el mismo puerto para enviar y recibir el stream RTP/RTCP. Si usted tiene trabaja con endpoint con fallas o que no satisfacen la precondición, usted debe mejor deshabilitar esta característica y permitir que la NAT box remita el stream RTP/RTCP por usted.
ProxyForSameNAT=0
0
DEDefine si se habilita el proxy para llamadas entre endpoints desde la misma NAT box. Uste no necesita habilitar generalmente esta característica , ya que normalmente los endpoints de la misma NAT box pueden comunicarse entre si.