May 4th, 2012· fixes 2 bugs
January 4th, 2012New 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
November 28th, 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
January 5th, 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
October 28th, 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
May 26th, 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
November 27th, 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
January 15th, 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
January 6th, 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