OpenH323 Gatekeeper Changelog

What's new in OpenH323 Gatekeeper 5.5

Jun 30, 2020
  • New features:
  • new feature GnuGkAssignedGatekeeper to push endpoints back to
  • their intended home gatekeepers in the cluster
  • support new PBKDF2 password hashes for ssh logins to the status port
  • new switches to fine tune port detection for H.239 channels
  • IgnoreSignaledPublicH239IPsFrom=x and IgnoreSignaledAllH239IPs=1
  • new Chinese manual
  • Bug fixes:
  • select correct source IP for neighbor pings
  • set altGKisPermanent=true when redirecting endpoints
  • fix RRJ to include alternates when RedirectGK=Endpoints limit is reached
  • fix reading of AllowSignaledIPs= switch
  • don't complain about [Neighbor::xxx] SendAliases switch when using --strict

New in OpenH323 Gatekeeper 5.4 (Jan 7, 2020)

  • New features:
  • new accounting module to send accounting data to an MQTT server
  • support for redis as database (eg. as backend for password storage)
  • Bug fixes:
  • important fix for H.245 tunneling translation with H.460.18 endpoints
  • fix for snmpwalk in PTLib-SNMP implementation
  • fix sending alternate gatekeeper list to endpoints with assigned gatekeeper
  • improved DRQ from child gatekeepers
  • fix TLS with neighbor gatekeeper

New in OpenH323 Gatekeeper 5.3 (Jan 7, 2020)

  • LRQ loop detection to optimize calls flows between multiple neighbor gatekeepers
  • This new feature has the potential to significantly reduce the load on all gatekeepers and prevent "LRQ storms".
  • new routing policy to set call destinations by querying HTTP or REST servers, see [Routing::Http]
  • much improved support for SNMP monitoring
  • important bug fix for TLS encryption of signaling channels
  • important bug fixes for H.460.18 (for H.245 tunneling and for multi-homed servers)
  • performance optimization: this version can handle 5-10% more proxied calls on the same hardware
  • performance optimization: re-authenticate lightweight, additive registrations only when new aliases differ
  • This significantly reduces the load on password databases.

New in OpenH323 Gatekeeper 5.2 (Jul 26, 2019)

  • This release that has a rewritten networking implementation (aka "large-fdset") that allows GnuGk to scale to higher numbers of calls per server than previous versions.
  • This new implementation replaces the old hack to extend the select() system call by using poll() which enables GnuGk to handle huge numbers of sockets at the same time. The new implementation also works on Windows, but has been tested mostly on the different Unix versions we support.
  • This release also has a few bug fixes, eg. for using LUA scripts with shared libraries and for memory leaks in the error handling of H.235 password authentication.

New in OpenH323 Gatekeeper 5.1 (Mar 18, 2019)

  • New Features:
  • support for H.245 multiplexing with H.460.18:
  • [RoutedMode] EnableH245Multiplexing=1, H245MultiplexPort=1722
  • improved interop with Lifesize Icon (H.235), Scopia VC240 (H.460.18) and Yealink Mobile (H.460.19)
  • improved detection of neighbor gatekeeper availability
  • public IP detection for Google Cloud
  • new feature to let GnuGk send an event if port detection fails

New in OpenH323 Gatekeeper 5.0 (Sep 1, 2018)

  • Highlights:
  • support for Azure and Alibaba Cloud in addition to AWS
  • performance optimizations, especially for multiplexed RTP and LUA
  • compatible with OpenSSL 1.1.x
  • switch to translate Facility transfers into gatekeeper TCS0 reroutes
  • Changes:
  • new variable %{from-neighbor}, %{from-registered} for SQLAuth CallQuery
  • new variable %{Calling-Station-Id} for SQLAuth/LuaAuth RegQuery
  • BUGFIX(Toolkit.cxx) fix route matching
  • BUGFIX(ProxyChannel.cxx) fix RTP multiplexing when child calls parent
  • BUGFIX(GkClient.cxx) generate valid IRRs as child
  • BUGFIX(GkClient.cxx) only negotiate password algo with parent when a password is set
  • public IP detection for Azure and Alibaba Cloud
  • new switch [RoutedMode] RerouteOnFacility=1 to translate Facility transfers into gatekeeper TCS0 reroutes
  • support OpenSSL 1.1
  • BUGFIX(RasSrv.cxx) match [EP::] ForceGateway= on any alias, not only the first
  • new default: [Gatekeeper::Main] Name=GnuGk
  • BUGFIX(configure.in) fix RabbitMQ configure option
  • BUGFIX(Routing.cxx) fix regex replace in SQL routing policy
  • BUGFIX(gnugkbuildopts.h.in) fix building with libmaxmind
  • allocate new LUA interpreter to each request so multiple LUA scripts can run at the same time
  • BUGFIX(gkauth.cxx) let HttpPasswordAuth with libcurl behave the same as when using PTlib
  • internal performance optimization

New in OpenH323 Gatekeeper 4.7 (Oct 5, 2017)

  • fixes for RTP Bleed
  • new switch [Proxy] RestrictRTPSources=IP or Net to limit accepting RTP from the call signal IPs or the respective class C network
  • new switch [Proxy] LegacyPortDetection=1 to keep port detection help for some very old and broken endpoints that will make your gatekeeper vulnerable to RTP Bleed attacks
  • BUGFIX(ProxyChannel.cxx) replace @ip or ip## from aliases when using RedirectCallsToGkIP
  • BUGFIX(ProxyChannel.cxx) better initialization of sendmsg() structs
  • new command line option: now you can use -S instead of --strict (needed on BSD systems)

New in OpenH323 Gatekeeper 4.6 (Oct 5, 2017)

  • New features:
  • least used routing: distribute calls evenly between gateways or MCUs (new switch [RasSrv::ARQFeatures] LeastUsedRouting=1)
  • ability to log to the Unix syslog instead of the trace file (new switch [LogFile] TraceToSyslog=1)
  • new authentication module TwoAliasAuth this is not very safe, but you can use it with endpoints that do not support any password transmission
  • new switch [CTI::MakeCall] Bandwidth= to set the maximum bandwidth for the calls generated by the GnuGk status port API
  • new status port command: UnregisterEP
  • a number of switches to fine tune TCP keepalives
  • new switch to remove load balancers from the call path ([RoutedMode] RedirectCallsToGkIP=1)
  • Bug fixes:
  • fixed TCP keepalive for H.460 calls (important!)
  • fixes to port detection for unregistered calls
  • audio fix when GnuGk adds encryption to calls
  • many smaller fixes

