[Gatekeeper::Main]
Fortytwo=42

[RoutedMode]
GKRouted=1

[GkStatus::Auth]
rule=explicit
127.0.0.1=allow
default=forbid

;; Accounting mechanism
;;
;; Syntax:
;;   acctmod=actions
;;   ...
;;
;;   <acctmod> := RadAcct | FileAcct | SQLAcct | ...
;;   <actions> := <control>[;<event>,<event>,...]
;;   <control> := optional | required | sufficient | alternative
;;   <event>   := start | stop | connect | update | on | off
;;
;; One special module is the "default" module - it can be used
;; to determine a final accounting status:
;;
;;   default=<status>[;<event>,<event>]
;;
;;   <status>  := accept | reject
;;   <event>   := start | stop | connect | update | on | off
;;
;; Currently supported modules:
;;
;;   RadAcct
;;
;;       Provides accounting through RADIUS protocol.
;;
;;   FileAcct
;;
;;       Provides accounting to a plain text file using GK status line CDR format.
;;
;;   SQLAcct
;;
;;       Provides accounting directly to an SQL database.
;;
;;   default
;;
;;       Determines the final status, if not already set by another module
;;       (it can be helpful with optional or alternative actions).
;;
;; Processing of an accounting event by an accounting module may results 
;; in one of the three codes: ok, fail, next.
;;
;;   ok         the accounting event has been succesfully processed (logged) by this module
;;   fail       the accounting event has not been logged by this module (due to failure)
;;   next       the accounting event has not been logged by this module, 
;;              either because the module does not support this event type 
;;              or the event type has not been configured to be processed
;;
;; There are also three ways to control how an accounting event is passed down
;; through a stack of modules:
;;
;;   optional      the module tries to log the accounting event. Success or
;;                 failure does not determine the final status for all modules
;;                 (except when the rule is the last one). The event is then
;;                 passed down to remaining modules.
;;   required      if the module fails to log the event, the final status is set
;;                 to failure. If the event is logged successfully, the final status
;;                 is determined by any remaining modules (except when the rule is the last one).
;;   sufficient    if the module logs the event successfully, remaining modules
;;                 are not processed and the final status is success. Otherwise
;;                 the final status is failure and the event is passed down 
;;                 to any remaining modules.
;;   alternative   if the module logs the event successfully, remaining modules
;;                 are not processed and the final status is success. Otherwise
;;                 the final status is determined by any remaining modules.
;;
;; You can configure a module to log only some particular accounting events. 
;; For example, to configure RadAcct as a required module to log call "start" 
;; and "stop" events only, write:
;; RadAcct=required;start,stop
;;
;; Recognized accounting event types:
;;
;;   start     call start
;;   stop      call stop (disconnect)
;;   connect   call connected
;;   update    call update
;;   on        GK start
;;   off       GK stop  
;;
[Gatekeeper::Acct]
StatusAcct=required;start,stop,update,connect

[StatusAcct]
;StartEvent=CALL|Start|%{caller-ip}:%{caller-port}|%{callee-ip}:%{callee-port}|%{CallId}
;StopEvent=CALL|Stop|%{caller-ip}:%{caller-port}|%{callee-ip}:%{callee-port}|%{CallId}
;UpdateEvent=CALL|Update|%{caller-ip}:%{caller-port}|%{callee-ip}:%{callee-port}|%{CallId}
;ConnectEvent=CALL|Connect|%{caller-ip}:%{caller-port}|%{callee-ip}:%{callee-port}|%{CallId}
;TimestampFormat=MySQL

