Página siguiente Página anterior Índice general

8. Configuración de Accounting

Accounting se denomina a las operaciones que los usuarios realizarán en el sistema del gatekeeper: inicio de una llamada, parada y retroalimentación de la misma; e incluso el inicio y parada del propio gatekeeper.

Las siguientes secciones en el fichero de configuración pueden ser usadas para configurar el accounting.

8.1 Sección [Gatekeeper::Acct]

La seción define una lista de módulos que serán los que realicen el accounting. Las cuentas son para anotar eventos de encendido/apagado del gatekeeper y eventos de inicio/parada/actualización de llamada. Cada módulo de accounting anota eventos recibidos a un módulo de almacenaje específico. Dicho almacenamiento puede ser en texto plano o un servidor RADIUS y muchos más. La configuración es muy similar a la de autenticación de gatekeeper (ver [Gatekeeper::Auth]).

Todos los CDRs serán también enviados al puerto de estado y pueden ser usados por aplicaciones externas.

Sintaxis:

acctmod=acciones

 <acctmod>  := FileAcct | RadAcct | SQLAcct | ...
 <acciones> := <control>[;<evento>,<evento>,...]
 <control>  := optional | required | sufficient | alternative
 <evento>   := start | stop | connect | update | on | off
La lista de eventos le dice al gatekeeper cual de los eventos debe realizar las anotaciones con el módulo de accounting dado (si un tipo de evento está soportado por el módulo): Un evento anotado por un módulo puede obtener uno de estos tres códigos de resultado: ok, fail, next. Los módulos de accounting pueden ser apilados para anotar eventos de multiples módulos o para crear configuraciones a prueba de fallos. control bandera para cada módulo, junto con los códigos de resultado, define lo que es el estado final del proceso del vento por el módulo apilado completo. Si el resultado final es failure, algunas acciones especiales se harían en su lugar. Actualmente, si en un evento de llamada iniciada (start) la anotación falla, la llamada es desconectada inmediatamente. Los siguientes estados (banderas) de control están reconocidos:

Los módulos de acconting actualmente soportados:

Ejemplo de configuración 1 (intenta anotar el inicio/fin de una llamada con un servidor RADIUS, y siempre escribe un CDR a un fichero de texto):

Ejemplo:

RadAcct=optional;start,stop
FileAcct=required

Ejemplo de configuración 2 (intenta anotar el inicio/fin de una llamada con un servidor RADIUS, si este falla usa un fichero de anotaciones CDR):

Ejemplo:

RadAcct=alternative;start,stop
FileAcct=sufficient;stop
default=accept

La regla default es requerida aquí para prevenir que la llamada sea rechazada por si la anotación del evento de inicio de RadAcct falla. Si RadAcct retorna el código fail, se pasa al módulo FileAcct. El módulo FileAcct no soporta el evento start, así que retorna el código next. Si no estuviese la regla default, el estado final sería failure, porque ningún módulo ha sido capaz de anotar el evento.

Ejemplo de configuración 3 (siempre anota los eventos de inicio y fin de llamada con un servidor RADIUS, si este falla para el evento de fin de llamada, usa un fichero CDR para almacenar la información de la llamada):

Ejemplo:

RadAcct=alternative;start,stop
FileAcct=sufficient;stop
default=fail;start

La regla default es opcional aquí. Si RadAcct retorna el código fail para el evento start, el código es pasado al módulo FileAcct. El módulo FileAcct no soporta el evento start, así que retorna el código next. La regla default se asegura de que la llamada está desconectada si el evento de inicio de llamada puede no haber sido anotado con RadAcct. Sino deseamos almacenar un CDR en un fichero de texto en caso de que el servidor RADIUS esté caído cuando la llamada se desconecte, así podemos ir a por la duración de la llamada dentro del sistema de facturación más tarde.

8.2 Sección [FileAcct]

Este módulo de accounting escribe líneas CDR a un fichero de texto específicado. El formato CDR puede ser uno estándar (el mismo que se puede ver por la interfaz de estado) o uno personalizado (usando la cadena de consulta parametrizada).

8.3 Sección [RadAcct]

Este módulo de accounting envía datos de accounting a un servidor RADIUS. La configuración del módulo es casi lo mismo que para los autenticadores RADIUS (ver [RadAuth] y [RadAliasAuth] para más detalles sobre los parámetros).

8.4 Sección [SQLAcct]

Este módulo de accounting almacena información de accounting directamente a una base de datos SQL. Muchas opciones de configuración son comunes con otros módulos SQL.


Página siguiente Página anterior Índice general