New in OpenH323 Gatekeeper 4.5 (Mar 20, 2017)

  • The most important change is the implementation of TCP keepalives for H.460.18 (bug fix) and optionally for all kinds of calls (feature). This is really important for NAT traversal.
  • Full changelog:
  • new feature to send H.225 and H.245 keep-alives for all calls, enable with [RoutedMode] EnableGnuGkTcpKeepAlive=1, set interval with GnuGkTcpKeepAliveInterval=n
  • BUGFIX(ProxyChannel.cxx) send H.225 and H.245 keep-alives when acting as H.460.18 client
  • BUGFIX(ProxyChannel.cxx) disable RTP/RTCP port check for IPs in AllowedSignalIPs= when doing port detection
  • [Proxy] AllowedSignalIPs= can now process a list of networks
  • add shortcurt 'rl' for status port command 'rotatelog'
  • new switch [CallTable] SetCalledStationIdToDialedIP=1
  • new switch [CallTable] UseDestCallSignalIPAsDialedNumber=1 to place the destSignalIP into the %{DialedNumber} field if no dialed number is available in the ARQ / Setup
  • BUGFIX(ProxyChannel.cxx) fix crash on invalid sourceCallSignalAddress
  • add optional parameter for call transfer method to MakeCall status port command
  • BUGFIX(Toolkit.*) fix bug in IP comparison
  • BUGFIX(Toolkit.*) the internal networks configured with the [Proxy] InternalNetworks switch were added to the detected internal networks and didn't replace them, now they replace them as documented

New in OpenH323 Gatekeeper 4.4 (Mar 5, 2017)

  • [CTI::MakeCall] TransferMethod can now also be Reroute, DisableFastStart switch removed
  • BUGFIX(MakeCall.cxx) fix MakeCall bearer capabilities to support video calls
  • BUGFIX(ProxyChannel.cxx) don't send Notify after call Reroute: Polycom RealPresens starts a flood of Status messages
  • BUGFIX(GkStatus.cxx) call ssh_init() and ssh_finalize() only on application start and shutdown
  • BUGFIX(ProxyChannel.cxx) fix IP check for IgnoreSignaledPrivateH239IPs= switch
  • new accounting/authentication policy RequireOneNet
  • pass full RRQ message to LuaAuth
  • BUGFIX(ProxyChannel.cxx) when opening a port from a PortRange fails, try next port regardless of errno
  • BUGFIX(lua.cxx) add mutex for LUA interpreter, because it is not thread safe
  • added message type parameter in RouteRequest event (ARQ, Setup, LRQ)
  • BUGFIX(yasocket.cxx) fix UDP with LARGE_FDSET on Solaris, OpenBSD and NetBSD
  • BUGFIX(RasTbl.cxx) fix crash on invalid AliasTypeFilter setting
  • changed default setting: [Proxy] ProxyForNAT now defaults to off, if you want to keep the previous behaviour, please set it explicitely

New in OpenH323 Gatekeeper 4.3 (Nov 21, 2016)

  • BUGFIX(ProxyChannel.cxx, gkh235.cxx, gkauth.h) fix crashes found with PROTOS
  • new authentication policies LuaPasswordAuth, HttpPasswordAuth
  • BUGFIX(configure.in) fix check for LUA 5.2 or higher
  • connection to the status port can now also be ended with Ctrl-C
  • new switch [Routing::DNS] RewriteARQDestination= to preserve URLs in ARQs
  • disable IgnoreSignaledIPs when one party is not using the same RTP ports for forward and reverse channels in same RTP session
  • BUGFIX(RasTbl.cxx) don't allow higher TTL for H.460.18 registrations than set by H46018KeepAliveInterval= switch
  • add variables message, srcInfo and vendor to LuaAuth
  • print message on status port when Setup is received
  • BUGFIX(ProxyChannel.cxx) disregard IgnoreSignaledIPs=1 switch when caller supports some form of NAT traversal (to avoid both sides waiting for first RTP packet)
  • BUGFIX(ProxyChannel.cxx) enable H.245 tunneling for H.460.17 even when Innovaphone forgets the flag
  • BUGFIX(ProxyChannel.cxx) make sure CRV is 0 for all RAS messages when using H.460.17 even when they relate to a call
  • BUGFIX(ProxyChannel.cxx) re-do H.460.19 port detection when a new logical channel is opened on the same port
  • print number of CPU cores and thread configuration on startup
  • BUGFIX(RasTbl.cxx) fix display of H.460.17 for registrations on status port
  • BUGFIX(ProxyChannel.cxx) fix dead lock causing reroutes to fail

New in OpenH323 Gatekeeper 4.2 (Jun 1, 2016)

  • BUG FIX (ProxyChannel.cxx) fix H.239 forwarding issue in call where only one side uses H.460.19
  • BUG FIX (configure.in) make sure LUA test fails for versions below 5.2
  • BUG FIX (gkh235.cxx) small fix with password auth
  • BUG FIX (ProxyChannel.cxx) apply codec filtering also to receiveAndTransmit capabilities
  • BUG FIX (ProxyChannel.cxx) fix crash in RTP multiplexing
  • BUG FIX (ProxyChannel.cxx) fix crash when using H.245 tunneling translation
  • BUG FIX (gk.cxx) fix shutdown on NetBSD 7
  • BUG FIX (ProxyChannel.cxx) fix compile on NetBSD 7
  • new switch: [RoutedMode] FilterVideoFastUpdatePicture= to reduce the number of update requests from endpoints
  • disable SSLv3 when using TLS
  • BUG FIX (ProxyChannel.cxx) fix crash in call cleanup
  • support ON and OFF event in LuaAcct
  • BUG FIX (sqlacct.*) implement ON and OFF event as documented
  • New switches [RoutedMode] EnableGnuGkNATTraversal=1 and [Endpoint] EnableGnuGkNATTraversal=1 to keep GnuGk's old NAT traversal method enabled

