[Gatekeeper::Main] Fortytwo=42 [RoutedMode] GKRouted=1 CallSignalPort=1720 [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