/etc/gatekeeper.ini is in gnugk 2:3.4-2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 | ;
; 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 # (only UNIX) or ; (UNIX or windows)
;; Boolean values.
;; Boolean Values are represented by a case insensitive string
;; - "t"..., "y"... or "1" for TRUE
;; - all other for FALSE
[Gatekeeper::Main]
;; 'config is present' indicator. Must be 42.
Fortytwo=42
; 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=1.2.3.41719;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
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
EnableH460P=1
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
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 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
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=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::AssignedGatekeepers]
;; 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::AssignedAliases]
;; 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
|