# Revision history

## Version 1.00

- Initial revision.

## Version 1.01

### Information

- FreeBSD 4.x+ and Linux ports available from this version.

### New features

- New configuration keyword — 'connectionvalidity'. Refer to "Configuration file syntax" section for details. This feature can help to connect flaw endpoints which do not send IRR messages thru the call despite this feature still mandatory by H.323 standard. Set 'connectionvalidity' to 'unlimited' for that endpoints. It is hightly recommended to not use 'connectionvalidity unlimited;' with 'directcall allow;' because, in this case there is no reliable way for gatekeeper to know that connection has been terminated. It may cause "hung" connections and wild bill data.

### Fixes

- Workaround Cisco ATA 186. It sends lightweight registration despite previous registration confirmation packet indicates that gatekeeper does not support it. In fact lightweight registration appears in H.323 version 2 only. So, this fix implements lightweight registration while gatekeeper still report that it does not support it.
- Fixed bug in PER packetizer that may cause error on some long packets send.

## Version 1.02

### New features

- New option to log section — dumpmessages <bool>; will dump all enabled incoming messages.

### Fixes

- Misreported monitor conversation stop time.
- Lightweight registration bug.
- Date parser bug.
- Wrong called party number search behaviour in Q.931 Setup message.

## Version 1.03

### New features

- Now gatekeeper are able to proxy RTP streams.

### Changes

- 'directcall' configuration keyword changed for 'proxylevel' which has three parameters: 'none', 'signalling' and 'full'.

### Fixes

- Fixed date parsing bug in configuration.
- Fix for wrongly filled CSAddress field in RCF message.

## Version 1.04

### New features

- RADIUS support. New 'aaa' complex expression.
- New configuration expressions 'max ringback duration', 'max connection duration'.
- New configuration expression 'translate outgoing dial to'.

### Changes

- Improved gatekeeper service shutdown.
- All main options moved to 'system' complex expression.
- 'gatekeeperidentifier' changed to 'system { identifier }'.
- 'logfile' changed to 'log { file }'.
- 'billfile' changed to 'aaa { file }'.
- 'proxylevel' changed to 'proxy level'.
- 'aliastranslate' changed to 'translate alias "alias" to'.
- 'translate' changed to 'translate incoming dial "dial" to'.
- 'groupmember' changed to 'group member'.
- 'connectionvalidity' changed to 'connection validity'.
- 'registrationvalidity' changed to 'registration validity'.
- 'rasaddress' changed to 'ras address'.
- 'registeralias' changed to 'register alias'.
- 'registrationperiod' changed to 'registration period'.
- Refer to "Log options" section for 'log' complex expression changes.

### Fixes

- Fix for BRQ processor.
- Fix for fall on connection close by invalid socket.
- Fix for primary address binds. Some sockets was not bound to primary address.

## Version 1.05

### New features

- Call signal and LRQ calls to the other gatekeepers forward.
- RADIUS authentication on call signal call.

### Changes

- Improved connection shutdown.
- Improved gatekeeper shutdown.
- Users allowed to open control level (and RTP data streams thru it) before call signal Connect message.

### Fixes

- Fix for failed socket binds on gatekeeper restart.
- Fix for RADIUS NAS-IP-Address field.

## Version 1.06

### Changes

- Finetuned conversation start time fixup.

### Fixes

- Fixed RADIUS packet length misreporting. Thanks to Alex Mansurov.
- Fix for big (more than 16Kb) configuration save in monitor mode. Thanks to Gregory Markov.

## Version 1.07

### New features

- Zone bandwidth can be also limited by connections count laid thru that zone. See new 'zone connections' expression.
- Added number of Cisco VSAs to RADIUS packets to improve compatibility with current billing systems.
- Added new 'self' keyword to 'user dial' expression.
- Added reserved group name 'everyone'. All users will be members of this group automatically.

### Changes

- 'zone' and 'link' expressions changed to conform common syntax rules.
- RADIUS authorization and accounting packets generated for both call legs now.

