Ceci est le manuel Français pour GNU Gatekeeper 2.2.1 (partially updated for 2.3.2).
Une version plus récente (Anglais) du manuel se trouve dans l'archive téléchargée de GnuGk.

Chapitres: Contenu · Introduction · Installation · Pour commencer · Config basique · Routage · Config RAS · Authentification · Accounting · Voisins · Config par terminal · Config avancée · Surveillance

11. Advanced Configuration

11.1 Section [CallTable]

  • GenerateNBCDR=0
    Default: 1

    Generate CDRs for calls from neighbor zones. The IP and endpoint ID of the calling party is printed as empty. This is usually used for debug purpose.

  • GenerateUCCDR=0
    Default: 0

    Generate CDRs for calls that are unconnected. This is usually used for debug purpose. Note a call is considered unconnected only if the gatekeeper uses routed mode and a Q.931 Connect message is not received by the gatekeeper. In direct mode, a call is always considered connected.

  • DefaultCallDurationLimit=3600
    Default: 0

    Default maximum call duration limit (seconds). Set it to 0 to disable this feature and not limit calls duration.

  • AcctUpdateInterval=60
    Default: 0

    A time interval (seconds) for accounting updates to be logged for each call in progress. The exact details of the accounting updates depend on accounting logger modules selected (see section [Gatekeeper::Acct]). In general, the accounting update is to provide backend services with incrementing call duration for connected calls. The default value 0 tells the gatkeeper to not send accounting updates at all. Please note that setting short periods may decrease GK performance.

  • TimestampFormat=Cisco
    Default: RFC822

    Format of timestamp strings printed inside CDRs.

11.2 Section [Endpoint]

The gatekeeper can work as an endpoint by registering with another gatekeeper. With this feature, you can easily build gatekeeper hierarchies. The section defines the endpoint features for the gatekeeper.

  • Gatekeeper=10.0.1.1
    Default: no

    Define a parent gatekeeper for the endpoint(gatekeeper) to register with. Don't try to register with yourself, unless you want to be confusing. To disable this feature, set the field to be no.

  • Type=Gateway
    Default: Gateway

    Define the terminal type for the endpoint. The valid values are Gateway or Terminal.

  • H323ID=CitronProxy
    Default: <Name>

    Specify the H.323 ID aliases for the endpoint. Multiple aliases can be separated by comma.

  • E164=18888600000,18888700000
    Default: N/A

    Define the E.164 (dialedDigits) aliases for the endpoint. Multiple aliases can be separated by comma.

  • Password=123456
    Default: N/A

    Specify a password to be sent to the parent gatekeeper. All RAS requests will contain the password in the cryptoTokens field (MD5 & HMAC-SHA1-96) and the tokens field (CAT). To send RAS requests without both cryptoTokens and tokens fields, set the password to be empty. If EncryptAllPasswords is enabled, or a KeyFilled variable is defined in this section, the password is in encrypted form and should be created using the addpasswd utility.

    Besides, the password is also used in LRQs sent to neighbor gatekeepers.

  • Prefix=188886,188887
    Default: N/A

    Register the specified prefixes with the parent gatekeeper. Only takes effect when the Type is Gateway.

  • TimeToLive=900
    Default: 60

    Suggest a time-to-live value in seconds for the registration. Note that the real time-to-live timer is assigned by the parent gatekeeper in the RCF replied to the RRQ.

  • RRQRetryInterval=10
    Default: 3

    Define a retry interval in seconds for resending an RRQ if no response is received from the parent gatekeeper. This interval is doubled with each failure, up to a maximum RRQRetryInterval * 128 timeout.

  • ARQTimeout=2
    Default: 2

    Define the timeout value in second for ARQs.

  • UnregisterOnReload=1
    Default: 0

    Defines whether the child gatekeeper unregisters and re-registers with it's parent when receiving a Reload command.

  • NATRetryInterval=60
    Default: 60

    How long to wait before trying to reconnect TCP NAT signalling socket (seconds). This can happen when either the connection cannot be established or it has been broken.

  • NATKeepaliveInterval=86400
    Default: 86400

    Define how often the TCP NAT signalling connection with a parent gatekeeper is refreshed. As NAT boxes usually keep TCP mappings for a definite time only, it is good to set this to some value a bit shorter than NAT box mapping timeout. Refreshing is done by sending a special Q.931 IncomingCallProceeding message. If you NAT performs TCP port translation, you may need to set it to a values as short as 60 seconds.

  • Discovery=0
    Default: 1

    Decide whether to discover the parent gatekeeper by sending GRQ first.

  • UseAlternateGK=0
    Default: 1

    Enable alternate gatekeepers feature. If GRJ/GCF/RFC messages received from a parent gatekeeper contain a list of alternate gatekeepers, this information is stored and can be used to reregister with another gatekeeper in case of any failure. If you don't want to use this feature, set this variable to 0.

  • GatekeeperIdentifier=ParentGK
    Default: Not set

    Define it if you want to accept only such parent gatekeepers that match this gatekeeper identifier. Useful with GRQ discovery and can prevent an accidental gatekeeper match. Do not set this variable, if you do not care about gatekeeper identifiers or you use alternate gatekeepers that can have different gatekeeper indentifiers set.

  • EndpointIdentifier=OpenH323GK
    Default: Not set

    Set this if you want to use a specific endpoint identifier for this child gatekeeper. If this option is not set (default), the identifier is assigned by a parent gatekeeper in a GCF/RCF message.

