• No se han encontrado resultados

Análisis de las secciones del fichero de configuración del gatekeeper

En este anexo se hace referencia a dos ejemplos de fichero de configuración para el GnuGk. En un primer caso se explica el fichero que inicialmente se tomó para comenzar a trabajar. En el segundo ejemplo se explican las secciones que se agregaron en el trabajo para el logro de otras potencialidades que inicialmente no estaban configuradas.

9 Primer caso.

[Gatekeeper::Main] ; Sección principal del fichero de configuración.

FourtyTwo=42 ; Esta configuración 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=Gatekeeper ; Identificador del gatekeeper (ID). El gatekeeper

responderá solamente a los mensajes GRQs con este ID y utilizará éste en los mensajes enviados a sus endpoints.

EndpointSuffix=_gnugk ; El gatekeeper asignará un único identificador a

cada endpoint registrado. Esta opción puede ser

utilizada para especificar un sufijo que será añadido al identificador del endpoint.

TimeToLive=60 ; Tiempo en segundos que durará el registro del

terminal con el gatekeeper. Al término de este el gatekeeper puede extender el registro si el

StatusTraceLevel=2 ; Especifica el nivel de detalle de mensajes para

nuevas interfaces clientes.

UseBroadcastListener=0 ; Define si se escuchan o no las peticiones broadcast RAS.

StatusPort=7000 ; Indica que el puerto de estado se atiende por el

puerto 7000.

[GkStatus::Auth] ; 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.

rule=explicit ; Restringe el acceso al puerto de estado

mediante el uso de direcciones IP.

127.0.0.1=allow ; Solo permite el acceso al puerto de estado desde

la dirección especificada.

default=forbid ; Si no aparece la dirección IP se utiliza esta

opción por defecto prohibiendo el acceso al puerto de estado.

Shutdown=allow ; Permite apagar el gatekeeper vía puerto de

estado.

[RoutedMode] ; Sección que permite configurar el modo de

enrutamiento para la señalización que empleará el gatekeeper.

GKRouted=1 ; Especifica si se enruta o no el canal de

H245Routed=0 ; Especifica si se enruta o no el canal de control

de llamada H.245 a través del gatekeeper. Solo

se puede activar si GKRouted=1.

CallSignalPort=1721 ; Puerto por defecto que se utilizará para la

señalización de llamada.

AcceptNeighborCalls=1 ; 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 en un mensaje Setup pueda ser encontrado en la tabla

de registro, y el emisor de la llamada es su vecino o su GK padre.

AcceptUnregisteredCalls=0 ; Con esta característica habilitada, el gatekeeper

aceptará llamadas desde cualquier endpoint no

registrado.

RemoveH245AddressOnTunneling=1 ; Si la opción es 1, el gatekeeper removerá las

H.245Address dentro de los mensajes Q.931

cuando el indicador H.245Tunneling esté en 1.4

RemoveCallOnDRQ=0 ; Con esta opción deshabilitada, el gatekeeper no

desconectará una llamada si éste recibe un DRQ (Disengage ReQuest) para la misma. Esto evita

4

Algunos endpoints envían H.245Address dentro de los mensajes Q.931 aún cuando H.245Tunneling está establecida en 1. Esto podría causar problemas de interoperabilidad ya que

que un DRQ alcance un Release Complete. Esto

tiene sentido solamente en gatekeeper en Modo

Enrutado

DropCallsByReleaseComplete=1 ; Con esta opción establecida en 1 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=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. Con esta opción en 1 cuando el gatekeeper recibe un DRQ primero que un Release Complete, envía un mensaje de este

último tipo hacia ambos terminales.

SupportNATedEndpoints=1 ; Permite a un endpoint detrás de una caja NAT

registrarse con el gatekeeper.

TranslateFacility=1 ; Esta opción se habilita si se tienen problemas de

interoperabilidad entre endpoints compatibles

con H.323v4 y endpoints no compatibles con

[Proxy] ; Sección que define las características del

GnuGk como Proxy H.323. El gatekeeper

enrutará todo el tráfico entre el endpoint emisor y

receptor, de esta manera no existe tráfico directamente entre dos endpoints.

Enable=0 ; Habilita o no la función proxy del gatekeeper.

Para ello se tiene que cumplir que GKRouted=1

ProxyForNAT=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.

ProxyForSameNAT=0 ; Define si se habilita el proxy para llamadas

entre endpoints desde la misma caja NAT.

[RasSrv::RRQFeatures] ; Sección que define las características de los

mensajes RRQ.

AcceptEndpointIdentifier=0 ; Los identificadores de los terminales son

asignados por el gatekeeper. Define si aceptar o

no el identificador de terminal especificado en un RRQ completo.

AcceptGatewayPrefixes=1 ; Un gateway puede registrar sus prefijos con el gatekeeper mediante los mensajes RRQ. Esta

opción define si se aceptan los prefijos específicos de un gateway.

mensajes ARQ.

CallUnregisteredEndpoints=1 Con esta opción habilitada, el gatekeeper