### Fixes

- Fixed conversation start time fixup. Thanks to Alex Mansurov.
- Fixed sudden process exit on "broken pipe" under Unix.
- Fixed bug in documentation. Default 'user proxy level' is 'signalling'. Was 'none'.

## Version 1.08

### Fixes

- Fixed Cisco VSA length miscalculation in RADIUS packets.

## Version 1.09

### New features

- Gatekeeper now switched to H.323 version 4 protocols family. All previous versions still supported.
- Implemented fast connect control procedures. Check 'user fast start' configuration expression.
- Implemented H.245 tunneling control procedures. Check 'user h245 tunneling' configuration expression.
- New 'log radius messages' configuration expression to control RADIUS messages printing.
- Authentication procedure now uses Session-Timeout and Cisco h323-credit-time RADIUS attributes to limit call duration.

### Changes

- Extended syntax of 'user authentication' and 'user accounting' expressions.

### Fixes

- Added to documentation missing 'user proxy level choice' feature.
- Fixed bug which caused gatekeeper fall on the start when name service unable to resolve host name.

## Version 1.10

### Changes

- Optimizations over call routing procedure.
- Optimizations in regular expressions processor.

### Fixes

- Fixed sudden call termination situation in case called party didn't pick up receiver in four seconds.
- Fix in GRQ processor.

## Version 1.11

### New features

- New 'user address' configuration expression to restrict user addresses.
- Gatekeeper now obey TimeToLive value in registration on remote gatekeeper procedure.

### Changes

- During called endpoint resolve, Round Robin procedure used among equal endpoints.

### Fixes

- Fixed unclosed socket bug in direct (call signal) gatekeeper call.
- Fix in GRQ processor.
- Suppress multiple calls on single CS channel.

## Version 1.12

### New features

- Added ability of source aliases translation. Refer 'user translate alias' expression for details.
- Added H.235 authentication of RAS and Q.931 messages. Refer 'user h235 ...' expressions for details.

### Changes

- Changed functionality and look of 'user alias' expression.
- In 'user address' directive bool value are optional now.
- In 'user static' directive address value are optional now.
- Changed alias translation scheme. Refer 'user translate alias' expression for details.
- 'user translate dial' expression removed.
- 'user authentication' and 'user accounting' expressions changed to 'user radius authentication' and 'user radius accounting' accordingly.
- 'user aaa ...' expressions changed to 'user radius ...' expressions.

### Fixes

- Fixed bug in RADIUS message validator. Thanks to Dennis A. Evladov.
- Fixed bug in RADIUS accounting for static endpoints.

## Version 1.13

### New features

- Now gatekeeper sends ARQ message prior to make connection to remote gatekeeper.
- New 'user bandwidth' expression.
- H235 security on remote gatekeeper links. Can be activated using new expression 'gatekeeper register password'.

### Changes

- While laying calls to remote gatekeepers, gatekeeper acts just like endpoint using ARQ, BRQ, DRQ and other messages.
- While registering on remote gatekeeper, gatekeeper sets both "gatekeeper" and "gateway" flags in EndpointType field what must solve registration problems on Cisco gatekeeper.
- Changed 'zone bandwidth' expression syntax.

### Fixes

- Fixed bug in 'user alias ... translate to' expression.
- Fixed bug on OpenLogicalChannelAck dupe.
- Fixed bug in RADIUS authentication in call mode.
- Fixed bug in RADIUS accounting in H235 mode. Thanks to Krasiyan Andreev.
- Fixed bug in Gatekeeper Monitor search action.

## Version 1.14

### New features

- Added ability to set cost for individual aliases. See 'user alias' expression for details.
- Added extended text information over reject messages.

### Fixes

- Fixed bug in regular expressions parser.

## Version 1.15

### New features

- Hot configuration reload for commercial version. Configuration can be realoaded by monitor utility and by SIGUSR1 signal under Unixes.
- Restart by SIGUSR2 under Unixes.
- Gatekeeper now analyses and sends RIP (RequestInProgress) message.
- Added H.225 partyNumber support.
- log [direction] monitor messages <bool> expression for your curiosity.