New in OpenH323 Gatekeeper 4.1 (Feb 18, 2016)

  • BUGFIX(ProxyChannel.cxx) fix crash processing Setup
  • BUGFIX(RasSrv.cxx) update IP/port of traversal neighbor on every SCI, not only on IP changes
  • new status port command: PrintNeighbors
  • BUGFIX(ProxyChannel.cxx) fix H.239 inside multiplePayloadStream from Avaya XT5000 with H.460.19
  • new accounting module: LuaAcct
  • LUA: new library "gnugk" to allow access to GnuGk functionality
  • BUGFIX(configure) set all detected options in gnugkbuildopts.h on Unix
  • BUGFIX(ProxyChannel.cxx) removing H.235 capabilities might have skipped items
  • BUGFIX(lua.cxx) initialize all LUA variables for LUA routing
  • status port configuration (MaxStatusClients, StatusEventBacklog, StatusEventBacklogRegex) now changable at runtime
  • BUGFIX(GkStatus.cxx) fix StatusEventBacklogRegex for patterns that start at the beginning of the event line
  • BUGFIX(ProxyChannel.cxx) use RealPresence Group 0-Byte keep-alive for IgnoreSignaledH239PrivateIPs (needs LARGE_FDSET to work)
  • new switches to set database connect and read timeout (only used by MySQL for now)
  • new switch to set worker thread idle timeout: [Gatekeeper::Main] WorkerThreadIdleTimeout=
  • BUGFIX(gk.cxx) better test for gatekeeper shutdown
  • BUGFIX(Routing.cxx) fix fromIP for ARQ and LRQ RouteRequests
  • BUGFIX(gkauth.cxx) only call Q.931 checks when activated
  • BUGFIX(Routing.cxx) fix RouteRequest from unregistered caller who doesn't provide any alias
  • new switch: [RoutedMode] DisableSettingUDPSourceIP=1

New in OpenH323 Gatekeeper 4.0 (Dec 4, 2015)

  • rewrite of the H.235 password authentication - much better interoperability and much more secure (it is high time to get ride of MD5 based authentication!)
  • IP authentication for all RAS and Q.931 messages
  • important IPv6 updates and fixes
  • support for TCS0 call transfers ("reroute") that can be initiated from applications
  • better NAT traversal support for unregistered endpoints
  • better blocking of spam calls using SQLAuth
  • per endpoint codec filtering
  • DisplayIE rewriting
  • more secure handling of status port passwords (only hash stored)
  • important fix for ODBC database driver
  • CalledPartyNumber IE rewriting for better Polycom interoperability
  • bug fixes
  • Changes from 3.9 to 4.0:
  • [...PasswordAuth] CheckID switch is now deprecated, use [H235] CheckSendersID instead
  • provide vendor informations from ARQ or Setup as %{Vendor} in SQLAuth CallQuery
  • prepend timestamp to events in status port backlog
  • BUGFIX(Routing.cxx) remove newlines from vendor string before sending out RouteRequest to virtual queue
  • BUGFIX(gksql_odbc.cxx) fix DSN initialization when having multiple DSNs at the same time
  • new switch: [RoutedMode] UpdateCalledPartyToH225Destination=1 to always rewrite the CalledPartyNumberIE in Setup to the first E.164 of the H.225 destinationAddress
  • BUGFIX(ProxyChannel.cxx) fix crash on shutdown
  • new settings for [RoutedMode] ScreenDisplayIE=: 'Calling', 'Called', 'CallingCalled' to set the DisplayIE to the (rewritten) caller ID
  • new switch: [RoutedMode] AppendToDisplayIE= to add a string to the DisplayIE when ScreenDisplayIE= is on
  • changed default: H.460.18 keep-alive in traversal zone between neighbors now defaults to 19 sec (was 29)
  • new switch: [RoutedMode] H46018KeepAliveInterval=
  • BUGFIX(ProxyChannel.cxx) better port detection for H.239 when IgnoreSignaledPrivateH239IPs=1
  • BUGFIX(gkacct.cxx) %{caller-port} and %{called-port} now default to "0" instead of the empty string when not available (eg. in direct mode) to avoid SQL errors when they are stored in a numeric column
  • BUGFIX(RasSrv.cxx) fix additive registration with parent gatekeeper
  • BUGFIX(ProxyChannel.cxx) fix IPv6 dual-stack proxy on Linux and Windows
  • dump file descriptor usage on USR2 signal (Linux only)
  • new switch [RoutedMode] DisableFastStart=1
  • support for H.235.1, incl. setting and checking tokens in all RAS and Q.931 messages
  • extend SimplePasswordAuth and FileIPAuth to all RAS and all Q.931 messages
  • store only PBKDF2 hash for [GkStatus::Auth] password in config, not a recoverable password
  • BUGFIX(ProxyChannel.cxx) fix crash when receiving message without UUIE
  • new switch [EP::] DisabledCodecs=
  • much improved TCS0 3rd-party call transfer using 'Reroute' command on status port
  • BUGFIX(Routing.cxx) add field for destination alias in ARQ if missing and a dynamic routing policy sets it
  • BUGFIX(ProxyChannel.cxx) fix crash in H.235 Media for endpoints with more than 64 capability entries in TCS
  • new switch [Proxy] AllowSignaledIPs= to skip to skip auto-detect for network when IgnoreSignaledIPs=1

New in OpenH323 Gatekeeper 4.0 Beta (Oct 10, 2015)

  • New H.235 implementation (password authentication):
  • now GnuGk is able to verify every RAS and Q.931 message from the endpoint and will add securiry tokens so the endpoint can verify every message it gets from gnuGk
  • since implementations vary widely, GnuGk supports a number of compatibility switches in the [H235] section
  • tested with AudioCodes, Innovaphone and H323Plus endpoints
  • Please test if this new implementation works with your endpoint!
  • IPv6 improvements / bug fixes
  • call rerouting (TCS0 call transfer) for applications (eg. Relaxed Video Server)
  • disable codecs per endpoint
  • status port passwords are not stored in the config file any more, only a PBKDF2 hash
  • bug fixes

New in OpenH323 Gatekeeper 3.9 (Jul 10, 2015)

  • bug fixes, including a crash and hanging status port on Windows servers
  • a new IP/port detection algorithm for endpoints behind NAT that works well even with unregistered (!) endpoint
  • neighbor pings to speed up call routing if your neighbors are frequently down
  • geo-blocking: with the GeoIPAuth policy, you can allow or block calls based on the location of the IP
  • status port event back log: When you connect to the status port to diagnose an issue, the relevant events are already gone. With this new feature you can tell GnuGk to save the last n events and show them later on. This way you can take a look at eg. the last 100 failed registrations etc.
  • QoS DiffServ marking for RAS, H.225 and H.245 messages (based on patch provided by Vidyo) Now you can set the DiffServ class for signaling messages. Previously you could only mark RTP packets.
  • support for H.235.TSSM: H.235 needs time synchronization between gatekeeper and endpoints and the proposed H.235.TSSM standard provides a means for endpoints to detect that they are not in sync with the gatekeeper and apply a time offset.

