;
; THIS CONFIGURATION FILE IS NOT MEANT TO BE USED IN PRODUCTION.
; IT IS A COLLECTION OF _ALL_ AVAILABLE SWITCHES AND MUCH TOO COMPLICATED.
;

; comments may start with ; (UNIX or windows) or # (only UNIX)

;; Boolean values.
;; Boolean Values are represented by a case insensitive string
;; - "t"..., "y"... or "1" for TRUE
;; - all other for FALSE

[Gatekeeper::Main]
; Included in some RAS messages
Name=GnuGk
; overwritten from command line parameter
Home=195.71.129.69
NetworkInterfaces=
TimeToLive=600
CompareAliasType=0
CompareAliasCase=0
TotalBandwidth=100000
MinimumBandwidthPerCall=1280
MaximumBandwidthPerCall=100000
StatusPort=7000
StatusTraceLevel=2
UseBroadcastListener=0

; Failover support

AlternateGKs=192.0.2.4:1719;false;120;GnuGk2
SendTo=192.0.2.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
EnableIPv6=1

[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 (31st 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=MyID
ScreenCallingPartyNumberIE=0965123456
ScreenSourceAddress=MyID
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
EnableH46023=1
H46023STUN=
H46023PublicIP=1
NATStdMin=18
AutoProxyIPv4ToIPv6Calls=0

[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
; use DSCP EF for proxied RTP
RTPDiffServ=46

[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". 
[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 aliases are checked for match with a virtual queue name
;;              (configure via CTI::Agents). If there is a match, RoutingRequest
;;              is signaled and the call is routed to the destination specified
;;              by some external application (like ACD).
;;
;;   neighbor
;;
;;              The gatekeeper neighbors are queried 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 against 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 signaling IP address
;;     using (commonly used) decimal notation: "byteA.byteB.byteC.byteD:port"
;;     Example of the above sigaddr: "sigip:195.71.226.165:1720"
;;

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 IPv4-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 implementation 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=GnuGk
GK2=CiscoGk

;; Neighbors read their settings 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

;;
;; 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 the status port.
;;
;
; 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
PasswordTimeout=0
;(id=cwhuang, password=123456)
cwhuang=UGwUtpy837k=

[SQLPasswordAuth]
Driver=MySQL
Host=localhost:1234
Database=billing
Username=gnugk
Password=secret
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=fixed_user
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=fixed_user
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
MaxBandwidth=64000


;; Presence Data storage
[GkPresence::SQL]
Driver=MySQL
Host=localhost
Database=
CacheTimeout=300
QueryList=SELECT subscriptionID,h323id,alias,isSubscriber,status,active,updated FROM subscription_control ORDER BY h323id,alias
QueryAdd=INSERT INTO subscription_control (subscriptionID,h323id,alias,isSubscriber) VALUES('%i','%u','%a','%s');
QueryDelete=DELETE FROM subscription_control WHERE subscriptionID = '%i'
QueryUpdate=UPDATE subscription_control SET Status = '%b' WHERE subscriptionID = '%i'
MinPoolSize=5


[RasSrv::AssignedGatekeeper]

;; Assigned Alias storage
[AssignedGatekeepers::SQL]
Driver=MySQL
Host=localhost
Database=h323net
Username=spranto
Password=7d04b76b1a548bb8043c0733811876ce
CacheTimeout=300
Query=SELECT gatekeeper FROM gatekeepers WHERE username = '%u'
MinPoolSize=5


[RasSrv::AssignedAlias]

;; Assigned Alias storage
;[AssignedAliases::SQL]
Driver=MySQL
Host=localhost
Database=h323net
Username=spranto
Password=7d04b76b1a548bb8043c0733811876ce
CacheTimeout=300
Query=SELECT alias FROM user WHERE username = '%u'
MinPoolSize=5