### Changes

- Monitor protocol redesigned.
- Configuration error line number reported to eventlog.

### Fixes

- Fixed bug in RADIUS queue.
- Fixed bug in RRQ processor. Thanks to Krasiyan Andreev.
- Fixed bug to pass LRQ to not registered link.
- Fixed bug in 'alias ... translate to ...' expression.
- Fixed connection hang on unestablished H.245 channel.
- Fixed connection break on unestablished H.245 channel.
- Fix for registration on remote gatekeeper.

## Version 1.16

### New features

- Monitor protocol configuration data encryption.

### Fixes

- Fixed bug in explorer window of gatekeeper monitor utility.
- Fixed bug (hang) in monitor module.

## Version 1.17

### New features

- New 'monitor' configuration complex expression. Refer "Configuration file syntax" chapter for details.

### Changes

- Removed usage of '.psw' file. You can safely remove that file from your system.
- Unix version of gatekeeper linked with dynamic libraries instead of static.

### Fixes

- Fixed regular expression bug.
- Fixed monitor client bug which prevents to download configuration data.

## Version 1.18

### New features

- Variables. See new 'make' expression for details.
- New 'user display' expression to change user's Q.931 display value.
- Failed calls reporting by 'aaa log failed calls'.
- Endpoint alias mapping support. Both, gatekeeper and gatekeeper link sides.
- New 'user connection dupe' expression. To allow endpoint make calls with duplicate call identifier value.
- Disconnect cause added to CDR file and RADIUS.
- Call duration added to CDR file record.

### Changes

- Finetuning over RTP port occupation. Also solves Cisco bug on media channel reopening.
- SourceCallSignalAddress updated now in Q.931 Setup message.
- Accounting file switched to GMT.

### Fixes

- Fix for fall on unanswered AdmissionRequest message.
- Fix for fall on remote gatekeeper link unregistration.
- Fix for passthrough H.235 info update.
- Fix for fall on empty callee alias in AdmissionRequest resolver.

## Version 1.19

### Fixes

- Fix for fall on Q.931 ReleaseComplete message without H323-UserInformation.
- Fix for 'set ... add' expression bug on configuration reload.
- Fix for endpoints change notification in monitor on configuration reload.
- Missing keywords added to monitor highlighting editor.

## Version 1.20

### New features

- Call hunting ! Set desired hunting level for caller by 'hunt level' expression.
- RAS port configuration by 'system RAS port' expression.
- Cause value added to Q.931 ReleaseComplete messages issued by gatekeeper.
- AAA timezone configuration by 'aaa time zone' expressions.

### Changes

- Added 'at' directive to 'make ... alias' expression.
- Real addresses used now in accounting procedures, instead of that user registered by RRQ or that statically configured.
- Multiple aliases can be registered now by 'register alias' expression.

### Fixes

- Fixed 'make' expression bug that caused root variable overwrite.
- Fix for RADIUS Acct-Input-Octets and Acct-Output-Octets fields.

## Version 1.21

### New features

- AMD64 FreeBSD version available.

### Fixes

- Fixed fall over call hunt procedure.

## Version 1.22

### New features

- Alternate gatekeepers support over endpoints and gatekeeper links. See 'alternate gatekeeper' and 'link alternate gatekeeper' expression for details.

### Changes

- Completely redesigned RIP sending mechanism.
- 'register alias' directive does not affect H.235 authentication name now. Use new 'link h235 name expression' for it.
- 'register password' expression changed to 'link h235 password'. Also, use new 'link h235 authentication' directive to turn H.235 link authentication on and off.
- 'group' complex expression can contain gatekeeper expressions now.

### Fixes

- Fixed bug on variable creation from incoming caller alias.
- Restored lost functionality to call over unregistered (no 'register alias' sub-expression) gatekeeper link.
- Added missing, non optional fields, to RRQ and RCF messages.