New in OpenH323 Gatekeeper 3.8 (Jan 3, 2015)

  • In response to the current wave of H.323 spam / hacking GnuGk 3.8 has a number of improvements to security related features:
  • endpoint IDs are now completely random and not as easily guessable as they were before
  • GnuGk is now using better random numbers in security relevant places
  • new authentication modules using LUA scripts called LuaAuth
  • new switch [RasSrv::ARQFeatures] CheckSenderIP=1 to make sure ARQs come from the same IP as the initial registration
  • FileIPAuth is now able to check ARQ messages
  • AliasAuth updated to work with H.460.18 endpoint
  • PrefixAuth was extended to support unregistered calls
  • SQLAuth can now operate on SrcInfo fields using %{SrcInfo}
  • improvements to the addpasswd utility.
  • Other new non-security related features include:
  • The CatchAll policy now rewrites the destination alias which makes it easier to send CatchAll calls to MCU rooms.
  • You can now filter out whole capability classes, eg. all video or H.239 capabilities if some of your endpoints have trouble handling them
  • A new switch [Gatekeeper::Main] MinH323Version= lets you set the H.323 version GnuGk identifies itself as using (up to the latest version 7). This is mainly to deal with endpoint that switch features when they believe they are talking to older endpoints (which one shouldn't be doing...)
  • a number bugs and crashes fixed

New in OpenH323 Gatekeeper 3.7 (Sep 3, 2014)

  • allow Comment= in all sections
  • new status port command: "debug cfg all" to print the full configuration
  • stub code to fake support for Avaya 2.16.840.1.114187.1.3 authentication (disabled by default)
  • BUGFIX(Neighbor.cxx) fix outbound rules for GWRewriteE164 with neighbors
  • BUGFIX(RasSrv.cxx) fix crash on shutdown
  • BUGFIX(gkauth.cxx) for passwort auth look at correct src or dest info
  • BUGFIX(Toolkit.cxx) more flexible column handling for [SQLConfig] PermanentEndpountsQuery, document priority and vendor info setting
  • BUGFIX(gksql_sqlite.cxx) return empty string for NULL columns, like the other DB drivers do
  • BUGFIX(RasTbl.cxx) fix formatting of PrintAllRegistrations and PrintAllRegistrationsVerbose
  • BUGFIX(GkStatus.cxx) better handling when status clients don't quit properly
  • BUGFIX(Toolkit.cxx) fix selection of reply address for IPv6

New in OpenH323 Gatekeeper 3.5 (Jan 4, 2014)

  • New features:
  • implement H.460.22 to negotiate the use of TLS
  • language based routing (using the upcoming H.323v8)
  • new command line switch -mlock to prevent GnuGk from being swapped out
  • new section [ModeVendorSelection] to set proxy mode based on endpoint vendor
  • support for challenge/response authentication using DES-ECB, eg. from Avaya endpoints
  • new switch [RoutedMode] FilterEmptyFacility= (Avaya interop)
  • new switch [RoutedMode] ProxyHandlerHighPrio=0 to avoid setting the proxy handler to high priority; needed to run GnuGk on certain virtualization platforms
  • print number of proxied calls and peak number of calls in statistics on status port
  • new switch [RoutedMode] H46023ForceNat
  • new switch [RewriteSourceAddress] TreatNumberURIDialedDigits
  • more detailed codec descriptions in %{codec} and Radius attribute
  • process multiple terminal-alias VSA from Radius
  • extend [GkStatus::Message] for URQ
  • Configuration changes:
  • changed default call signaling port from 1721 to 1720
  • replace H235HalfCallMediaStrength= switch with H235HalfCallMaxTokenLength= switch
  • disable use of SHA1 for TLS by default, the new switch [TLS] CipherList= can be used to customize the cipher selection
  • Bug fixes:
  • BUGFIX(GkStatus.cxx) disable ssh compression to avoid libssh bug, fix memleak, implement cmdline command execution
  • BUGFIX(Neighbor.cxx) fix H.460 VendorInfo in LCF without TLS or NAT Support
  • BUGFIX(Routing.cxx) fix DNS policy to allow calls by IP:port to endpoint on same IP as gatekeeper
  • BUGFIX(ProxyChannel.cxx) fix RTCP forwarding with EnableRTCPStats=1
  • BUGFIX(ProxyChannel.cxx) fix race condition in call failover
  • BUGFIX(ProxyChannel.cxx) fix use of RTP multiplex port for non-multiplexing calls
  • BUGFIX(ProxyChannel.cxx) offer H.245 tunneling for H.460.18 calls when translation switch is on
  • BUGFIX(ProxyChannel.cxx) fix removal of h245Address in H.245 tunneling translation
  • BUGFIX(ProxyChannel.cxx) fix H.245 tunneling translation when H.245 connection is actively established by the gatekeeper and there are pending H.245 messages
  • BUGFIX(ProxyChannel.cxx) don't send a ReleaseComplete for Status messages outside of calls
  • BUGFIX(ProxyChannel.cxx) use Facility with reason transportedInformation for H.245 tunneling translation for H.225 version >= 4
  • BUGFIX(RasSrv.cxx) fix port detection for traversal clients
  • BUGFIX(RasTbl.h) fix translation of 2nd CallProceeding to unregistered endpoint
  • BUGFIX(yasocket.h) fix TLS with LARGE_FDSET

New in OpenH323 Gatekeeper 3.4 (Sep 20, 2013)

  • Highlights and new features:
  • implement H.460.26 (RTP over TCP)
  • together with H.460.17, this allows endpoints to operate on a single outbound TCP connection
  • implement H.235.6 media encryption of data channels
  • automatically update H.235.6 media keys after 2^31 packets
  • enable with EnableH235HalfCallMediaKeyUpdates=1
  • implement TLS support to encrypt call signaling channel
  • important to secure the H.235.6 key exchange, allows a fully encrypted GnuGk-to-GnuGk trunk
  • http://www.gnugk.org/gnugk-manual-12.html#ss12.11
  • set RTP source IP on OS that support it (Linux, FreeBSD, Win Vista+)
  • important for multi-homed servers with H.460.19 or IP failover
  • new routing policy 'ldap'
  • new authentication modules: LDAPAliasAuth and LDAPPasswordAuth
  • ability to send post dial digits after call connects
  • allow non-gateways to use additive registration, fix H.460.x support
  • now always enabled and important for LifeSize interoperability
  • new accounting variables %{caller-vendor} and %{callee-vendor}
  • allow "0.0.0.0/0" in ModeSelection and ExplicitRoutes=
  • this allowes you to set one default setting and other rules for exceptions
  • access to the SSH status port can be restricted by additional IP rules in [GkStatus::Auth]
  • setting on/off config switches to y/n or a/? is now depricated, use 1/0
  • check your config, these will stop working shortly!
  • a number of bug fixes

New in OpenH323 Gatekeeper 3.3 (May 14, 2013)

  • support for H.460.18/.19 between parent and child gatekeepers
  • interoperability fixes for H.460.19 RTP multiplexing with Tandberg/Cisco equipment
  • support for pre-granted ARQs: [RoutedMode] PregrantARQ=1
  • configurable DiffServ DSCP to set QoS for RTP
  • new [RewriteCLI::SQL] feature to read CLI reqrites from Database
  • new [Routing::NeighborSQL] policy to read Neighbor targets from database
  • SNMP traps with warnings are now disabled by default, re-enable with [SNMP] EnableWarningTraps=1
  • new switch [RasSrv::LRQFeatures] PingAlias= to reduce resource usage processing LRQ pings
  • improvements to [RewriteSourceAddress] Rules
  • new switch [SQLConfig] NeighborsQuery2= for loading neighbors from database in new style format
  • new switch [RasSrv::RRQFeatures] AuthenticatedAliasesOnly to strip out any aliases that are not authenticated
  • new witchRasSvr::RRQFeatures] GatewayAssignAliases switch to disable assigning aliases to gateways on registration
  • security fix for SQLite
  • many small bug fixes