11.3 Section [CTI::Agents]

This section allows the configuration of a so called virtual queues to allow inbound call distribution by an external application via the status port. A virtual queue has an H.323 alias that can be called like an endpoint.

Upon arrival of an ARQ on a virtual queue, the gatekeeper signals a RouteRequest on the status port and waits for an external application to respond with either a RouteReject (then the ARQ will be rejected) or with RouteToAlias/RouteToGateway which leads to the ARQ being rewritten so the call will be routed to the alias (eg. call center agent) specified by the external application.

If no answer is received after a timeout period, the call is terminated.

You can specify virtual queues in three ways:

  • exact alias name - a list of aliases is given. If an ARQ destination alias matches one these names, the virtual queue is activated,
  • prefix - a list of prefixes is given. If an ARQ destination alias starts with one these prefixes, the virtual queue is activated,
  • regular expression - a regular expression is given. If an ARQ destination alias matches the expression, the virtual queue is activated.

See the monitoring section for details on the messages and responses.

  • VirtualQueueAliases
    Default: none

    This defines a list of H.323 aliases for the virtual queues (used with the vqueue RoutingPolicy).

    Example:

    VirtualQueueAliases=sales,support

  • VirtualQueuePrefixes
    Default: none

    This defines a list of prefixes for the virtual queues (used with the vqueue RoutingPolicy).

    Example:

    VirtualQueuePrefixes=001215,1215

  • VirtualQueueRegex
    Default: none

    This defines a regular expression for the virtual queues (used with the vqueue RoutingPolicy).

    Example (numbers starting with 001215 or 1215):

    VirtualQueueRegex=^(001|1)215[0-9]*$

  • RequestTimeout
    Default: 10 Timeout in seconds for the external application to answer the RouteRequest. If no answer is received during this time an ARJ will be sent to the caller.

11.4 Section [SQLConfig]