aceptará un ARQ de un endpoint registrado,

permitiéndole hacer llamadas de forma directa a una dirección específica, sin importar si la misma le corresponde a un endpoint registrado o no.

[CallTable]

GenerateNBCDR=0 ; Con esta opción habilitada (1), se muestran a

través del puerto de estado los CDRs de las llamadas del vecindario.

9 Segundo caso

Este es el fichero de configuración que está usando en estos momentos el GnuGk. Muchas de las secciones y parámetros que se muestran a continuación ya fueron abordadas en el caso anterior, por tal motivo estas no se comentan en esta ocasión.

[Gatekeeper::Main] Name=Gatekeeper fourtytwo=42 EndpointIDSuffix=_gnugk TimeToLive=300 StatusTraceLevel=2

UseMulticastListener=1 ; Se habilita esta opción si los terminales

usan direcciones Multicast para el

descubrimiento del gatekeeper.

UseBroadcastListener=0 StatusPort=7000 [GkStatus::Auth] explicit=allow 127.0.0.1=allow 10.12.24.241=allow 10.12.24.242=1 default=forbid Shutdown=allow

password=gkadmin ; Clave de acceso necesaria para entrar al

puerto de estado si se utiliza esta regla.

gkadmin=QC7VyAo5jEw= ; Password encriptado [RoutedMode]

GKRouted=1

H245Routed=0

CallSignalPort=1721

RemoveH245AddressOnTunneling=0 RemoveCallOnDRQ=0 DropCallsByReleaseComplete=1 SendReleaseCompleteOnDRQ=1 SupportNATedEndpoints=1 TranslateFacility=1

CallSignalHandlerNumber=2 ; Indica el número de hilos dedicados al

manejo de los canales de señalización/H.245. Se puede incrementar este número en un gatekeeper fuertemente

cargado AcceptNeighborsCalls=1 [Proxy] Enable=0 ProxyForNAT=0 ProxyForSameNAT=0

[RasSrv::RewriteE164] ; Sección para la reescritura de números

E.164

41...=... ; Todos los números que comiencen con

41XXX los transforma en XXX.

43XXX los transforma en XXX.

[RasSrv::RRQFeatures]

AcceptEndpointIdentifier=0

AcceptGatewayPrefixes=1

IRQPollCount=1 ; Da la posibilidad de que el gatekeeper

envíe un mensaje IRQ para conocer el estado del terminal cuando este no ha enviado un RRQ (keep-alive) en el período

de tiempo TTL. [RasSrv::ARQFeatures] CallUnregisteredEndpoints=1 [CallTable] GenerateNBCDR=1 GenerateUCCDR=1

[FileAcct] ; Esta sección se usa para escribir líneas

CDR en un archivo de texto específico.

DetailFile=/C:/Documents and Settings/yunielgl/desktop/gnugk-2.2.3-

win32-x86/bin/CDR.LOG

; Define la ruta para el fichero de texto plano CDR.

StandardCDRFormat=1 ; Utiliza un formato estándar para los CDR. Rotate=daily ; Define el período de rotación de los CDR. RotateTime=24:00 ; Indica la hora de la rotación.

[RasSrv::Neighbors] ; Sección para la configuración de vecinos. Gatekeeper1=10.12.24.244;42,45 ; Dirección IP del vecino y prefijos para los

cuales le tiene que enviar los LRQs.

[Neighbor::Gatekeeper1] ; Sección para la configuración de un

vecino.

GatekeeperIdentifier=Gatekeeper1 ; Identificador del gatekeeper vecino. Host=10.12.24.244 ; Dirección IP.

SendPrefixes=42,45 ; Prefijos que este vecino espera recibir

para los LRQ.

AccepPrefixes=41,43 ; Prefijos que el vecino aceptará de este gatekeeper.

ForwardLRQ=always ; Determina si el LRQ recibido deberá o no

ser reenviado.

[RasSrv::LRQFeatures] ; Esta sección define algunas características

de los eventos LRQ y LCF.

Neighbortimeout=10 ; Tiempo de espera en segundos para

esperar respuestas desde los vecinos.

ForwardHopCount=2 ; Si el gatekeeper determina que un LRQ

debe ser reenviado decrementa este campo y si el campo está en cero no lo reenvía.

AlwaysForwardLRQ=0 ; Fuerza al gatekeeper a reenviar los LRQ

incluso si el campo ForwardHopCount es

AcceptForwardedLRQ=1 ; Define si aceptar o no un LRQ reenviado

desde los vecinos.

ForwardResponse=0 ; Habilite esta condición si el gatekeeper

necesita recibir los LCF a los LRQs reenviados.

ForwardLRQ=depends ; Este campo determina si el LRQ recibido

debería o no ser reenviado.

[RasSrv::GWPrefixes] ;Indica al gatekeeper qué llamadas deben

ser enrutadas hacia un gateway

gw1=932 ;Indica que todas las llamadas que

comiencen con este prefijo, deben ser enviadas al gateway que se ha registrado

Documento similar