New in OpenH323 Gatekeeper 3.2.2 (Jan 16, 2013)

  • allow multiple instances of routing policies with different settings (currently works for sql, enum, srv, dns, numberanalysis, lua, forwarding)
  • support for additive registration for gateways, new switch [RasSrv::RRQFeatures] EnableAdditiveRegistration
  • new Alias SQL variable "Additive-RRQ"
  • new [Gatekeeper::Main] TTLExpireDropCall switch to prevent calls being dropped due to registration timeout
  • added AssignedGatekeeper support to child gatekeeper
  • new [Routing::Sql] EnableRegexRewrite switch to support basic regex rewrite in SQL queries
  • new switch [RoutedMode] RemoveH245AddressFromSetup=
  • improved speed of H.460.19 port detection
  • new ACF status item for media routing for calls
  • extend [RasSrv::PermanentEndpoints] to support vendor information on gateways
  • bug fixes (especially for installations with many calls)

New in OpenH323 Gatekeeper 3.1 (Aug 30, 2012)

  • SNMP agent (GET, SET, traps)
  • H.460.17 support
  • routing policy for call forwarding
  • support for connections with different H.245 tunneling settings on each call leg
  • neighbor routing by IP ([Neighbor::...] SendIPs=1.2.3.4/24)
  • GnuGk can AES encrypt RTP for internet-side of a call
  • configurable handling of Q.931 decoding errors
  • support for setting host routes in config ([Proxy] ExplicitRoutes=)
  • freely configure vendor ID when registering as endpoint with other gatekeeper
  • read alternate gatekeeper settings from database
  • new config section [RewriteSourceAddress]
  • bug fixes (eg. in traversal zone support)

New in OpenH323 Gatekeeper 3.1 Beta (Aug 30, 2012)

  • SNMP agent (GET, SET, traps)
  • H.460.17 support
  • routing policy for call forwarding
  • support for connections with different H.245 tunneling settings on each call leg
  • neighbor routing by IP ([Neighbor::...] SendIPs=1.2.3.4/24)
  • GnuGk can AES encrypt RTP for internet-side of a call
  • configurable handling of Q.931 decoding errors
  • support for setting host routes in config ([Proxy] ExplicitRoutes=)
  • freely configure vendor ID when registering as endpoint with other gatekeeper
  • read alternate gatekeeper settings from database
  • new config section [RewriteSourceAddress]
  • bug fixes (eg. in traversal zone support)

New in OpenH323 Gatekeeper 3.1 Beta (Jul 31, 2012)

  • SNMP agent (GET, SET, traps)
  • H.460.17 support
  • routing policy for call forwarding
  • support for connections with different H.245 tunneling settings on each call leg
  • neighbor routing by IP ([Neighbor::...] SendIPs=1.2.3.4/22)
  • GnuGk can encryption/decryption internet-side leg of a call
  • support for setting host routes in config ([Proxy] ExplicitRoutes=)
  • freely configure vendor ID when registering as endpoint with other gatekeeper
  • read alternate gatekeeper settings from database
  • new config section [RewriteSourceAddress]
  • bug fixes

New in OpenH323 Gatekeeper 3.0.2 (May 4, 2012)

  • fixes 2 bugs

New in OpenH323 Gatekeeper 3.0 (Jan 4, 2012)

  • New features:
  • full IPv6 support (incl. IPv4-IPv6 proxying)
  • full traversal zone support (gatekeeper-to-gatekeeper H.460.18/.19)
  • RTP multiplexing (all calls to and from devices supporting H.460.19 will only use 2 sockets total)
  • improved H.235 password authentication with neighbors
  • notifications when GnuGk opens listen ports
  • rewrite destination IPs into aliases
  • ENUM, SRV and RDS routing policies extended for LRQs, in case the calling gatekeeper isn't able to do this
  • massive performance improvement when (re-)loading large numbers of GW rewrites
  • interop fixes for Polycom m100 and Sorenson endpoints
  • fixes in the underlying libraries so *BSD systems can get the latest GnuGk features

New in OpenH323 Gatekeeper 3.0 Beta (Nov 28, 2011)

  • full traversal zone support (gatekeeper-to-gatekeeper H.460.18/.19)
  • full IPv6 support (incl. IPv4-IPv6 proxying)
  • RTP multiplexing (all calls to and from devices supporting H.460.19 will only use 2 sockets total)
  • improved H.235 password authentication with neighbors
  • notifications when GnuGk opens listen ports
  • massive performance improvement when (re-)loading large numbers of GW rewrites
  • interop fixes for Polycom m100 and Sorenson endpoints

New in OpenH323 Gatekeeper 2.3.4 (Jan 5, 2011)

  • BUGFIX(Toolkit.cxx) fix handling of ModeSelection rules (sponsored by Charite, Berlin)
  • BUGFIX(gksql_mysql.cxx) set MySQL connect timeout to 10 seconds (was 10000 seconds)
  • BUGFIX(RasTbl.cxx) add NULL pointer checks when searching for endpoints
  • BUGFIX(RasSrv.cxx) fix handling of BRQs reducing the bandwidth
  • BUGFIX(ProxyChannel.cxx) fix H.239 from H.460.19 client (sponsored by Nanjing Southern Telecom)
  • BUGFIX(ProxyChannel.cxx) fix H.245 IP in H.460.18 call
  • BUGFIX(ProxyChannel.cxx) sourceCallSignalAddr rewrite and RemoveH235Call= were ignored when calling endpoint who uses H.460.18
  • BUGFIX(yasocket.cxx) fix crash on Windows service shutdown
  • new switch: [EP::...]AdditionalDestinationAlias=
  • BUGFIX rewrite memory mangement for routeToAlias
  • BUGFIX(RasSrv.cxx) allow calls with zero bandwidth
  • BUGFIX(ProxyChannel.cxx) fix crash when call being retried is deleted by another thread
  • new switch: [Proxy]EnableRTCPStats=, must be enabled to send RTCP stats to Radius server
  • BUGFIX(ProxyChannel.cxx) fix crash in RTCP handling
  • new switch: [RoutedMode]AlwaysRewriteSourceCallSignalAddress=, defaults to 2.3.2 behavior

