; ; THIS CONFIGURATION FILE IS NOT MEANT TO BE USED IN PRODUCTION. ; IT IS A COLLECTION OF _ALL_ AVAILABLE SWICTHES AND MUCH TOO COMPLICATED. ; ; comments may start with # (only unix) or ; (unix or windows) ;; Boolean values. ;; Boolean Values are retresented by a case insensitive string ;; - "t"..., "y"... or "1" for TRUE ;; - all other for FALSE ;; NOTE: This parameters may be loaded at program startup and not influenced by the HUP signal. [Gatekeeper::Main] ;; 'config is present' indicator. Has to be 42. Fortytwo=42 ; Includes in some RAS-Msgs Name=GnuGk ; overwritten from command line parameter ;Home=195.71.129.69 ;NetworkInterfaces= ;TimeToLive=600 ;CompareAliasType=0 ;CompareAliasCase=0 ;TotalBandwidth=100000 ;StatusPort=7000 ;StatusTraceLevel=2 ;UseBroadcastListener=0 ;; ;; Failover support ;; ;AlternateGKs=1.2.3.4:1719:false:120:GnuGk2 ;SendTo=1.2.3.4:1719 ;EndpointIDSuffix=_gk1 ;SkipForwards=4.3.2.1 ;RedirectGK=Calls > 50 ;; ;; You should never need to change any of the following values. ;; They are mainly used for testing or very sophisticated applications. ;; ;UnicastRasPort=1719 ;UseMulticastListener=1 ;MulticastPort=1718 ;MulticastGroup=224.0.1.41 ;EndpointSignalPort=1720 ;ListenQueueLength=1024 ;TimestampFormat=RFC822 ;[LogFile] ; hourly - once per hour ; daily - once per day, ; weekly - once per week, ; monthly - once per month ;Rotate=weekly ; For weekly rotation: ; Mon, Tue, Wed, Thu, Fri, Sat, Sun ; Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday ; 1, 2, 3, 4, 5, 6, 0 ;RotateDay=Sun ; For monthly rotation (31th of each month, or the last day of the month ; if it has less than 31 days) ; RotateDay=31 ; For daily, weekly and monthly rotation (rotation will be performed at 4:00) ;RotateTime=4:00 ; For hourly rotation (rotation will be performed at 0:59, 1:59, ...) ;RotateTime=59 [RoutedMode] GKRouted=1 H245Routed=0 RemoveH245AddressOnTunneling=0 AcceptNeighborsCalls=1 AcceptUnregisteredCalls=0 SupportNATedEndpoints=1 DropCallsByReleaseComplete=1 CallSignalPort=1720 ;CallSignalHandlerNumber=5 ;RtpHandlerNumber=1 ;RemoveCallOnDRQ=1 ;SendReleaseCompleteOnDRQ=0 ;ScreenDisplayIE= ;ScreenCallingPartyNumberIE= ;ScreenSourceAddress= ;ForwardOnFacility=1 ;ShowForwarderNumber=1 ;Q931PortRange=20000-20999 ;H245PortRange=30000-30999 ;SetupTimeout=8000 ;SignalTimeout=15000 ;AlertingTimeout=60000 ;TcpKeepAlive=1 ;TranslateFacility=1 ;SocketCleanupTimeout=5000 ;ActivateFailover=1 ;FailoverCauses=1-15,21-127 ;CpsLimit=10 ;CpsCheckInterval=5 ;; Gatekeeper generated CallProceeding (experimental) ;GenerateCallProceeding=1 ;UseProvisionalRespToH245Tunneling=1 ;EnableH46018=1 [Proxy] ;Enable=1 ;InternalNetwork=10.0.1.0/255.255.255.0,127.0.0.0/8 ;T120PortRange=40000-40999 ;RTPPortRange=50000-59999 ;ProxyForNAT=1 ;ProxyForSameNAT=0 ;EnableRTPMute=1 ;[Endpoint] ;Gatekeeper=no ;Gatekeeper=auto ;Gatekeeper=210.58.112.188 ;Type=Gateway ;H323ID=CitronProxy ;E164=18888600000 ;Password= ;Prefix=18888600,1888890003 ;TimeToLive=900 ;RRQRetryInterval=10 ;UnregisterOnReload=0 ;NATRetryInterval=60 ;NATKeepaliveInterval=86400 ;Discovery=1 ;GatekeeperIdentifier=ParentGKId ;UseAlternateGK=1 ;EndpointIdentifier=ChildGKId ;Vendor=Cisco ;[Endpoint::RewriteE164] ;188889000=9 ;; ;; Prefixes of e164 numbers for gateways. ;; A dot (.) matches any digit, ! at the beginning disables the prefix ;; Separate list elements by one of " ,;\t". ;; @see RasTbl::addPrefixes ;; This parameters should consider a HUP signal. [RasSrv::GWPrefixes] ;; Test-Gateways ; 195.71.226.162 ;rossi-gt2=80,90 ;rossi-gt2=0 ; 195.71.226.165 ;rossi-gt3=80,90 ;rossi-gt3=05241,0521,5241,521 ; 195.71.129.254 ;ip400-v1=12 ;ip400-wi1=0 [RasSrv::RRQFeatures] ;OverwriteEPOnSameAddress=1 ;AcceptEndpointIdentifier=1 ;AcceptGatewayPrefixes=1 ;IRQPollCount=0 ;AliasTypeFilter=terminal;dialeddigits [RasSrv::ARQFeatures] ArjReasonRouteCallToGatekeeper=1 RemoveTrailingChar=# RoundRobinGateways=1 ;; Routing polices define how the message destination is located ;; and where the call is routed. Currently the following policies ;; are implemented: ;; ;; explicit (only ARQ,Setup,Facility) ;; ;; If destCallSignalAddress is specified by the message, ;; the call is routed to this address - aliases, prefixes, ;; parent, neighbors are not further checked. ;; ;; internal ;; ;; A local GK registration table is checked for matching alias. ;; ;; parent ;; ;; A parent gatekeeper (if this GK is registered as a child GK) ;; is queried with ARQ or LRQ. ;; ;; dns ;; ;; Routing request aliases are scanned for presence of 'name@domain' ;; alias types - if such an alias is found, domain part is removed ;; and the call is routed to the endpoint 'name' at domain:1720. ;; ;; vqueue (only ARQ) ;; ;; Destination alises are checked for match with a virtual queue name ;; (configure via CTI::Agents). If there is a match, RoutingRequest ;; is signalled and the call is routed to the destination specified ;; by some external application (like ACD). ;; ;; neighbor ;; ;; The gatekeeper neighbors are queries with LRQ for the destination ;; of this routing request. ;; ;; numberanalysis ;; ;; Check length of dialed numbers. ;; ;; enum ;; ;; Tries to find a call destination using ENUM service. [RoutingPolicy] default=explicit,internal,parent,neighbor ;[RoutingPolicy::OnARQ] ;h323_ID=vqueue,internal ;default=explicit,internal ;[RoutingPolicy::OnLRQ] ;0048=internal ;default=neighbor ;[RoutingPolicy::OnSetup] ;dialedDigits=internal,neighbor ;default=explicit,internal,parent,neighbor ;[RoutingPolicy::OnFacility] ;default=internal [RasSrv::RRQAuth] ;; On a RRQ the h323-alias is queried from this section. ;; If there is an entry the endpoint is authenticated against the given rules. ;; If there is no entry the default action is performed. The default action ;; is to confirm the RRQ, unless the parameter "default=reject" is given. ;; ;; Notation: ;; <authrules> := empty | <authrule> "&" <authrules> ;; <authrule> := <authtype> ":" <authparams> ;; <authtype> := "sigaddr" | "sigip" ;; <autparams> := [!&]* ;; The notation and meaning of <authparams> depends on <authtype>: ;; - sigaddr: extended regular expression that has to match agains the ;; "PrintOn(ostream)" representation of the signal address of the request. ;; Example: "sigaddr:.*ipAddress .* ip = .* c3 47 e2 a5 .*port = 1720.*" ;; - sigip: specialized form of "sigaddr". Write the signalling ip adresse ;; using (commonly used) decimal notation: "byteA.byteB.byteC.byteD:port" ;; Example of the above sigaddr: "sigip:195.71.226.165:1720" ;; ;; This parameters should consider a HUP signal. ;rossi-gt1=sigaddr:.*ipAddress .* ip = .* c3 47 e2 a2 .*port = 1720.* ;rossi-gt2=sigaddr:.*ipAddress .* ip = .* c3 47 e2 a5 .*port = 1720.* ;rossi-gt3=sigip:195.71.226.165:1720 default=confirm ;; The parameter "rule" may be one of the following: ;; - "forbid" disallow any connection (default when no rule us given) ;; - "allow" allow any connection ;; - "explicit" reads the parameter ;"<ip>=<value>"; with ip is the ip4-address ;; if the peering client. ;<value>; is resolved with ;Toolkit::AsBool;. If the ip ;; is not listed the param "default" is used. ;; - "regex" the ;<ip>; of the client is matched against the given regular expression. ;; First the ip-rules (like "explicit") are tested. Olny of no such param exists ;; the regex is tried. ;; Example: "regex=^195\.71\.(129|131)\.[0-9]+$" ;; - "password" queries remote user for login/password combination and checks ;; it against username/password stored in this section. Passwords are encrypted ;; with addpasswd utility using KeyFilled encryption key. DelayReject defines ;; delay before reject is sent. [GkStatus::Auth] rule=allow ;rule=deny ;rule=explicit ;rule=regex ; - 195.71.129.* ; - 195.71.100.* ; - 62.52.26.[1-2][0-9][0-9] ;regex=^(195\.71\.(129|100)\.[0-9]+)|(62\.52\.26\.[1-2][0-9][0-9])$ ; only used when "rule=explicit" ;default=forbid ;Shutdown=0 ;KeyFilled=123 ;DelayReject=5 ;LoginTimeout=120 ;; ;; Beside other things every number to rewrite has its ;; own key/value-line. The implemententation is such that ;; all numbers that shell be rewritten have to begin ;; with a common prefix given by 'Fastmatch'. ;; ;; Doc From the code: ;; // Do rewrite to ;newE164;. Append the suffix too. ;; // old: 01901234999 ;; // 999 Suffix ;; // 0190 Fastmatch ;; // 01901234 prefix, Config-Rule: 01901234=0521321 ;; // new: 0521321999 ;; ;; The rewrite-numbers function take care of reloads/a HUP signal. [RasSrv::RewriteE164] ;; Only if an e164 number begins with ;Fastmatch; the ;; the further rewriting is done. Only one #Fastmatch# can be given. ;Fastmatch= ;0190703100=052418088663 ;01903142=0521178260 ;5241908601903142=521178260 ;7777.=. ;%%%%48=48 ;; Neighbor gatekeepers are listed in this section. The list has the following ;; format: ;; GkId=GkProfile ;; where GkProfile can be one of: ;; GkProfile := "GnuGk" | "CiscoGk" | "ClarentGk" | "GlonetGk" ;; | <OldGk - old gnu gk format> ;; ;; Configuration settings for each neighbor are then stored in [Neighbor::GkId] ;; sections. One exception to this rule is OldGK neighbor type - the configuration ;; settings are then read directly from this section ;[RasSrv::Neighbors] ;GK1=203.60.151.9:1719;02,003;gk1pass;false ;GK2=GnuGk ;GK3=CiscoGk ;GK4=203.60.151.10:1719;* ;; For compatibility with old GK 2.0 config type - neighbors of all other types ;; read their settings directly from their [Neighbor::GkId] sections [RasSrv::LRQFeatures] ; how long to wait for LCF from neighbors (seconds) ;NeighborTimeout=2 ; hop count to be set for LRQs generated by the gk and sent to this neighbor ; this also applies to LRQs being forwarded and which did not contain hop count ;ForwardHopCount=2 ; whether to wait for LCF when forwarding LRQ or to just forward and forget ;ForwardResponse=0 ; forwarding policy for this neighbor: ; never - do not forward LRQs received from this neighbor ; always - forward all LRQs with hop count > 1 or without hop count (the hop count ; is then set to ForwardHopCount for each neighbor) ; depends - forward only LRQs containing hop count > 1 ;ForwardLRQ=never ;ForwardLRQ=always ;ForwardLRQ=depends ; whether forwarded LRQs from this neighbor should be accepted ;AcceptForwardedLRQ=1 ; this setting applies only to OldGK neighbor types and is a global one ; if set to 1 has the same effect as ForwardLRQ=always would have ;AlwaysForwardLRQ=0 ; allow LRQs from gatekeepers not listed as neighbors ;AcceptNonNeighborLRQ=0 ; allow responding LCFs to be received from anywhere after sending LRQ ;AcceptNonNeighborLCF=0 ;; Sample configuration for GK1 neighbor. It can be of ;[Neighbor::GK1] ;GatekeeperIdentifier=GK1 ;Host=203.60.151.5:1719 ;Password=secret_not_encrypted ;Dynamic=0 ;SendPrefixes=url_ID,email_ID ;SendPrefixes=02:=1,003:=2,0048 ;SendPrefixes=* ;AcceptPrefixes=* ;AcceptPrefixes=0059,001 ;AcceptPrefixes=h323_ID,dialedDigits ;ForwardHopCount=2 ;AcceptForwardedLRQ=1 ;ForwardResponse=0 ;ForwardLRQ=always ;ForwardLRQ=never ;ForwardLRQ=0 ;UseH46018=1 ;; ;; In this section you can put endpoints that don't have RAS support ;; or that you don't want to be expired. The records will always ;; in GK's registration table. ;; However, You can still unregister it via status thread. ;; ; ; ip[:port]=alias,alias,...[;prefix,prefix,...] ; [RasSrv::PermanentEndpoints] ; For gateway ;10.0.1.5=Citron;009,008 ; For terminal ;10.0.1.10=798 ;; ;; Authentication mechanism ;; ;; Syntax: ;; authrule=actions ;; ;; <authrule> := SimplePasswordAuth | AliasAuth | SQLAliasAuth ;; | SQLPasswordAuth | RadAuth | RadAliasAuth |... ;; <actions> := <control>[;<ras>|<q931>,<ras>|<q931>,...] ;; <control> := optional | required | sufficient ;; <ras> := GRQ | RRQ | URQ | ARQ | BRQ | DRQ | LRQ | IRQ ;; <q931> := Setup | SetupUnreg ;; ;; Currently supported modules: ;; ;; SimplePasswordAuth/SQLPasswordAuth ;; ;; The module checks the tokens or cryptoTokens ;; fields of RAS message. The tokens should contain ;; at least generalID and password. For cryptoTokens, ;; cryptoEPPwdHash tokens hashed by simple MD5 and ;; nestedcryptoToken tokens hashed by HMAC-SHA1-96 ;; (libssl must be installed!) are supported now. ;; The ID and password are read from [SimplePasswordAuth] section ;; for SimplePasswordAuth or from an SQL database ;; for SQLPasswordAuth. ;; ;; AliasAuth/SQLAliasAuth ;; ;; The IP of an endpoint with given alias should ;; match a specified pattern. For AliasAuth the pattern ;; is defined in [RasSrv::RRQAuth] section. For SQLAliasAuth ;; the authentication condition strings are read ;; from an SQL database. ;; ;; PrefixAuth ;; ;; RRQ or ARQ requests can be checked for a specific ;; aliases combination, IP address or destination prefix. ;; ;; RadAuth/RadAliasAuth ;; ;; The H.235 username/password from RRQ/ARQ message ;; or endpoint alias/IP from RRQ/ARQ/Setup message ;; is used to authenticate an endpoint/a call using ;; RADIUS server. ;; ;; A rule may results in one of the three codes: ok, fail, pass. ;; ;; ok The request is authenticated by this module ;; fail The authentication fails and should be rejected ;; next The rule cannot determine the request ;; ;; There are also three ways to control a rule: ;; ;; optional If the rule cannot determine the request, it is passed ;; to next rule. ;; required The requests should be authenticated by this module, ;; or it would be rejected. The authenticated request would ;; then be passwd to next rule. ;; sufficient If the request is authenticated, it is accepted, ;; or it would be rejected. That is, the rule determines ;; the fate of the request. No rule should be put after ;; a sufficient rule, since it won't take effect. ;; ;; You can also configure a rule to check only for some particular RAS ;; messages. For example, to configure SimplePasswordAuth as a required ;; rule to check RRQ, ARQ and LRQ: ;; SimplePasswordAuth=required;RRQ,ARQ,LRQ ; [Gatekeeper::Auth] ;SimplePasswordAuth=optional ;AliasAuth=sufficient;RRQ ;RadAuth=required;RRQ,ARQ ;RadAliasAuth=required;SetupUnreg ;default=reject default=allow ;; ;; Use 'make addpasswd' to generate the utility addpasswd ;; Usage: ;; addpasswd config userid password ;; ;[SimplePasswordAuth] ;KeyFilled=123 ;CheckID=FALSE ;PasswordTimeout=0 ;(id=cwhuang, password=123456) ;cwhuang=UGwUtpy837k= ;[SQLPasswordAuth] ;Driver=MySQL ;Host=localhost:1234 ;Database=billing ;Username=gnugk ;Password=secret ;Table=customer ;Query=SELECT password FROM users WHEN alias = '%1' ;CacheTimeout=30 ;MinPoolSize=5 ;[SQLAliasAuth] ;Driver=PostgreSQL ;Host=localhost:1234 ;Database=billing ;Username=gnugk ;Password=secret ;Table=customer ;Query=SELECT authcondition FROM users WHEN alias = '%1' ;CacheTimeout=30 ;MinPoolSize=1 ; Configuration section for RadAuth authenticator module ;[RadAuth] ;Servers=192.168.1.2:1645;123.123.123.2;radius1.mycompany.com ;LocalInterface=192.168.1.1 ;RadiusPortRange=10000-11000 ;DefaultAuthPort=1645 ;SharedSecret=0wnd239eqhq!*kajw821osa ;RequestTimeout=2000 ;IdCacheTimeout=9000 ;SocketDeleteTimeout=60000 ;RequestRetransmissions=2 ;RoundRobinServers=1 ;AppendCiscoAttributes=1 ;IncludeTerminalAliases=1 ;UseDialedNumber=1 ; Configuration section for RadAuth authenticator module ;[RadAliasAuth] ;Servers=192.168.1.2:1645;123.123.123.2;radius1.mycompany.com ;LocalInterface=192.168.1.1 ;RadiusPortRange=10000-11000 ;DefaultAuthPort=1645 ;SharedSecret=0wnd239eqhq!*kajw821osa ;RequestTimeout=2000 ;IdCacheTimeout=9000 ;SocketDeleteTimeout=60000 ;RequestRetransmissions=2 ;RoundRobinServers=1 ;AppendCiscoAttributes=1 ;IncludeTerminalAliases=1 ;FixedUsername= ;FixedPassword=fixed_user_pwd ;UseDialedNumber=1 ;[PrefixAuth] ;0048=deny !ipv4:192.168.1.0/255.255.255.0 ;0033=allow alias:^777.* ;0049=deny ipv4:192.168.1.1 | allow ipv4:192.168.1.0/255.255.255 ;ALL=allow ipv4:ALL ;default=deny [CallTable] ;GenerateNBCDR=TRUE ;GenerateUCCDR=TRUE ;DefaultCallDurationLimit=21600 ;AcctUpdateInterval=0 ;TimestampFormat=RFC822 ;IRRFrequency=120 ;IRRCheck=FALSE ;SingleFailoverCDR=0 [H225toQ931] ;0=34 # noBandwidth ;1=47 # gatekeeperResources ;2=3 # unreachableDestination ;3=16 # destinationRejection ;4=88 # invalidRevision ;5=111 # noPermission ;6=38 # unreachableGatekeeper ;7=42 # gatewayResources ;8=28 # badFormatAddress ;9=41 # adaptiveBusy ;10=17 # inConf ;11=31 # undefinedReason ;12=16 # facilityCallDeflection ;13=31 # securityDenied ;14=20 # calledPartyNotRegistered ;15=31 # callerNotRegistered ;16=47 # newConnectionNeeded ;17=127 # nonStandardReason ;18=31 # replaceWithConferenceInvite ;19=31 # genericDataReason ;20=31 # neededFeatureNotSupported ;21=127 # tunnelledSignallingRejected ;; ;; 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. ;; ;; StatusAcct ;; ;; Logs accounting events on the status port. ;; ;; SyslogAcct ;; ;; Logs accounting events on the Unix syslog. ;; ;; 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] ;RadAcct=optional;start,stop,on,off ;FileAcct=sufficient;stop ; if the GK can't auto detect your NATed EP ; set it here [NATedEndpoints] ;704=11.1.1.111 ;705=allow ; settings for inbound call distribution with virtual queue [CTI::Agents] VirtualQueueAliases=CC ;VirtualQueuePrefixes=001,0044,0049 ;VirtualQueueRegex=^(001|04)[0-9]*$ RequestTimeout=10 ; settings for status port command MakeCall [CTI::MakeCall] EndpointAlias=DialOut UseH450=0 Interface=192.168.6.1:1722 Gatekeeper=192.168.1.1 ;DisableFastStart=1 ;DisableH245Tunneling=1 ; Configuration section for RadAcct accounting module ; Currently supported accounting events: ; start,stop,update,on,off ;[RadAcct] ;Servers=192.168.1.2;radius1.mycompany.com ;LocalInterface=192.168.1.1 ;RadiusPortRange=10000-11000 ;DefaultAcctPort=1646 ;SharedSecret=testing ;RequestTimeout=3500 ;IdCacheTimeout=9000 ;SocketDeleteTimeout=60000 ;RequestRetransmissions=3 ;RoundRobinServers=1 ;AppendCiscoAttributes=1 ;FixedUsername= ;TimestampFormat=Cisco ;UseDialedNumber=1 ;[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 ;[SyslogAcct] ;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 ; Using EP::ALIAS sections you can specify per-endpoint configuration settings ;[EP::GW1] ;Capacity=10 ;GatewayPriority=1 ;GatewayPrefixes=0048,0049,0044 ;PrefixCapacities=^0049:=10,^(0044|0045):=20 ;CalledTypeOfNumber=1 ;CallingTypeOfNumber=1 ;Proxy=1 ;TranslateReceivedQ931Cause=21:=34 ;TranslateSentQ931Cause=21:=34 ;DisableH46018=1