forked from willamowius/gnugk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changes.txt
2082 lines (1979 loc) · 119 KB
/
changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Changes from 5.11 to 5.12
=========================
- new switch [EP::xxx] ForceDirectMode=1 to handle all calls from this endpoint in direct mode
- BUGFIX(RasSrv.cxx, gkauth.cxx) make sure time_t is handled unsigned to avoid Y2K38 issue
- BUGFIX(ProxyChannel.cxx) check for too small packets when acting as encryption proxy
Changes from 5.10 to 5.11
=========================
- fix bug with H.245 address and UDP source when using ExternalIP= switch
- remove non-working command line switch -e / --externalip, use config file to set ExternalIP
- new accounting variables %{registrations}, %{calls}, %{total-calls}, %{successful-calls}, %{allocated-bandwidth}
- new switch [HttpAcct] Authorization= to send authorization headers to support InfluxDB
- replace \r and \n in HttpAcct body with carriage return and line feed characters
- BUGFIX(Toolkit.cxx) fix tracing of port notifications
- new switch: [RasSrv::LRQFeatures] PreserveDestination=1 (helpful when calling Pexip servers)
Changes from 5.9 to 5.10
========================
- BUGFIX(Neighbor.cxx, neighbors.sgml) fix documentation of [RasSrv::LRQFeatures] NeighborTimeout
and consistently treat the value as 10th of a second
- fix crash when handling MSD
Changes from 5.8 to 5.9
=======================
- attempt error recovery if multiplexed RTP sending fails (experimental)
- new switches [Proxy] CachePortDetection=1 and CachePortDetectionDuration= to cache port
detection packets when IgnoreSignaledIPs= is active
- Radius support is disabled by default now
- new place holder for port notifications: %t for port type
- BUGFIX(ProxyChannel.cxx) fix bug in port detection with AllowSignaledIPsFrom=
- new switch: [EP::] ForceTerminalType=
- BUGFIX(ProxyChannel.cxx) remove RTP session 0 from internal tables once H.245 master has assigned a session ID
- BUGFIX(ProxyChannel.cxx) fix compilation of Avaya support
- BUGFIX(yasocket.cxx) initialized cmsg struct to zero before using
- BUGFIX(Routing.cxx) when DNS name resolves to IP without alias, remove alias from ACF completely (Cisco interop)
- BUGFIX(ProxyChannel.cxx) fix regression introduced with MatchH239SessionsByIDOnly= switch
Changes from 5.7 to 5.8
=======================
- BUGFIX(ProxyChannel.cxx) fix media loop on half port-detected channel when media is very early
- new switches to set the HTTP Content-Type header: [HttpAcct] ContentType=, [HttpPasswordAuth] ContentType=
and [Routing::Http] ContentType=
- new switch [Proxy] AllowAnyRTPSourcePortForH239From= to handle incorrect RTCP addresses in H.239 OLC (EdgeProtect interop)
- new switch [RoutedMode] MatchH239SessionsByIDOnly= to never attempt to match a H.239 reverse channel by type
for improved interoperability with EdgeProtect
- BUGFIX(ProxyChannel.cxx) save RTCP address from OLC for port-detection
- new switch [Proxy] AllowSignaledIPsFrom= to skip auto-detect for messages received directly
from certain IPs when IgnoreSignaledIPs=1
- BUGFIX(snmp.cxx) fix Net-SNMP query for total bandwidth
- new switch [Routing::Http] JSONResponse=1 to send more flexible routing data in the HTML reponses
- support for Avaya's non-standard version of H.323 (./configure --enable-avaya) (thanks Konstantin Prokazov)
- many new status port shortcuts (see manual section)
- consider RFC 6598 shared network space (100.64.0.0/10) and Zeroconf (169.254.0.0/16) as private IPs
- BUGFIX(ProxyChannel.cxx) always check AllowSignaledIPs= before applying
IgnoreSignaledAllH239IPs or IgnoreSignaledPrivateH239IPs
- BUGFIX(ProxyChannel.cxx) fix race condition when handling H.460.19 multiplex IDs
- BUGFIX(ProxyChannel.cxx) handle extensions and CSRC in RTP header with H.235 half-call media
- BUGFIX(ProxyChannel.cxx) fix H.460.18/.19 on multi-homed servers
- BUGFIX(job.cxx) better endpointIDs on Windows when compiling without OpenSSL
Changes from 5.6 to 5.7
=======================
- BUGFIX(ProxyChannel.cxx) fix crash on non-standard H.245 Indication from
Polycom RealPresence Capture Server
- BUGFIX(ProxyChannel.cxx) fix possible crashes on non-standard generic information in OLCs
- print warning message on status port when passwords get rejected due to wrong time
- BUGFIX(httpacct.cxx) fix memory leak
- BUGFIX(ProxyChannel.cxx) fix possible crash
- BUGFIX(gk.cxx) avoid crash when terminating in the middle of program startup,
set non-zero exit code so restarter notices error
- return unused memory back to OS periodically
- new switch: [RoutedMode] AbortOnInvalidTPKT=0 for more graceful handling of network errors
- BUGFIX(gk.cxx) fix for running on Alpine Linux (needs updated PTLib, too)
- don't start GnuGk if RTP multiplexing is configured, but we can't start the listener
- new switch: [RoutedMode] MatchH239SessionsByType=0 to fix presentations with
LifeSize endpoints over Poly's Microsoft Teams gateway
- BUGFIX(ProxyChannel.cxx) make sure we don't set RTP address on multiplexed RTCP keepalive
- BUGFIX(RasSrv.cxx) look at all tokens for H.235.TSSM
- add %{Vendor} variable for SqlAuth RegQuery and LuaAuth
Changes from 5.5 to 5.6
=======================
- new switch: [Routing::SRV] ConvertURLs=1 to convert URL_IDs into H323_IDs
- BUGFIX(ProxyChannel.cxx) fix RTP multiplexing and H.460.26 when ForwardOnFacility is used
- BUGFIX(ProxyChannel.cxx) remove H.460.19 feature from Setup when using ForwardOnFacility=1
- new switch: [Gatekeeper::Main] GrantAllBRQ=1 to accept any BRQ, even if the conferenceID is invalid
Changes from 5.4 to 5.5
=======================
- BUGFIX(Neighbor.cxx) select correct source IP for neighbor pings
- new feature GnuGkAssignedGatekeeper to push endpoints back to their intended home gatekeepers
- BUGFIX(RasSrv.h) set altGKisPermanent=true when redirecting endpoints
- BUGFIX(RasSrv.cxx) fix RRJ to include alternates when RedirectGK=Endpoints limit is reached
- manual translated into Simplified Chinese by Zhang Tao
- BUGFIX(ProxyChannel.cxx) fix reading of AllowSignaledIPs= switch
- new switch [Proxy] IgnoreSignaledPublicH239IPsFrom=x.x.x.x to ignore public H.239 IPs/ports
from certain IP ranges
- new switch [Proxy] IgnoreSignaledAllH239IPs=1 to ignore all public H.239 IPs/ports in
signaling (use pure port detection)
- BUGFIX(GkStatus.cxx) support new PBKDF2 password hashes for ssh logins to the status port
- BUGFIX(gk.cxx) don't complain about [Neighbor::xxx] SendAliases switch when using --strict
Changes from 5.3 to 5.4
=======================
- new module: MQTTAcct - send accounting to MQTT server
- support redis as database
- BUGFIX(snmp.cxx) fix GET-NEXT in PTLib-SNMP (for snmpwalk)
- BUGFIX(RasSrv.*) fix sending alternate gatekeeper list to endpoints with assigned gatekeeper
- BUGFIX(GkClient.cxx) improve DRQ from child gatekeeper
- BUGFIX(GkClient.cxx) fix TLS with neighbor gatekeeper
- BUGFIX(Toolkit.cxx) read EnableIPv6 switch earlier during startup
- BUGFIX(ProxyChannel.cxx) fix H.245 tunneling translation with H.460.18 endpoints
Changes from 5.2 to 5.3
=======================
- BUGFIX(ProxyChannel.cxx) don't send H.245 address to tunneling H.460.18 endpoint, breaks call when H.245 multiplexing
- performance optimization: 5% faster UDP handling
- changed default: [SNMP] Implementation=PTlib
- remove unfinished Windows-SNMP implementation, use PTLib-SNMP on Windows
- support SET and GET-NEXT in PTLib-SNMP
- support SNMP sysUpTime when running as standalone agent
- BUGFIX(configure.in) LARGE_FDSET defaults to off
- new SNMP OID 1.3.6.1.4.1.27938.11.1.9 to query total bandwidth allocated to ongoing calls
- BUGFIX(ProxyChannel.cxx) fix hangup when making many TLS calls quickly one after another
- BUGFIX(RasSrv.cxx) don't require H.460.22 parameters in ARQs
- BUGFIX(ProxyChannel.cxx) fix TLS without LARGE_FDSET
- BUGFIX(ProxyChannel.cxx) don't send H.460.22 priority field in SCI
- BUGFIX(gkauth.cxx) free memory from cached and expired passwords
- re-authenticate lightweight, additive registrations only when new aliases differ
- remove switch [Proxy]DisableRTPQueueing, always disabled now
- new routing policy: http with config section [Routing::Http]
- BUGFIX(ProxyChannel.cxx) fix H.460.18 on multi-homed servers (SCI comes from the correct IP now)
- new switch to disable SNMP traps [SNMP] EnableTraps=0
- BUGFIX(ProxyChannel.cxx) don't throw SNMP trap on H.245 connection errors (causes crash under load with Net-SNMP)
- BUGFIX(snmp.cxx) shutdown GnuGk when SNMP agent can't be started
- BUGFIX(snmp.cxx) protect NetSNMP library calls with mutex
- changed default: ForwardResponse now defaults to 1 in [RasSrv::LRQFeatures] and [Neighbor::...]
- new feature: loop detection for LRQs [RasSrv::LRQFeatures] LoopDetection=1
- BUGFIX(Neighbor.cxx) some settings in [RasSrv::LRQFeatures] were ignored if not set in [Neighbor::...]
Changes from 5.1 to 5.2
=======================
- BUGFIX(gkauth.h) fix memory leak in H.235 password auth
- BUGFIX(gkacct.cxx) set known, but unavailable accounting parameters to empty string
- support running LUA scripts that require dynamic libraries
- change default for [TLS] CipherList= to allow elliptical curve ciphers
- ExternalIP is automatically added to the default domains
- BUGFIX(ProxyChannel.cxx) fix setting UDP source IP on Windows when compiled for Vista or higher
- re-implement LARGE_FDSET using poll(), enable with configure option --enable-large-fdset
Changes from 5.0 to 5.1
=======================
- use SCI/SCR between H.460.18 neighbors to update ping status
- BUGFIX(Neighbor.cxx) allow ommitting Host= switch in Neighbor section for H.460.18 clients
- BUGFIX(ProxyChannel.cxx) fix sending of queued H.245 messages
- BUGFIX(gkauth.cxx) don't check tokens for disabled authenticators (Lifesize Icon interop)
- BUGFIX(RasTbl.cxx) update RAS port when NAT mapping for H.460.18 endpoint changes
- use regular RTP for H.460.19 port detection, too (Yealink Mobile interop)
- BUGFIX(ProxyChannel.cxx) set H.245 address in Connect and Facility(startH245) even when
a H.460.18 client doesn't send one (Scopia VC240 interop)
- re-check config on reload and also send error messages to status port
- BUGFIX(ProxyChannel.cxx) fix H.245 tunneling translation with H.460.18 endpoints
- support for H.245 multiplexing with H.460.18: [RoutedMode] EnableH245Multiplexing=1, H245MultiplexPort=1722
- BUGFIX(ProxyChannel.cxx) always send genericIndication to traversal server gatekeeper
- BUGFIX(ProxyChannel.cxx) don't include 'bearer service changed' in keep-alive Notify
- BUGFIX(ProxyChannel.cxx) fix building Status and StatusInquiry keep-alives
- BUGFIX(configure.in) fix check for librabbitmq
- BUGFIX(ProxyChannel.cxx) Solaris 11 compile fix
- BUGFIX(ProxyChannel.cxx) better OLC sessionType matching (fix for Yealink H.239)
- BUGFIX(Toolkit.cxx) fix handling aliases of type email_ID
- new accounting event MediaFail
- new switch: [Proxy] PortDetectionTimeout=n
- public IP detection for Google Cloud
Changes from 4.9 to 5.0
=======================
- 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
Changes from 4.8 to 4.9
=======================
- BUGFIX(RasSrv.cxx) fix crash in some Avaya endpoints when receiving GCF with a gatekeeperIdentifier
- extend GeoIPAuth to support all RAS and all Q.931 messages
- support GeoIP2 databases (using libmaxminddb) for GeoIPAuth
- BUGFIX(ProxyChannel.cxx) fix crash while handling RTP packets
- new accounting module: AMQPAcct
- new accounting module: HttpAcct
- new accounting event 'reject' for calls rejected with ARJ
- many new accounting placeholders
- BUGFIX(RasTbl.cxx) fix disconnecting unregistered endpoints
- RTP inactivity checking
- BUGFIX(RasSrv.cxx) fix crash when using IPv6
- BUGFIX(ProxyChannel.cxx) fix handling of CloseLogicalChannel
Changes from 4.7 to 4.8
=======================
- new switch: [LogFile] DeleteOnRotation=1 to delete the old logfile when rotating instead of renaming it
- support https in HttpPasswordAuth
- PrintAllRegistrationsVerbose now also shows the endpoint vendor
- allow placeholder %{env1}, %{env2} and %{env3} in HttpPasswordAuth
- new status port command: MaintenanceMode
- new status port command: PrintCallInfo
- allow placeholder %{gkip} and %{external-ip} in [LogFile] Filename=
- fetch AWS public/elastic IP if ExternalIP=AWSPublicIP
- new commandline switch: -e / --externalip
- BUGFIX(ProxyChannel.cxx) fix bugs in H.460.19 RTP multiplexing
- new default: [RoutedMode] H460KeepAliveMethodH225=EmptyFacility for Cisco interop
- new setting "None" for keep-alive methods
- extend status port command RouteReject to set reject reason
- extend status port commands RouteToAlias, RouteToGateway etc. to set display IE for calling and called
- delete DisplayIE when [RoutedMode] ScreenDisplayIE=Delete
- extend parameters for HttpPasswordAuth
- new switches: [RoutedMode] AppendToCallingPartyNumberIE= / PrependToCallingPartyNumberIE=
to add any string before or after the calling party number IE when
ScreenCallingPartyNumberIE=RegisteredAlias
- when [RoutedMode] ScreenCallingPartyNumberIE= is set to RegisteredAlias, GnuGk
sets calling party number IE to the registered alias (forced screening)
- BUGFIX(ProxyChannel.cxx) don't send H.460 keep-alive to non-H.460 party when calling H.460 party
- BUGFIX(Routing.cxx) show called port in RouteRequests (as documented)
- default for [RoutedMode] GnuGkTcpKeepAliveMethodH225= is now EmptyFacility
- BUGFIX(GkClient.*) fix password authentication with parent
- new switch [Endpoint] Authenicators=
- sort feature markers in version banner
- BUGFIX(Routing.cxx) remove semicolon and pipe chars from vendor string in RouteRequests
- better handling of IPv6 GRQ without RAS address
- BUGFIX(ProxyChannel.cxx) turn off encryption proxy if DH key is negotiated, but TCS
doesn't contain any H.235 entries
- BUGFIX(ProxyChannel.cxx) fix running in proxy mode on FreeBSD when one Home IP is set
- BUGFIX(ProxyChannel.cxx) fix DisableSettingUDPSourceIP=1 for Windows, NetBSD, OpenBSD and Solaris
- BUGFIX(yasocket.cxx) fix LARGE_FDSET for NetBSD, OpenBSD and Solaris
Changes from 4.6 to 4.7
=======================
- BUGFIX(ProxyChannel.cxx) better initialization of sendmsg() structs
- new commandline option: now you can use -S instead of --strict (useful on BSD systems)
- BUGFIX(ProxyChannel.cxx) replace @ip or ip## from aliases when using RedirectCallsToGkIP
- 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
Changes from 4.5 to 4.6
=======================
- new switch: [RoutedMode] RedirectCallsToGkIP=1
- new switches: [RoutedMode] H460KeepAliveMethodH225=, H460KeepAliveMethodH245=,
GnuGkTcpKeepAliveMethodH225=, GnuGkTcpKeepAliveMethodH245=
- BUGFIX(ProxyChannel.cxx) TCP keep-alives for H.460.18 calls weren't always enabled correctly
- don't open a status port listener if [Gatekeeper::Main] StatusPort=0
- BUGFIX(Toolkit.cxx) remove trailing chars before checking for DefaultDomain
- add callID to H.245 trace messages for easier debugging
- BUGFIX(ProxyChannel.cxx) forward ReleaseComplete from remaining party while doing call reroute
- BUGFIX(ProxyChannel.cxx) drop un-en/decryptable RTP packets at end of call when adding encryption
- new status port command: UnregisterEP <ep-id>
- BUGFIX(RasSrv.cxx) remove IPv6 addresses before processing RRQs when IPv6 is not enabled
- send Facility message as as non-H.460.18 keep-alive for H.225
- send non-standard H.245 userIndication as non-H.460.18 keep-alive for H.245
- new switch [RoutedMode] DisableGnuGkH245TcpKeepAlive=1
- new switch [LogFile] TraceToSyslog=1 to send trace output to syslog (Unix only)
- BUGFIX(ProxyChannel.cxx) fix port detection for re-opened channels with IgnoreSignaledIPs=1
- new switch [CTI::MakeCall] Bandwidth= to set the maximum bandwidth for the call
- new switch [RasSrv::ARQFeatures] LeastUsedRouting=1 to select the least used gateway
- new authentication module TwoAliasAuth
Changes from 4.4 to 4.5
=======================
- new switch [CallTable] SetCalledStationIdToDialedIP=1
- 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 shortcut 'rl' for status port command 'rotatelog'
- 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
Changes from 4.3 to 4.4
=======================
- [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 RealPresense 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 explicitly
Changes from 4.2 to 4.3
=======================
- 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
Changes from 4.1 to 4.2
=======================
- BUGFIX(ProxyChannel.cxx) fix H.239 forwarding issue in call where only one side uses H.460.19
- BUGFIX(configure.in) make sure LUA test fails for versions below 5.2
- BUGFIX(gkh235.cxx) small fix with password auth
- BUGFIX(ProxyChannel.cxx) apply codec filtering also to receiveAndTransmit capabilities
- BUGFIX(ProxyChannel.cxx) fix crash in RTP multiplexing
- BUGFIX(ProxyChannel.cxx) fix crash when using H.245 tunneling translation
- BUGFIX(gk.cxx) fix shutdown on NetBSD 7
- BUGFIX(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
- BUGFIX(ProxyChannel.cxx) fix crash in call cleanup
- support ON and OFF event in LuaAcct
- BUGFIX(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
Changes from 4.0 to 4.1
=======================
- 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
changeable 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
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 auto-detect for network when IgnoreSignaledIPs=1
Changes from 3.8 to 3.9
=======================
- new default for [RasSrv::LRQFeatures] PingAlias= is now 'gatekeeper-monitoring-check'
- neighbor monitoring with LRQ pings [RasSrv::LRQFeatures] SendLRQPing=1
- BUGFIX(Neighbor.cxx) use 64bit numbers for SendAliases= ranges
- additional field in RouteRequest event: IP:port where message was received from
- new switch [Proxy] IgnoreSignaledPrivateH239IPs=1 to do port auto detection for H.239, too
- new switch [Proxy] IgnoreSignaledIPs=1 to do 100% port auto detection
- new status port commands: RouteToInternalGateway and BindAndRouteToInternalGateway
- BUGFIX(ProxyChannel.cxx) fix algorithm lookup for encryption added by GnuGk
- new switch [RoutedMode] H235HalfCallDHParamFile=
- authentication by ip location: GeoIPAuth
- BUGFIX(gkauth.cxx, GkClient.cxx) fix crash
- new switches to set DiffServ class for RAS, H.225 and H.245 messages: [Gatekeeper::Main] RASDiffServ=,
[RoutedMode] H225DiffServ=, [RoutedMode] H245DiffServ= (based on patch provided by Vidyo)
- BUGFIX(ProxyChannel.cxx) fix crash with unregistered calls
- new accounting variable %{sinfo-ip}
- support H.235.TSSM (H.235 time sync)
- provide sourceAddress from Setup as %{SrcInfo} in SQLAuth CallQuery
- new switches: [Gatekeer::Main] StatusSendBufferSize=, StatusReceiveBufferSize=
- new feature: status port event back log
Changes from 3.7 to 3.8
=======================
- BUGFIX(GkSTatus.cxx) fix crash in shutdown during Reload
- allow codec filtering for whole capability classes, eg. DisabledCodecs=receiveVideoCapability
- BUGFIX(lua.cxx) fix crash in 'lua' routing policy
- BUGFIX(RasTbl.cxx) fix [EP::] ForceGateway= to work with permanent endpoints
- make [Gatekeeper::Main] Authenticators= switch case insensitive
- addpasswd encodes password, even if the config section didn't exist before
- FileIPAuth now supports checking ARQs
- new switch [Gatekeeper::Main] MinH323Version=
- BUGFIX(RasTbl.cxx) stop generating predictable endpoint IDs
- new switch [RasSrv::ARQFeatures] CheckSenderIP=1
- new SQLAuth variable %{SrcInfo}
- BUGFIX(gkauth.cxx,Neighbor.cxx) use OpenSSL for cryptographically relevant random numbers
- BUGFIX(RasTbl.cxx) only apply [EP::] AddNumbers= if the endpoint doesn't have the number already
- BUGFIX(RasTbl.cxx) fix error message for permanent gateways on config reload
- BUGFIX(Routing.cxx) CatchAll policy now rewrites the destination alias to the CatchAll alias
- new authentication modules using LUA scripts: LuaAuth
- BUGFIX(gkauth.cxx) ignore port in AliasAuth rules when endpoint is using H.460.18
- extend PrefixAuth to support unregistered calls
Changes from 3.6 to 3.7
=======================
- BUGFIX(Neighbor.cxx) fix outbound rules for GWRewriteE164 with neighbors
- BUGFIX(RasSrv.cxx) fix crash on shutdown
- BUGFIX(gkauth.cxx) for password auth look at correct src or dest info
- new status port command: "debug cfg all" to print the full configuration
- allow Comment= in all sections
- stub code to fake support for Avaya 2.16.840.1.114187.1.3 authentication (disabled)
- 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
Changes from 3.5 to 3.6
=======================
- support Polycom's domain##alias addressing in DNS policy
- BUGFIX(ProxyChannel.cxx) fix memory leak on TLS errors
- new command line switch: --strict (don't start with config errors)
- allow SendTo= without AlternateGKs= switch
- new switch [EP::...] ForceGateway=1 to treat an endpoint as a gateway
- new switch [EP::...] AddCallingPartyToSourceAddress=1
- new switch [EP::...] DisableCallCreditCapabilities=1
- BUGFIX(RasTbl.cxx) use 64bit numbers for AddNumbers= ranges
- BUGFIX(RasSrv.cxx) fill destCallSignallAddress in answer ACF in direct mode
- new routing policy [Routing::URIService] to define service specific URI routing policy.
- BUGFIX(RasSrv.cxx) fix callSignalPort in LCF when H.460.22 is enabled
- support libssh 0.6.x
- BUGFIX(ProxyChannel.cxx) read ProxyHandlerHighPrio switch earlier
- verify the correct payloadType on H.460.19 keep-alive packets (disable with [Proxy] CheckH46019KeepAlivePT=0)
- BUGFIX(ProxyChannel.cxx) wait 4 sec before using regular RTP packets for H.460.19 port detection
- BUGFIX(gk.cxx) small fixes for MacOSX
Changes from 3.4 to 3.5
=======================
- BUGFIX(Routing.cxx) fix DNS policy to allow calls by IP:port to endpoint on same IP as gatekeeper
- new switch [TLS] RequireRemoteCertificate (when compiled with --enable-weaktls)
- support for challenge/response authentication using DES-ECB, eg. from Avaya endpoints
- replace H235HalfCallMediaStrength= switch with H235HalfCallMaxTokenLength= switch
- changed default call signaling port from 1721 to 1720
- BUGFIX(ProxyChannel.cxx) offer H.245 tunneling for H.460.18 calls when translation switch is on
- new switch [RoutedMode] ProxyHandlerHighPrio=0 to avoid setting the proxy handler to high priority
- BUGFIX(ProxyChannel.cxx) fix use of RTP multiplex port for non-multiplexing calls
- print number of proxied calls and peak number of calls in statistics on status port
- BUGFIX(yasocket.h) fix TLS with LARGE_FDSET
- disable use of SHA1 by default
- new switch [RoutedMode] H46023ForceNat
- BUGFIX(ProxyChannel.cxx) fix RTCP forwarding with EnableRTCPStats=1
- BUGFIX(ProxyChannel.cxx) fix race condition in call failover
- BUGFIX(GkStatus.cxx) disable ssh compression to avoid libssh bug, fix memleak, implement cmdline command execution
- new command line switch -mlock to prevent GnuGk from being swapped out
- BUGFIX(RasSrv.cxx) fix port detection for traversal clients
- more detailed codec descriptions in %{codec} and Radius attribute
- process multiple terminal-alias VSA from Radius
- extend [GkStatus::Message] for URQ (Thanks, Yuriy!)
- new switch [RewriteSourceAddress] TreatNumberURIDialedDigits
- new section [ModeVendorSelection] to set proxy mode based on endpoint vendor
- BUGFIX(Neighbor.cxx) fix H.460 VendorInfo in LCF without TLS or NAT Support
- implement H.460.22
- 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(RasTbl.h) fix translation of 2nd CallProceeding to unregistered endpoint
- BUGFIX(ProxyChannel.cxx) don't send a ReleaseComplete for Status messages outside of calls
- language based routing (H.323v8)
- BUGFIX(ProxyChannel.cxx) use Facility with reason transportedInformation for
H.245 tunneling translation for H.225 version >= 4
- new switch [RoutedMode] FilterEmptyFacility= (Avaya interop)
- new switch [TLS] CipherList=
Changes from 3.3 to 3.4
=======================
- set RTP source IP on OS that support it (Linux, FreeBSD, Win Vista+)
- allow "0.0.0.0/0" in ModeSelection and ExplicitRoutes= (auto-converted to 0.0.0.0/1 + 128.0.0.0/1)
- new switch [Gatekeeper::Main] MaxSocketQueue=
- setting on/off config switches to y/n or a/? is now depreciated, use 1/0
- new routing policy 'ldap'
- new authentication modules: LDAPAliasAuth and LDAPPasswordAuth
- allow non-gateways to use additive registration, fix H.460.x support, now always enabled
- BUGFIX(ProxyChannel.cxx) fix DisableH245Tunneling= switch
- automatically update H.235.6 media key when too many packets have been encrypted
- implement H.460.26
- BUGFIX(ProxyChannel.*) forward ReleaseComplete for H.460.17 endpoints
- BUGFIX(ProxyChannel.cxx) don't throw SNMP trap for PTLib error code NoError
- implement TLS support to encrypt call signaling channel
- access to the SSH status port can be restricted by additional IP rules in [GkStatus::Auth]
- implement H.235 media encryption of data channels
- BUGFIX(GkStatus.h) fix integer underflow in status port
- BUGFIX(ProxyChannel.cxx) fix %{media-oip} with encrypted calls
- BUGFIX(ProxyChannel.cxx) fix codec filtering with encrypted calls
- new accounting variables %{caller-vendor} and %{callee-vendor}
- BUGFIX(Toolkit.cxx) fix crash in 10D rewriting
- new feature: send post dial digits after call connects
- BUGFIX(snmp.cxx) clean shutdown of Net-SNMP agent
- BUGFIX(ProxyChannel.cxx) fix master assigned RTP session IDs and encrypted H.239
channels using RTP multiplexing
- BUGFIX(gk.cxx) fix checking of EP::, Neighbor:: and Routing:: sections
- updated H.460.23 STUN to support _stun._udp SRV records
Changes from 3.2 to 3.3
=======================
- implement H.460.18/.19 for parent/child gatekeepers
- updated H.460.23/.24 support to child gatekeeper
- support pre-granted ARQs: [RoutedMode] PregrantARQ=1
- SNMP traps with warnings are now disabled by default, re-enable with [SNMP] EnableWarningTraps=1
- new ./configure switches --disable-ptlibsnmp, --disable-winsnmp
- new switch [Proxy] RTPDiffServ= to set DiffServ DSCP for proxied RTP, TCLASS is set for IPv6 packets
- new [RewriteCLI::SQL] feature
- new [Routing::NeighborSQL] policy to read Neighbor targets from database
- updated [CallTable] DisabledCodecs to include UserInput Capabilities
- update Presence system. Reduce registration load, PDU size and UDP fragmentation
- new [GkStatus::Message] to allow reformatting of status port messages (RRQ only)
- new [RasSrv::LRQFeatures] PingAlias= to reduce resource usage processing LRQ pings
- new [RewriteSourceAddress] Rules to apply general CallSourceAddress prefix rewrites
- new [RewriteSourceAddress] ReplaceChar to substitute characters in source address like '+'
- new [RewriteSourceAddress] ForceAliasType for change address to different AliasType
- new [RewriteSourceAddress] MatchSourceTypeToDestination for filtering source addresses to match destination address type
- new [SQLConfig] NeighborsQuery2= for loading neighbors from database in new style format
- new [RasSrv::RRQFeatures] AuthenticatedAliasesOnly to strip out any aliases that are not authenticated
- new [RasSvr::RRQFeatures] GatewayAssignAliases switch to disable assigning aliases to gateways on registration
- BUGFIX(gksql_*) fix SQL character quoting for SQLite, ODBC and Firebird
- BUGFIX(ProxyChannel.cxx) add missing h245Tunneling element in tunneling translation
- BUGFIX(gk.cxx) fix --core switch
- BUGFIX(Toolkit.cxx) loop detection in AssignedGatekeeper
- BUGFIX(RasSrv.h) ensure alternate gatekeepers can be read from database on GRJ and RRJ
- BUGFIX(ProxyChannel.cxx) make sure H.460.19 keepalive PT doesn't conflict with encryption PT (VCS bug)
- BUGFIX(ProxyChannel.cxx) fix multiplexing to VCS traversal server
- BUGFIX(ProxyChannel.cxx) don't loose H.245 port on NATed calls
- BUGFIX(GkClient.cxx) send valid vendor information in lightweight RRQs to parent
- BUGFIX(Neighbor.cxx) add crypto token to forwarded LRQs
- BUGFIX(Routing.cxx) add gateway support to CatchAll routing policy
- BUGFIX(Routing.cxx) return route in ENUM policy if destination is an A record with valid TransportAddress
- BUGFIX(Toolkit.cxx) ignore routes with source IPs we don't listen to
- BUGFIX(RasSrv.cxx) fix mem leak in H.460.17
- BUGFIX(snmp.cxx) don't accidentally start SNMP server when stopping gatekeeper
- BUGFIX(h323util.cxx) remove "h323:" prefix when comparing URL_IDs
- BUGFIX(RasTbl.cxx) disable SO_LINGER before LARGE_FDSET TCP Close() so it doesn't wait
Changes from 3.1 to 3.2
=======================
- BUGFIX(Toolkit.cxx) remove duplicates from Home IPs
- new [Gatekeeper::Main] TTLExpireDropCall switch to prevent calls being dropped due to registration timeout
- added AssignedGatekeeper support to child gatekeeper
- BUGFIX(GkClient.cxx) ensure HideGk also applies on GRQ messages
- new [Routing::Sql] EnableRegexRewrite switch to support basic regex rewrite in SQL queries
- BUGFIX(ProxyChannel.cxx) always close RTP sockets before marking them deletable
- BUGFIX(ProxyChannel.cxx) clean up H.245 handler after H.460.17 calls
- BUGFIX(ProxyChannel.cxx) fix tracing of RTP sequence numbers
- BUGFIX(ProxyChannel.cxx) set call pointer in UDP socket to NULL when closing the call
- BUGFIX(RasTbl.cxx) avoid sending a 2nd call onto a H.460.17 connection
- BUGFIX(neighbor.cxx) explicitly check the H.460.24 featureID in the LCF
- BUGFIX(job.cxx) delete unused worker threads after 2 minutes idle time instead of 10 min
- BUGFIX(gk.cxx) work around bug in PTLib 2.10.x where housekeeping thread isn't started causing a handle leak
- BUGFIX(Neighbor.cxx) don't try to proxy calls if gatekeeper in direct mode
- BUGFIX(Toolkit.cxx) IP addresses in [AlternateGateekeepers::SQL]
- new [Endpoint] EnableH46018 and EnableH46023 switches
- new Alias SQL variable "Additive-RRQ"
- support for additive registration for gateways. new switch [RasSrv::RRQFeatures] EnableAdditiveRegistration
- allow multiple instances of routing policies with different settings
(currently works for sql, enum, srv, dns, numberanalysis, lua, forwarding)
- BUGFIX(Toolkit.cxx) remove h323: prefix if DefaultDomain is set
- new switch [RoutedMode] RemoveH245AddressFromSetup=
- BUGFIX(ProxyChannel.cxx) fix RTCP port for multiplexed RTP in mixed-mode calls
- BUGFIX(ProxyChannel.cxx) process all tunneled H.245 messages before un-tunneling them
- improve speed of H.460.19 port detection (avoid reversing direction during detection)
- new ACF status item for media routing for calls
- BUGFIX(ProxyChannel.cxx) check for creating RTP loops when auto-detecting H.460.19 ports without keepAlive
- BUGFIX(RasSrv.cxx) fix H.460.24 3 min bug
- RTP_DEBUG messages now always present on trace level 7
- extend [RasSrv::PermanentEndpoints] to support vendor information on gateways
- BUGFIX(ProxyChannel.cxx) fix H.460.19 with H.460.17 endpoints
- BUGFIX(ProxyChannel.cxx) fix H.460.17 IPs in trace
- BUGFIX(RasSrv.cxx) relax check of sender ports for H.460.17 RRQs
- BUGFIX(ProxyChannel.cxx) don't create the multiplex RTP listener when not needed
- BUGFIX(ProxyChannel.cxx) fix update of H.245 tunneling flag in H.460.18 calls
- BUGFIX(ProxyChannel.cxx) request RTP multiplexing even when other call leg doesn't want mutiplexing
- BUGFIX(ProxyChannel.cxx) also remove outgoing H.235 tokens for IPs listed in H235RemoveCall=
- BUGFIX(GkClient.cxx) forward LRQ hopCount from child to parent
Changes from 3.0 to 3.1
=======================
- new switch [RoutedMode] Q931DecodingError= to specify handling of non-decodable messages
- new switch [Gatekeeper::Main] MaxStatusClients= to limit number of status port connections (default: 20)
- H.235 Media encryption/decryption support for a single leg of a call (EnableH235HalfCallMedia=1)
- BUGFIX(GkClient.cxx) include password in RRQ to parent
- new switches: [Endpoint] ProductId=, ProductVersion=, HideGk=
- new switch syntax [Endpoint] Vendor=<country>,<manufacturer>,<extension>
- support for connections with different H.245 tunneling settings on each call leg ([RoutedMode] H245TunnelingTranslation=1)
- new switch: [RoutedMode] DisableH245Tunneling=1
- increase packet buffer size from 1536 to 2048 bytes
- BUGFIX(GkClient.cxx) always send a valid vendorID in RRQ to parent
- removed command line switch -i, use Home= in config file instead
- BUGFIX(GkStatus.cxx) fix DEBUG SET for parameter values with spaces
- BUGFIX(ProxyChannel.cxx) fix possible crash accessing empty InputIndications
- BUGFIX(ProxyChannel.cxx) fix Answer parameter in GenericIndication to traversal server
- new switch [Proxy] ExplicitRoutes=
- SNMP support: [SNMP] EnableSNMP=1
- the DisabledCodecs setting doesn't have to have a trailing semicolon anymore
- only enable RTP multiplexing if both parties explicitly signal their support for it
- extend RemoveH235Call=1 to also remove clear and crypto tokens from
Connect or to set a list of network to remove the tokens from
- changed default: DisableRTPQueueing now defaults to 1
- BUGFIX(ProxyChannel.cxx) fix crash in RTP processing
- new switch [Gatekeeper::Main] EnableTTLRestrictions=0
- BUGFIX(ProxyChannel.cxx) fix port on Facility callForwarded
- BUGFIX(RasTbl.cxx) fix failover for calls terminated by gatekeeper
- BUGFIX(RasSrv.cxx) make sure H.460.23 is only active on ARQs when it is enabled
- BUGFIX(Neighbor.cxx) set traversal server IP in ACF for calls through traversal zone
- BUGFIX(ProxyChannel.cxx) fix H.239 between H.460.19 and regular endpoints
- BUGFIX(ProxyChannel.cxx) fix bug sending startH245 to H.460.18 server
- new switch [Neighbor::...] SendIPs=
- BUGFIX(Neighbor.cxx) fix crash in SRV and RDS lookups for unregistered calls, fix memleak in RDS
- new switch RemoveSorensonSourceInfo=1
- new routing policy 'forwarding' configured in [Routing::Forwarding]
- [AlternateGatekeepers::SQL] switch to query DB for alternate gatekeepers
- new OnQuery and OffQuery support (GK stop/start event) to SQLAcct
- H.460.17 support (needs H323Plus 1.24.1)
- BUGFIX(ProxyChannel.cxx) fix ForwardOnFacility for calls dialed by alias and by IP
- new config section [RewriteSourceAddress]
- BUGFIX(ProxyChannel.cxx) fix removal of H.460.23 feature
- new experimental routing policy 'lua' (needs PTLib 2.11.x)
- new switch [RadAliasAuth] EmptyUsername=
- BUGFIX(Routing.cxx) use same caller alias in RouteRequest and SQL routing as for accounting
- new switch [GkStatus::Filtering] NewRCFOnly=1
- BUGFIX(Routing.cxx) check if Setup contains sourceAddress before using it
- BUGFIX(ProxyChannel.cxx) fix H.239 where only one sides uses H.460.19
- signal H.460.9 as desired feature if QoS monitoring is enabled
- changed behavior of H.235 auth modules: allow call if one token matches, don't reject call
if first token is unknown
- BUGFIX(RasTbl.cxx) fix crash when handling IRRs
- BUGFIX(Neighbor.cxx) rewrite destination to alias part if we find a matching SRV CS records
Changes from 2.3.5 to 3.0
=========================
- BUGFIX(RasTbl.cxx) fix possibility of stale calls when using failover
- when using alias "-" in RouteToGateway, no destination alias will be set
- BUGFIX(gk.cxx) fix trace level if the trace file is in the config file and the trace level on the command line
- [Routing::Explicit] rules now allow IP destinations to be mapped to any kind of alias destination
- BUGFIX(gkauth.h,gkauth.cxx) don't check GRQ in password auth modules
- BUGFIX(RasSrv.cxx) fix crash if H.460.18 client sends only invalid RAS addresses in RRQ
- BUGFIX(Routing.cxx) the DNS policy didn't properly handle ports (eg. [email protected]:1720)
- rds policy now supports routing unregistered calls
- new switch [Routing::ENUM] ResolveLRQ=
- new switch [Routing::RDS] ResolveLRQ=
- new switch [Routing::SRV] ResolveNonLocalLRQ=
- TraceLevel switch in config now re-read on config reload
- new switch [GkStatus::Filtering] Enable=1
- new config section [PortNotifications] to run scripts whenever GnuGk opens or closes a port
and new status port command PrintCurrentCallsPorts
- H.235 Media encryption/decryption support for a single leg of a call (EnableH235HalfCallMedia=1) - doesn't work, yet
- stop accepting the old config format for [Gatekeeper::Main] AlternateGKs= (deprecated since 2.3.3)
- IPv4-IPv6 proxying
- IPv6 support
- massive performance improvement when (re-)loading large numbers of GW rewrites
- support for RTP multiplexing (with H.460.19)
- improved H.235 password authentication with neighbors
- support for gatekeeper to gatekeeper H.460.18/.19 (traversal zones)
- BUGFIX(ProxyChannel.cxx) fix H.239 where only one sides uses H.460.19
- BUGFIX(RasSrv.cxx) use correct callSignalAddress for H.460.18 enabled endpoint if H.460.18
has been disabled per endpoint
- BUGFIX(ProxyChannel.cxx) fix crash when handling a OLCA without mediaControlChannel
on a NATed connection
- always include destCallSignalAddress in Setup to avoid crash in Polycom m100
- BUGFIX(ProxyChannel.cxx) remove endpointIdentifier from Setup before forwarding
- new switch [Routed::H46023SignalGKRouted] to force all signaling to be Gatekeeper routed for H.460.23/.24
- added more interop support for Sorenson equipment
Changes from 2.3.4 to 2.3.5
===========================
- new switch [Routing::DNS] ResolveNonLocalLRQ=1 to configure if DNS policy resolves host names
in LRQs that don't terminate locally
- BUGFIX(ProxyChannel.cxx) silently drop GnuGk NAT message if endpoint is not NATed
- BUGFIX(ProxyChannel.cxx) make sure ReleaseComplete gets dropped if it doesn't belong to a call
- BUGFIX(ProxyChannel.cxx) strip Private: prefix from H.450.2 transfer destinations
- new switch [Gatekeeper::Main] MaxASNArraySize=
- BUGFIX(ProxyChannel.cxx) rewrite H.460.19 port detection logic
- BUGFIX(RasTbl.h) make sure H.460.18 registrations expire, even without global TimeToLive
- support GWRewriteE164 for neighbors by neighbor ID or neighbor GK-ID
- BUGFIX(Toolkit.cxx) fix PTLib assert when using empty string as regex
- actively reject Home=0.0.0.0
- enable stack protection and full RELRO on Linux
- new setting [RoutedMode] H46023PublicIP to allow Non-NAT endpoints provide NAT support (default=0).
- the config file is now checked for unrecognized entries and a warning is printed
- config switch Fortytwo=42 is now obsolete
- add encryption support (StartTLS) for H.350 (needs PTLib 2.11.x)
- BUGFIX(gnugk.rc) fix tray icon for Windows service
- BUGFIX(gkauth.cxx) remove newline from H.235 password from H.350 server
- BUGFIX(Toolkit.cxx) fix H.350 AssignedAliases and GatekeeperDiscovery
- BUGFIX(gksql_pqsql.cxx) use PQescapeStringConn() instead of PQescapeString()
- add the called IP as alternativeAliasAddress to a routeCallToGK Facility if none is provided
- BUGFIX(ProxyChannel.cxx) fix rare crash for H.460.18 calls
- support for SSH encryption of the status port connection
- BUGFIX(*.cxx) treat empty ExternalIP and NetworkInterfaces settings correctly
- BUGFIX(Toolkit.cxx) fix setting of the default IP, make sure its include in the
Home= setting, unless explicitly specified in Bind=
- BUGFIX(Routing.cxx) populate calledIP field in RouteRequests resulting from ARQs
- jitter values reported through Radius are now in msec (was codec dependent clock rate)
- new switches: [RasSrv::ARQFeatures] SendRIP=<delay> and [RasSrv::LRQFeatures] SendRIP=<delay>
- new status port command: PrintEndpointQoS
- use H.460.9 data in the same way as sniffed RTCP stats for status port and Radius reporting
- BUGFIX(RasSrv.cxx) fix handling of H.460.9 in ARQ/ACF, signal support in RCF
- BUGFIX(ProxyChannel.cxx) remove callDestSignalAddress from incoming Setup if its the
ExternalIP to avoid loops
- BUGFIX(RasSrv.cxx) don't include a callSignalAddress in RCFs in direct mode
- BUGFIX(RasSrv.cxx) fix bandwidth calculation
- enable failover to CatchAll endpoint
- enable failover for calls released by the gatekeeper (eg. timeouts)
Changes from 2.3.3 to 2.3.4
===========================
- convert 2nd CallProceeding even if the first was sent through the status port
- 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 management 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
Changes from 2.3.2 to 2.3.3
===========================
- 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 bandwidth management: calls that exceed the bandwidth limit
will be allowed with reduced bandwidth 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 emulator 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
Changes from 2.3.1 to 2.3.2
===========================
- 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 status port 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 successful
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
Changes from 2.3.0 to 2.3.1
===========================
- 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
Changes from 2.2.8 to 2.3.0
===========================
- codec filtering using [CallTable]DisabledCodecs= or Radius (based on a patch by Georgiewskiy Yuriy)
- H.460.18 and H.460.19 support
- BUGFIX(Routing.cxx) fix round-robin that broke in 2.2.8
- new switch [Gatekeeper::Main]DisconnectCallsOnShutdown=0 to avoid disconnecting calls on shutdown
- new switch: [Proxy] ProxyAlways=1
- new variable for sql routing: %{Calling-Station-Id}
- BUGFIX(RasTbl.cxx) fix pointer check in SingleGatekeeper()
- BUGFIX(RasSrv.h) fix memory leak in assignedGK code
- BUGFIX(ProxyChannel.cxx) only set CallInProgress on Alerting and Connect so a 3rd and following
routes can be tried on failover even when DisableRetryChecks is not set
- BUGFIX(ProxyChannel.cxx) make sure the DisableRetryChecks switch also covers the cases
where the remote side didn't accept the call (without a ReleaseComplete)
- new switch [SimplePasswordAuth]DisableAlgorithm= to disable H.235 algorithms
- re-enable H.235.1 (Annex D / Baseline Profile) when compiling against OpenH323 < 1.19.x or H323Plus
- BUGFIX(gkauth.cxx) fix CAT authentication when compiling against OpenH323 < 1.19.x or H323Plus
Changes from 2.2.7 to 2.2.8
===========================
- 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 long as DNS services are available
- global switches for TranslateReceivedQ931Cause and TranslateSentQ931Cause in [RoutedMode],
similar to those in [EP::...]
- BUGFIX(ProxyChannel.cxx) suppress 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 <AcctConfig|AuthConfig|CapConfig|EpConfig>
- 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 multi-homed 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 rewriting
- 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
Changes from 2.2.6 to 2.2.7
===========================
- 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
- 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