New in OpenH323 Gatekeeper 2.3.3 (Oct 28, 2010)

  • BUGFIX(ProxyChannel.cxx) avoid bug in H323Plus so H.460.19 feature indicator can be removed
  • "make" with no target builds optnoshared now
  • BUGFIX(ProxyChannel.cxx) fix crash on failover with DisableRetryChecks=1
  • ignore a 2nd column in SQL routing if it equals "IGNORE"
  • addpasswd moved to subdir
  • BUGFIX(routedmode.sgml): TcpKeepAlive= has always defaulted to 0
  • BUGFIX(Toolkit.cxx): disregard IPv6 addresses if the machine has any
  • BUGFIX(SoftPBX.cxx): DisconnectIP now disconnects all calls on the IP as specified
  • database drivers load their libraries at runtime now, added Library= switch
  • documented [RoutedMode] EnableH460P= and H460PActThread= switches
  • BUGFIX(Routing.cxx): apply ENUM policy also to Setup and Facility messages
  • BUGFIX(gk.cxx): fix crash when setting a non-writable trace file in the config file
  • improved bandwith management: calls that exceed the bandwidth limit will be allowed with reduced bandwith instead of rejected
  • limit bandwidth per call: [Gatekeeper::Main] MinimumBandwidthPerCall= and MaximumBandwidthPerCall=
  • limit bandwidth for registered endpoints with [EP::...] MaxBandwidth=
  • change to the format of [Gatekeeper::Main] AlternateGKs=
  • new config section [RasSrv::AlternateGatekeeper] for alternate gatekeeper configuration by endpoint IP
  • new config section [Routing::Explicit] to define mappings for IP dialing
  • include BMV, a web front-end for SQLBill (in contrib/bmv2/)
  • new config section [ReplyToRasAddress]
  • BUGFIX(RasSrv.cxx): fix multicast discovery
  • document status port command: DisconnectEndpoint
  • H.450.2 emulater extended for unregistered calls
  • new switch: [CTI::MakeCall]TransferMethod=
  • added vendor string in RouteRequest event
  • extended status port commands RouteToAlias/RouteToGateway/BindAndRouteToGateway with caller-ID parameter
  • updated status port command: TransferCall by call-id and with transfer method
  • new status port command: DisconnectCallId
  • BUGFIX(GkClient.cxx) signal change of destination alias in parent policy
  • gatekeeper-based TCS=0 call transfer: activated through H.450.2 emulator or new status port command RerouteCall
  • BUGFIX(yasocket.cxx, RasTbl.cxx) don't accept new calls or retry calls when shutdown is in progress, avoids possible crash
  • BUGFIX(Routing.cxx) check if routing policies have been configured, before using them
  • BUGFIX(ProxyChannel.cxx) only rewrite sourceCallSignalAddress if proxying
  • BUGFIX(ProxyChannel.cxx) fix NAT detection for unregistered callers
  • BUGFIX(RasTbl.cxx) fire unregister event also when endpoint expired
  • BUGFIX(Toolkit.cxx) fix order of home IPs
  • display H323Plus and PTLib version in GnuGk's version string

New in OpenH323 Gatekeeper 2.3.2 (May 26, 2010)

  • new GKClient supports SRV lookup on registrations
  • BUGFIX(RasSrv.cxx) set unresolved interface to the default gateway IP as first is loopback on windows
  • BUGFIX(Toolkit.cxx) Setting ExternalIP when behind a NAT on a private network
  • BUGFIX(ProxyChannel.cxx) fix memory leak in BuildReceiverReport()
  • new status port command BindAndRouteToGateway
  • new setting [Neighbor::...] SendAliases= to specify aliases to send to the neighbor
  • new setting [EP::...] AddNumbers= to add numeric aliases to an endpoint
  • new variable for sql routing: %{client-auth-id}
  • new switch [RoutedMode]RemoveFaxUDPOptionsFromRM=1 to remove t38FaxUdpOptions from t38FaxProfile eg. for Avaya Communication Manager (thanks Denis Kochmashev)
  • BUGFIX(Toolkit.cxx) consider H245Routed setting for implied [ModeSelection] rules for internal networks (based on patch by Denis Kochmashev)
  • BUGFIX(Toolkit.cxx) make sure explicit [ModeSelection] rules override implied rules for internal networks
  • BUGFIX(RasSrv.cxx) don't start GnuGk, if we can't open a signaling port in routed mode
  • BUGFIX(gksql_mysql.cxx) make sure /etc/my.cnf gets read
  • changed default for [CTI::MakeCall]UseH450= to 0 (supported by more endpoints)
  • new switch [RoutedMode]NATStdMin for registering endpoints behind NAT to support NAT standard.
  • extend statusport commands UnregisterIP and DisconnectIP to find endpoints on non-standard ports
  • BUGFIX(GkClient.cxx) fix race condition when unregistering child
  • BUGFIX(GkClient.h) fix memory leak
  • rewrite srv policy, add handling of LRQs and Setups
  • BUGFIX(Neighbor.cxx) fix memory leaks in neighbor, srv and rds policy
  • more presence work added
  • added H.460.24 Annex B support
  • add new accounting events: AcctAlert, AcctRegister, AcctUnregister
  • BUGFIX(ProxyChannel.cxx, gkauth.cxx) always check if DecodeSubType() was successfull before using the result value
  • BUGFIX(ProxyChannel.cxx) remove supportedFeature H.460.19 from Setup when called party doesn't support it
  • added support for multiple DefaultDomains