Load gatekeeper settings from an SQL database (in addition to settings read from the config file). A generic ConfigQuery can be used to read almost all setting from the database and/or one of [RasSrv::RewriteE164], [RasSrv::PermanentEndpoints], [RasSrv::Neighbors], [RasSrv::GWPrefixes] queries can be used to load particular settings. Entries read from the SQL database take precedence over settings found in the config file.

  • Driver=MySQL | PostgreSQL
    Default: N/A

    SQL database driver to use. Currently, MySQL and PostgreSQL drivers are implemented.

  • Host=DNS[:PORT] | IP[:PORT]
    Default: localhost

    SQL server host address. Can be in the form of DNS[:PORT] or IP[:PORT]. Like sql.mycompany.com or sql.mycompany.com:3306 or 192.168.3.100.

  • Database=billing
    Default: billing

    The database name to connect to.

  • Username=gnugk

    The username used to connect to the database.

  • Password=secret

    The password used to connect to the database. If the password is not specified, a database connection attempt without any password will be made. If EncryptAllPasswords is enabled, or a KeyFilled variable is defined in this section, the password is in encrypted form and should be created using the addpasswd utility.

  • ConfigQuery=SELECT ...
    Default: N/A

    Define an SQL query used to read gatekeeper settings from the database. The query is parametrized - that means parameter replacement occurs before the query is executed. Parameter placeholders are denoted by %1, %2, ... strings. Specify %% to embed a percent character before a digit into string (like %%1), specify %{1} to allow expansion inside complex expressions like %{1}123. For ConfigQuery only one parameter is defined:

    • %1 - the gatekeeper identifier
    It is expected that the query returns zero or more rows of data, with each row consisting of three columns:
    • column at index 0 - config section name
    • column at index 1 - config key (option name)
    • column at index 2 - config value (option value)

    Sample query strings:

    ConfigQuery=SELECT secname, seckey, secval FROM sqlconfig WHERE gk = '%1'
    ConfigQuery=SELECT 'RasSrv::RRQAuth', alias, rule FROM rrqauth WHERE gk = '%1'
    

  • RewriteE164Query=SELECT ...
    Default: N/A

    Define an SQL query used to retrieve from the database rewrite rules for [RasSrv::RewriteE164] section. The query is parametrized - that means parameter replacement occurs before each query is executed. Parameter placeholders are denoted by %1, %2, ... strings. Specify %% to embed a percent character before a digit into string (like %%1), specify %{1} to allow expansion inside complex expressions like %{1}123. For RewriteE164Query only one parameter is defined:

    • %1 - the gatekeeper identifier
    It is expected that the query returns zero or more rows of data, with each row consisting of two columns:
    • column at index 0 - rewrite rule key
    • column at index 1 - rewrite rule value

    Sample query strings:

    RewriteE164Query=SELECT rkey, rvalue FROM rewriterule WHERE gk = '%1'
    

  • NeighborsQuery=SELECT ...
    Default: N/A

    Define an SQL query used to retrieve from the database neighbor entries for [RasSrv::Neighbors] section . The query is parametrized - that means parameter replacement occurs before each query is executed. Parameter placeholders are denoted by %1, %2, ... strings. Specify %% to embed a percent character before a digit into string (like %%1), specify %{1} to allow expansion inside complex expressions like %{1}123. For NeighborsQuery one parameter is defined:

    • %1 - the gatekeeper identifier
    It is expected that the query returns zero or more rows of data, with each row consisting of six columns:
    • column at index 0 - neighbor name (idenitifier)
    • column at index 1 - neighbor IP address
    • column at index 2 - neighbor port number
    • column at index 3 - optional prefixes (comma separated)
    • column at index 4 - optional password
    • column at index 5 - optional dynamic IP flag

    Sample query strings:

    NeighborsQuery=SELECT nid, nip, nport, npfx, NULL, 0 FROM neighbor WHERE gk = '%1'
    

  • PermanentEndpointsQuery=SELECT ...
    Default: N/A

    Define an SQL query used to retrieve permanent endpoints from the database for [RasSrv::PermanentEndpoints] section . The query is parametrized - that means parameter replacement occurs before each query is executed. Parameter placeholders are denoted by %1, %2, ... strings. Specify %% to embed a percent character before a digit into string (like %%1), specify %{1} to allow expansion inside complex expressions like %{1}123. For PermanentEndpointsQuery only one parameter is defined:

    • %1 - the gatekeeper identifier
    It is expected that the query returns zero or more rows of data, with each row consisting of four columns:
    • column at index 0 - permanent endpoint IP address
    • column at index 1 - permanent endpoint port number
    • column at index 2 - permanent endpoint alias
    • column at index 3 - optional permanent endpoint prefixes (comma separated)

    Sample query strings:

    PermanentEndpointsQuery=SELECT peip, 1720, pealias, NULL FROM permanentep WHERE gk = '%1'
    

  • GWPrefixesQuery=SELECT ...
    Default: N/A

    Define an SQL query used to retrieve gateway prefixes from the database for [RasSrv::GWPrefixes] section . The query is parametrized - that means parameter replacement is made before each query is executed. Parameter placeholders are denoted by %1, %2, ... strings. Specify %% to embed a percent character before a digit into string (like %%1), specify %{1} to allow expansion inside complex expressions like %{1}123. For GWPrefixesQuery only one parameter is defined:

    • %1 - the gatekeeper identifier
    It is expected that the query returns zero or more rows of data, with each row consisting of two columns:
    • column at index 0 - gateway alias
    • column at index 1 - gateway prefixes (comma separated)

    Sample query strings:

    GWPrefixesQuery=SELECT gwalias, gwpfx FROM gwprefix WHERE gk = '%1'
    


Page suivante Page précédente Table des matières

Chapitres: Contenu · Introduction · Installation · Pour commencer · Config basique · Routage · Config RAS · Authentification · Accounting · Voisins · Config par terminal · Config avancée · Surveillance



Last updated: 16. Nov 2017
Page maintained by Jan Willamowius