New in OpenH323 Gatekeeper 2.3.1 (Nov 27, 2009)

  • Firebird database driver updated for Firebird 2.0.x and 2.1.x
  • BUGFIX(Toolkit.cxx) don't ignore ExternalIP settings when NetworkInterfaces= is set
  • BUGFIX(SoftPBX.cxx) make response messages more consistent
  • the old format (2.0) to specify neighbor gatekeepers is deprecated now and has been removed from the manual; it still works, but may be removed from future versions
  • BUGFIX(ProxyChannel.cxx) only close endpoints logical channel on CloseLogicalChannel, use [Proxy]SearchBothSidesOnCLC=1 to retain the old behavior
  • BUGFIX(Toolkit.cxx) Enable RewritePString to rewrite address correctly if unregistered full URI.
  • BUGFIX(Neighbor.cxx) srv policy now fails calls and doesn't pass them to the next policy if a SRV record exists for a domain, but doesn't have a destination for the call
  • allow to set proxy mode through 'proxy' variable in Radius h323-ivr-in attribute (thanks to Yuriy Georgiewskiy)
  • BUGFIX(Routing.cxx) let dns policy handle LRQs that resolve locally, so URI dialing from neighbors works
  • the manual has been improved (thanks to Robert Kulagowski)
  • set Radius VSA attribute h323_rtp_proxy in stop event (thanks to Yuriy Georgiewskiy)
  • BUGFIX(ProxyChannel.cxx) fix memory leak when creation of a fastStart channel fails
  • status port command DisconnectIP now also works with unregistered endpoints using the std port
  • BUGFIX(ProxyChannel.cxx) fix handling of H.460.19 RTP keepalive packets
  • new switch [Proxy]DisableRTPQueueing=1
  • BUGFIX(ProxyChannel.cxx) fully initialize UDP proxy IPs and ports
  • BUGFIX(Routing.cxx) don't apply dns policy to aliases of type dialedDigits
  • BUGFIX(Toolkit.h/.cxx) use default IP for networks specified in InternalNetwork=, not ExternalIP
  • enable data execution protection on Windows versions that support it (starting with XP SP3)
  • BUGFIX(gk.cxx) make sure Windows service writes same trace format as application (including file and line)
  • BUGFIX(Neighbor.cxx) fix memory leak in srv policy, only send the local part of the alias in the LRQ
  • new switch [RoutedMode]H46018NoNat to disable H.460.18 if no NAT detected (default enabled)
  • new routing policy 'catchall' to route all calls to one alias or IP
  • new Radius attributes on stop: h323pddtime, h323ringtime, h323routeattempts
  • BUGFIX(Neighbor.cxx) fix srv policy for direct mode, don't send LRQ if SRV points to us
  • new switch [RoutedMode]TranslateSorensonSourceInfo=1 to convert the Sorenson VP200 caller information
  • BUGFIX(GkStatus.cxx) don't flush status port socket when access is denied to avoid blocking
  • new switches in [Gatekeeper::Main]: CompareAliasType and CompareAliasCase to switch off alias type and case matching
  • BUGFIX(Routing.cxx) fix dns policy for direct mode
  • BUGFIX(Neighbor.cxx) try next policy if SRV lookup fails
  • neighbor type (GnuGk|CiscoGk|ClarentGk|GlonetGk) is now case insensitive
  • features documented: [AssignedAliases::SQL], [AssignedGatekeepers::SQL] and [GkQoSMonitor::SQL]
  • BUGFIX(RasTbl.cxx) use rewritten number when decrementing prefix capacity counters, so they match the increment
  • feature to set a ClientAuthId in SqlAuth that is provided as %{client-auth-id} on all accounting events
  • new status port command ResetCallCounters
  • changed ProxyForSameNAT default from 0 to 1 (to avoid media failure uncertainty)
  • BUGFIX(RasSrv.cxx) IsReachable looks at correct route table. (virtual was ignored)
  • changed [RoutedMode]EnableH46024= to be consistent with H.460.18 switch
  • BUGFIX(RasSrv.cxx) RCF messages H.460 features now supported Features not GenericData
  • BUGFIX(ProxyChannel.cxx) H.460.19 working with Fast Connect
  • BUGFIX(RasSrv.cxx,ProxyChannel.cxx) Tandberg MXP interoperability fixes
  • BUGFIX(ProxyChannel.cxx) check capacity on routes supplied by authenticators (Radius, SQL etc.)
  • BUGFIX(RasSrv.cxx) avoid cutting off status messages after 1000 chars (problem in PString::Printf)
  • BUGFIX(ProxyChannel.cxx) fix for fastStart with H.460.19
  • new switch [RoutedMode]EnableH.460.24=, which defaults to OFF
  • send RTCP statistics to Radius server (thanks to Yuriy Georgiewskiy)
  • BUGFIX(Toolkit.cxx) fix a crash in RewriteE164() when casting aliases
  • new config section [ModeSelection] to specify the routing/proxy mode by IP network

New in OpenH323 Gatekeeper 2.2.8 (Jan 15, 2009)

  • new RadAcct attribute: RewriteE164
  • enable multiple failover routes with sql routing policy
  • BUGFIX(RasTbl.*) %{last-cdr} was wrong if last call succeeded
  • forward the destCallSignalAddress in ARQs to the parent gatekeeper (set [Endpoint]ForwardDestIp=0 to get the old behavior)
  • BUGFIX(RasTbl.cxx) never overwrite dialed_number after is has been set
  • BUGFIX(RasSrv.cxx) add check to avoid crash on GRQ
  • BUGFIX(ProxyChannel.cxx) fix reading of fragmented TPKT packets
  • new switches Called/CallingPlanOfNumber in [RoutedMode] and [EP::...] to set numbering plan
  • enable SRV policy for all OpenH323 versions as lonng as DNS services are available
  • global switches for TranslateReceivedQ931Cause and TranslateSentQ931Cause in [RoutedMode], similar to those in [EP::...]
  • BUGFIX(ProxyChannel.cxx) supress 2nd acct start event for 2nd Setup with same callid
  • allow outbound number rewrite through SQL/RADIUS modules
  • rewrite also aliases of type partyNumber (public and private), don't change alias type during rewrite
  • BUGFIX(MakeCall.cxx) MakeCall didn't work on Windows
  • implemented status port gai/gci commands for SQLAcct, SQLAuth, SQLPasswordAuth and SQLAliasAuth modules
  • BUGFIX(capctrl.cxx) added a missing lock during config reload for CapacityControl module
  • BUGFIX InternalPolicy should set a reject reason to something like gatewayResources/resourcesUnavailable instead of calledPartyNotRegistered when terminating gateways were found, but there was no capacity
  • BUGFIX(gksql.cxx) SQL reconnect thread-safety fixes
  • new q931cause variable in SQLAuth module
  • status port connection can now be closed with Ctrl-D (instead of 'exit')
  • selective reload on the status port: Reload
  • BUGFIX(radauth.cxx) fixed crash in processing h323-redirect-ip when no h323-redirect-number is present
  • BUGFIX (RasTbl.cxx) read GWPrefixes even if there is an EP:: section for this endpoint
  • BUGFIX (GkStatus.cxx) make sure status port threads don't share string memory with other threads
  • new compile option COMPILE_AS_SERVICE to create a native Windows service
  • new config options [Logfile]Filename=, [Gatekeeper::Main]TraceLevel= (same as -o and -t on cmd line)
  • BUGFIX (ProxyChannel.cxx) always check m_call in H.450.2 call transfer emulator
  • allow mutiple results per query from MySQL (and ignore all after the first) needed for using strored procedures (patch by Matteo Piscitelli)
  • Added Bind INI setting to set the default interface for multihomed virtual servers.
  • BUGFIX (Toolkit.cxx) on reload, check if new config is not empty (Fortytwo=42)
  • BUGFIX (ProxyChannel.cxx) add NULL pointer checks to avoid crashes
  • CapacityControl H.323 Id rules work now also for SetupUnreg calls
  • BUGFIX (ProxyChannel.cxx) make sure Q.931 cause is included in generated ReleaseComplete
  • new ^= and /= RewriteCLI rules for H.323 ID only rewritting
  • new getauthinfo/getacctinfo status port commands
  • Changed P2Pnat from H.460 OID to the standard allocated H.460.23/24
  • BUGFIX(RasTbl.cxx): dynamically registered prefixes are added with the GatewayPriority
  • BUGFIX(GkClient.cxx): use [Endpoint] Type= setting for GRQ, not only for RRQ
  • merged P2Pnat support
  • added first cut of Presence support
  • set radius release-source attribute in stop accounting packet, like %r in sqlacct
  • ./configure support for Windows
  • new database driver 'SQLite'
  • new database driver 'ODBC'
  • auto-reconnect on database errors (for all database drivers)
  • allow setting a reject reason when rejecting using the sql policy

New in OpenH323 Gatekeeper 2.2.7 (Jan 6, 2009)

  • clarified optional rule effect on auth modules, new "alternative" rule added WARNING: semantics of optional rules has changed slightly
  • BUGFIX(gk.cxx) don't look for the default config file gatekeeper.ini if -c switch is given
  • BUGFIX(RasTbl.cxx) honor setting of Called/CallingTypeOfNumber in [EP::..] section (patch by Mauricio NuĂ’ez)
  • BUGFIX(Toolkit.cxx) fix detection of default IP when host has a default route, but no default gateway
  • SQLBill: implement fixed per-call billing
  • BUGFIX(contrib/sqlbill/sql/src/upgrade_tables.sql): fix wrong foreign key reference
  • implement SendProceeding command on status port (experimental)
  • BUGFIX(Routing.*): calls from registered endpoints to IPs should match vqueue ^.*$
  • added cause code translation (see [EP::..] TranslateReceivedQ931Cause and TranslateSentQ931Cause)
  • Added H.450 Call Transfer emulator [RoutedMode] EnableH450.2=1
  • implement MakeCall command on status port
  • BUGFIX SRV policy correctly detects E.164 number.
  • BUGFIX Radius module now sent public IP of endpoints behind NAT.
  • new switches [RoutedMode] GenerateCallProceeding, UseProvisionalRespToH245Tunneling (experimental)
  • new SQLAUth variable %{CallId}
  • BUGFIX(RasTbl.*,SoftPBX.cxx) status port commands (find,disconnectcall,transfercall) could influence round-robin order
  • enable auto-reconnect for MySQL >= 5.0
  • BUGFIX(capctrl.cxx) counters were incorrectly updated for H.323ID and CLI rules
  • Added %{CallLink} SQL parameter for correct billing of H.450 call transfer
  • BUGFIX (proxychannel.cxx) Detect call signalling is using H.245 Tunneling but says it doesn't
  • BUGFIX (RasSrv.cxx) Endpoint registered on same machine as GnuGk should not be treated as being NAT.
  • added H.460.interop support for interworking of NetMeeting with everything else (req. OpenH323 v1.19.5)
  • added [GkQoSMonitor] H.460.9 realtime QoS monitoring (req. OpenH323 v1.19.5)
  • BUGFIX (statusacct.*) output callID in same format as other status port events (spaces replaced with dashes)
  • new status port command: printcc
  • BUGFIX (RasTbl.cxx) preserve internal call number for each failed call record if we have SingleFailoverCDR option enabled. This allow CapacityControl and other modules to work fine with failover enabled
  • BUGFIX (RasTbl.cxx) don't send URQ to permanent endpoints on shutdown
  • BUGFIX (Routing.cxx) fix LRQ canMapAlias detection for vqueue
  • BUGFIX (RasTbl.cxx) added missing include file for H.350 support
  • added Prefix support for MCU's
  • extend virtual queue functionality to unregistered calls (anonymous sponsor)
  • remove SignalCallId switch, now call ID is always sent with status port events
  • new status port command: PrintPrefixCapacities/printpc
  • implement rate limiting, configured by CpsLimit and CpsCheckInterval in the [RoutedMode] section, defaults to OFF
  • BUGFIX (RasSrv.cxx, GkClient.cxx) deal better with having no RAS interfaces at all
  • BUGFIX (RasSrv.cxx) ensure compatibility with PWLib < 1.9.3
  • new 'sql' routing policy configured via [Routing::Sql], sponsored by CoProSys
  • BUGFIX (RasTbl.cxx) fix race condition where same call number could be assigned multiple times
  • BUGFIX (RasTbl.cxx) avoid memory reference in AliasTypeFilter that causes crash on endpoint delete
  • Added [GkH350::Settings] H.350 LDAP directory support (req. OpenLDAP,OpenH323 v1.19.5)
  • Added H.350 Authenticator module (req. OpenLDAP,OpenH323 v1.19.5)
  • new accounting variable %{bandwidth}
  • allow Radius server to send multiple destinations in "h323-redirect-number" attribute for call failover (patch by Lucas Martinez)
  • Added Alias Filter via [RasSrv::RRQFeatures] AliasTypeFilter
  • Added RDS (resolver discovery service) Routing policy
  • BUGFIX (RasTbl.cxx) check route capacity just before it is used for failover, not only at the beginning of the call (patch by Vladimir Voronin)
  • Added HTTP Service control via [RasSrv::RRQFeatures] AccHTTPLink
  • BUGFIX (GkStatus.cxx) add semicolon after status port 'debug cfg' output for consistency
  • Added [RasSrv::AssignedAlias] to gatekeeper assign aliases
  • Added [RasSrv::AssignedGKs] to assign gatekeepers based on alias or IP.(req. H.323v6)
  • Added [Gatekeeper::Main] Authenticators option to select which authenticators to use. (req. openh323 v1.19)
  • BUGFIX (ProxyChannel.cxx) Finally fixed same nat bug with GnuGk NAT method
  • [EP::xxx] PrefixCapacities: limit capacity by prefix on an endpoint
  • BUGFIX (gkauth.cxx) Fixed H.235.1 Authenticator
  • [RoutedMode] added ENUMservers setting