-
Notifications
You must be signed in to change notification settings - Fork 38
/
NEWS
1536 lines (951 loc) · 52.9 KB
/
NEWS
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
NEWS about Kannel: Open Source WAP and SMS Gateway version 1.5.0
This is a DEVELOPMENT version. It should be usable for production systems.
Please do report problems to the Kannel bug tracking system available at
http://bugs.kannel.org/ or send a mail to <[email protected]> (the development
mailing list).
Changes since version 1.4.3:
[*** Beware that the version move from 1.4.3 to 1.5.0 contains numerous
change sets, with major bug fixes and improvements. Following is a summary of the
main issues. For a complete and detailed set of changes please refer to the
specific ChangeLog in the doc/ directory of the distribution. ***]
Compatibility breakers:
* Internal message structure has changed, so older smsbox connection daemons
won't be able to communicate with this bearerbox. Please ensure that you
use boxes from releases greater or equal 1.5.0 for correct communication.
* DLR storage via MySQL requires now MySQL 4.1 or higher, due that we use now
prepared statements in the SQL calls.
New features:
* Added 'meta-data' support, which provides a mechanism to pass SMSC protocol
specific optional data to the lower SMSC module layer. Ie. optional TLVs
for SMPP.
* Added better serial speed support for the AT modem on MacOS systems.
* Added cleaner iconv() support for character re-encoding.
* Added SMPP v3.4 DLR support via optional TLV values.
* Added DLR support for the MT batch processing program.
* Added Microsoft SQL server support as DLR storage backend.
* Extended the HTTP admin interface.
* Added SMPP v3.4 intermediate notification support.
* Added MT module handling of +CME ERROR cases.
* Added better result parsing generic HTTP SMSC module.
* Added better throughput handling in SMPP module.
* Added SMSC module 'loopback' as the MT counterpart of the 're-route'
directive in the 'group = smsc' for MO messages. MT messages are
bounced back as MOs into the incoming queue.
* Added separate DLR message counters on the HTTP admin status.
* Added 'http-timeout' config directive to allow setting of a timeout
value for outgoing HTTP calls.
* Added WTLS provisioning support.
* Added add-on packages sqlbox and opensmppbox to the main distribution,
where sqlbox provides abstraction from bearerbox towards SQL RDBMS and
opensmppbox provides abstraction from bearerbox towards SMPP clients.
Bugfixes:
* Fixed various bugs in AT module.
* Fixed various memory leaks.
* Fixed ISO date parsing.
* Fixed HTTP cookie parsing in WAP module.
* Fixed WAP-WSP quoted text parsing.
* Fixed various WAP module bugs.
* Fixed MT batch processing program.
* Fixed FreeBSD build procedure.
* Fixed OMA OTA compiler output.
* Fixed weak DLR resolving for some SMSC types.
Changes since version 1.4.1:
[*** Beware that the version move from 1.4.1 to 1.4.2 contains numerous
change sets, with major bug fixes and improvements. Following is a summary of the
main issues. For a complete and detailed set of changes please refer to the
specific ChangeLog in the doc/ directory of the distribution. ***]
Compatibility breakers:
* Internal message payload encoding changed from LATIN1 to UTF-8, which
means any 1.4.2 boxes are unable to communicate with older versions.
* Re-defined logic for the 'smsbox-route' group that is used for MO
routing to different (identified) smsbox connections.
* Changed main message structure to include foreign (SMSC) ID to it,
breaking the access-log format and communication to older box versions.
New features:
* Added service routing based on account field, which allows routing of
MO messages depending on the account set by an aggregating SMSC provider.
* Added the new 'generic' system-type for HTTP SMSC, which allows the usage
of the escape code sequenced in send-url and regex parsing of HTTP
response.
* Added 'interactive' mode via stdin and stdout to allow a more human like
interaction with the fake smsc module.
* Added support to pass the 'from' source addr via 'X-Kannel-From' HTTP
header in the PPG request.
* Added generic DLR handling for type 'kannel' (HTTP SMSC), which allows
point-to-point DLR forwarding though the whole kannel instance chain.
* Added support for store spool directory.
* Added concatenation MO support.
* Added AT SMSC support for protocol 'type = telnet', which interprets telnet
escape sequenced compared to rawtcp.
* Added REGEX support for keyword matching.
* Added support for IBM AIX 64bit builds.
* Added SSL support for HTTP SMSC module server.
* Added bearerbox HTTP admin command 'reload-lists' to allow re-loading of
the '[white|black]-list' on the fly.
* Added support of concatenated, 8bit and Unicode messages over HTTP via
Clickatell.
Bugfixes:
* Fixed alias support for sms-service in smsbox scope.
* Fixed various MIME type handling bugs.
* Fixed security and race condition issue in HTTP module for keep-alive
connections.
* Fixed wrong length calculation for concatenated messages.
* Fixed bug that AT SMSC put UDH without UDH len.
* Fixed various memleaks, reported by valgrind.
* Fixed HTTP proxy scheme interpretation for SSL-enabled connections.
* Fixed OTA compiler, within WBXML compilation.
* Fixed encoding of 'Content-Id' WSP header.
* Fixed various segfaults in SMPP, logging modules.
* Fixed various AT command handling in AT module.
* Fixed 7bit encoding in AT SMSC.
Changes since version 1.4.0:
[*** Beware that the version move from 1.4.0 to 1.4.1 contains more then 200
change sets, with major bug fixes and improvements. Following is a summary of the
main issues. For a complete and detailed set of changes please refer to the
specific ChangeLog in the doc/ directory of the distribution. ***]
Compatibility breakers:
* Format for wapbox's access-log format changed to include the MSISDN of
a client as second argument after client IP and before method.
* fakesmsc uses now -r to specify the remote port on bearerbox side. Option
-p is generally reserved for pid file creation.
* sendsms now obeys bearerbox's reply before indicating result to HTTP
caller. This breaks any application layer clients that rely on the HTTP
body response of sendsms. To enforce the old behaviour use config
directive 'immediate-sendsms-reply = true' in smsbox group.
* DLR via MySQL uses now also 'username' and 'password' for the
mysql-connection group in order to harmonize the config names.
New features:
* Added config directive 'store-dump-freq' to core group to define the
fequency of the store-file dumping mechanism.
* Added backtrace support for Linux. In case of PANIC, we get a backtrace
of the called routines to make debugging easier.
* Added some new modem groups to doc/examples/modems.conf.
* Added more WTAI functions to support.
* Added RAW TCP support for remote termnial servers for AT modem devices.
* Added 'config.nice' support while configure time, to allow "remembering"
the used configure flags and options.
* Added OMA ProvCont support via OTA messages.
* Added SyncML support via OTA messages.
* Added directive 'wml-strict' to wapbox group.
* SMPP data_sm PDUs are supported now for MO messages.
* SMPP added config directives 'bind-addr-ton' and 'bind-addr-npi' to allow
setting values for bind_receiver and/or bind_transmitter PDUs.
* Added support for WSP 1.6 headers.
* Added automatic support for large files, via compiler directives.
* Added config line delimiter via \ (backslash). This allows wrapping config
lines to several lines.
* Added support for hooking config group definition files as our own
gwlib/cfg.def from external add-on modules to the core. Main intention is
to provide a installed Kannel without the need of patching the source for
any modules that use Kannel's gwlib and gw libs.
* Added config directives 'bearerbox-port' and 'bearerbox-port-ssl' to
smsbox group, in order to not need any core group reading of external
modules, ie. sqlbox.
* Added config directive 'max-pending-requests' for smsbox group to control
the outbound requests stream generated from smsbox towards HTTP
application servers.
Bugfixes:
* Fixed several bugs in TCP connection handling.
* Fixed several bugs in HTTP communication layer.
* Fixed segfaults on x86_64 (Intel Xeon) platforms.
* SMPP validity and defer time are set in UTC, several improvements and
error checks added.
* Fixed several 'make check' issues.
* MySQL support fixed, where certain function prototype names clashed
with our own gwlist structure.
* DLR support for PostgreSQL fixed for LIMIT clause usage.
* WSP empty header values fixed.
* WDP fix to discard truncated datagrams without PANIC.
* WAP Cookie handling fixed, charset handling generalized.
* AT driver fixes and improvements.
* RADIUS bug fixed in MD5 computing for authentication towards NAS.
* MacOS X support improved for configure process.
* store-file fixes and improvements.
* WML compiler fix, causing sefault.
* Fixed memory leaks for concat message handling.
* MIME parsing and handling fixed.
* FreeBSD AMD64 architecture support fixed.
* Fixed wapbox signal handling for shutdown.
* WTP SAR race condition and handling fixed.
* Fixed memory leaks in smsbox.
* sendsms POST XML handling fixed, where sender address was not parsed.
* smsbox reply handling fixed, to copy the originating smsc-id value
in the reply messages.
Changes since version 1.3.2:
Compatibility breakers:
* fakesmsc switching from -p to -r for port, since -p is used for pid-file
creation. This broke fakesmsc to use an other port then the default 10000
to connect to the smsc_fake module of bearerbox.
New features:
* Added ability to start/stop/restart of all smscconn's that have equal
smsc-id's instead of only one.
* Implemented very simple priority queue ala Robert Sedgewick for gwlib.
* Implemented concatenation of large sms inside bearerbox and does care of
sending all message parts over one smsc link. Now we have a problem with
concatenated large sms that bearerbox will try to load balance those over
different smsc links and such messages arrive as junk (all parts of
concatenated large sms must go through the same smsc).
* SMPP added ESME dlr bit to DLR processing, added setting of sms priority
flag in smsbox and smpp module.
* bruNET upgrading response parsing to comply with more recent interface
version (v2.0+) where bruNET delivers 'MessageId' in the HTTP response
body.
* AT, EMI usage of the of priority queue and priority flag.
* URLTranslation added '%o' as escape code for MO msgs representing the
msg->sms.account field. Which is interpreted as the operator ID for
aggregator specific MO messages. ie. Xidris HTTP SMSC module.
* test_ppg added support for X-WAP-Initiator-URI, use -I option.
Bugfixes:
* SMPP fixed panic on NULLed source_addr/destination_addr, for nulterminated
string length checking of PDU elements, bug that dlr lookup was made with
source instead of destination address (in dlr source and destination
switched), fixed incorrect handling of GSM_ADDR_TON_ALPHANUMERIC for
destination address,
* AT fixed segfault when modemtype is set to 'auto' or 'autodetect',
fixed '+CPIN', some modem needs '"'.
* HTTP fixed a binary MT bug (when DC_8BIT has been set) and various
improvements for passing parameters to the HTTP request, fixing 3united
(formerly Xidris) HTTP interface for binary MT messages. We passed
URL-encoded binary string, but server side expected HEX encoded (2 char
per byte) version.
* WSP string coding bug fixed.
* WML compiler fixed panic for certain DOCTYPE definitions, memory leak fixed.
* XMLRPC fixed memory leak.
* Fixed ISO date handling.
* Fixed double encoding in smsbox when trans coding from UCS2 to UTF-8 or
ISO-8859-1.
* Improved pthread reader/writer-locks.
* Fixed usage of native semaphores on MacOS X to avoid a "not implemented"
error.
* Fixed pthread lib settings for FreeBSD 5.2.1.
* Added check for 'sem_init' in librt. This needs on Solaris & HP-UX.
* Fixed Linux version of gw_gethostbyname when gethostbyname_r failed.
Also free buffer on error.
* Fixed daemon mode (make sure stdin/stdout/sdterr are opened and do
chdir("/")) and change user code (set supplementary group id's and
don't destroy passwd struct).
* Bug work-around causing segfault on cygwin while using uninited
rwlock functions.
* Various memory leak and double free fixes.
Changes since version 1.3.1:
[*** Beware that the version move from 1.3.1 to 1.3.2 contains more then 400
changesets, with major bugfixes and improvemnts. Following is a summary of the
main issues. For a complete and detailed set of changes please refer to the
specific ChangeLog in the doc/ directory of the distribution. ***]
Compatibility breakers:
* LICENSE changed to Kannel Software License v1.0. BSD-style as before with
some more restrictions to the name "Kannel" and usage of it.
* SMPP changed recoding of source_addr and destination_addr on the MO side.
We will pass a prefixed '+' to the smsbox side. Otherwise there is no
chance for backend applicatins, like smsbox to decide what type of number
it is.
* EMI2 login operation 60 had a hard timeout of 30 sec. Some SMSC may need
longer to ACK the login, so use the 'wait-ack' time value here too in case
it's larger then 30 sec.
* CIMD2 harmonized 'my-number' directive, this makes 'sender-prefix'
absolete, interpretation of 'keepalive' is now in seconds instead of
minutes.
* HTTP SMSC changed 'dlrurl' to 'dlr-url', 'dlrmask' to 'dlr-mask' in order
to reflect changes within smsbox's sendsms interface.
* Removed no more needed 'retry' smsc group directive. This is now handled
via the more abstracted 'reconnect-delay' value.
* WAP access.log file of wapbox has now some more elements, ie. remote IP of
client, HTTP method, length of content body, user agent string, HTTP
server string, cookie support is enabled now by default, added new
'wap-url-map' and 'wap-user-map groups to replace deprecated 'map-url' map.
* Renamed internal SMSC module identifiers for the smsc group directive
'smsc', which identifies which SMSC module is to be used for the specific
link, according to these: <emi2> to <emi>, <at2> to <at>, <emi> to
<emi_x25>.
* The configure option switch --with-defaults default value is now "speed".
* (!!!) smsbox's sendsms interface changed for values passed to various
variables, according to this: pid=0 says that you want a pid value in pdu,
with value 0; mclass is now 0-3; coding is 0-2; alt-dcs is 0-1; mwi is 0-7
to comply with ETSI values; dlrmask and dlrurl query parameters are
deprecated, but still functional; please use dlr-mask and dlr-url; flash
was removed.
* Changed core group config option 'maximum-queue-length' to
'sms-incoming-queue-limit' for the sake of semantics.
* Added 'binfo' billing identifier/information element to bearerbox's
access.log log format.
* Changed the way how DLR storage is "defined" while configure time, according
to this: removes '--with-dlr', --with-mysql to --with-mysql-dir,
--enable-[mysql|oracle|sdb|sqlite] to --with-[mysql|oracle|sdb|sqlite].
* Account field is required in DLR tablespace and dlr config sections too.
New features:
* SMPP added facility to specify SMSC service type with
'service-type = foo', adding handling of invaid userid and/or passwd to
shutdown SMSC connection rather than retrying to reconnect, a set of
optional parameters (SMPP v3.4) have been added, UDH support for MOs,
handling of intermediately delivery notifications, added 'message_payload'
handling, added enhanced DLR parsing and handling of DLR's optional
parameters, added "more messages to send" support.
* EMI added XSer $0c and $0d handling, OP/31 handling for the sake of EMI
implementations that use this construct as server-side initiated keep-alive
mechanism.
* CIMD2 has been rewriten to the new SMSCConn API layer, added additional
support features 'our-host', 'our-port' and parameter 069 (service center
address), harmonized log message formating, new 'no-dlr' config directive
to indicate if DLR requests should be proceeded, added RPI
(return-path-indication) support and binfo support via tariff class, allows
setting PID for MT messages, adds "more messages to send" support.
* HTTP SMSC added 'system-type = brunet' for an implemenation of bruNET's
specific HTTP interface (bruHTP 2.1), harmonized debug output, added
'system-type = xidris' for an implementation of Xidris, 'dlrurl' and
'dlrmask' handling for Kannel message proxying, added 'system-type = wapme'
for the Wapme SMS Proxy gateway interface.
* SOAP/XML over HTTP module added. Yet not bound to abstraction layer. Hence
this is yet experimental.
* FAKE added DLR handling for fake smsc type. Now you can test DLR handling
even while unattached to real SMSC.
* AT added +CMTI support for MO messages, 2 new config options
'max-error-count' and 'reset-string' for hard reset of the modem when modem
crashes.
* OISD has been rewriten to SMSCConn API, added validity support.
* HTTP admin command 'restart' added to restart bearerbox, 'loglevel' to
change log-level of log-files while bearerbox is running.
* Added 'our-host' interface support for binding to an explicit interface
on SMSC connections.
* Added smsc specific logging capability by handling open log files in
exclusive or non-explusive mode, using 'log-file' and 'log-level' as smsc
config directives.
* Added --disable-wap and --disable-sms configure switches to disable parts
in bearerbox.
* Moved smsc group config directive 'reconnect-delay' into higher abstraction
layer to provide this for all SMSC modules. Reconnect delay is defaulting
to 10 sec.
* Added internal restarting msg command among boxes.
* Added new command line option ("-g" or "--generate") to bearerbox. This
option just dumps all known config groups and options to stdout.
* WAP added support for EFI inside WMLScript, added new application ids from
OMNA web page, WSP encoding-version handling, logging of upstream HTTP server
failures with HTTP response code 502 (bad gateway), new config option
'http-interface-name' to wapbox configuration and allow selecting of interface
for outgoing HTTP requests, allows to put semicolon-separated list of IP
addresses in 'wdp-interfaces' statement in config file and kannel send
responses from proper addresses.
* WAP Push added missing official WINA URIs, 'concatenation' and
'max-messages' config directive support for wapbox group, handling of PPG
related DLR reports. PPG sends SMS with DLR, but smsbox has to do the DLR
signalization to the specified DLR-URL. The stored service name is read
from PPG core group, added 'default-dlr-url', 'ppg-smsbox-id',
'service-name' to ppg core group and 'dlr-url', 'smsbox-id' to
wap-push-user group.
* RADIUS accounting proxy implemenation added for MSISDN provisioning within
WAP operations.
* Added 'throughput' smsc group config directive for MT message per sec.
limitation.
* Added bearerbox internal re-routing via config directives 'reroute',
'reroute-smsc-id' and 'reroute-receiver' to multi-group 'smsc'. This allows
MOs to be directly turned into MTs within bearerbox.
* ORACLE 8i/9i support added for database polls and DLR handling.
* PostgrSQL support added for database polls.
* SQLITE added SQLite support for database polls.
* Added new escape code '%I' for URL translations to allow inclusion of the
internal SMS ID into the processing, new escape code '%T' for sending the
UNIX epoch timestamp in favor of '%t'.
* Added shell script 'gw-config' to allow 3rd party software to check for
CFLAGS, LIBS and version of the installed Kannel instance.
* Added 'binfo' to smsbox's sendsms interface to pass relevant billing
identifier/information to smsc modules.
* Added POSIX regular expression support.
* Added Perl compatible regular expression (PCRE) library support via
--enable-pcre configure option.
* Added backtrace support for specific architectures for better debugging
information on panics. Hint: use address within [] with addr2line or
add -rdynamic to CFLAGS.
* Added new config directives 'access-log-clean' and 'access-log-format' to
allow custom core access.log formatting, 'access-log-time' to indicate if
localtime or gmt should be used within access.log.
* Added new command line parameters for daemons (all boxes):
-P/--parachute : start watcher father process that catch and restart
crashed child process
-X/--panic-script : execute this script if child process crashed
-u/--user : change process user-id (security)
-p/--pid-file : write PID into the given file
-d/--daemonize : daemonize the process
* Added new config directive 'smsbox-max-pending'.
Bugfixes:
* SM/ASI fixed TON and NPI values, PDU decoding, decoding of binary MOs,
enquire link pdu's were not sent within regular timeframe.
* SMPP fixed generic_nack definition, sequence incrementation, charset
encoding misbehaviour when msgs get split into multiple sms chunks,
checking of esm_class for DLRs (only bits 2-5), PDU decoding bug for UDH
sequence, wrong esm_class checking for deliver_sm PDU, improved error
handling for wrong MO PDUs, shutdown sequence improvements, bug for
re-encoding character set, bug that source-autodetect was 'false' if not
defined in the config although userguide mentioned 'true', race conditions
amonst status and connect_time while set in various threads, optional
parameters handling improved.
* CIMD2 fixed for CPU load consume while idle, wrong time for messages, wrong
parameter length for "service description" field.
* AT fixed panic if UDHI in PDU is set but user data length = 0, bug in
non-blocking write to modem device, few race conditions.
* HTTP SMSC fixed a number of bugs. Including bearerbox crash if smsc-id is
stopped and /status page is called, don't 'fail' a MT message when the HTTP
server can not be triggered, instead use 'reconnect-delay' to try again,
expected MO parameters to 'username' and 'password' instead of 'user' and
'pass'.
* SSL fixed a serious pthread_mutex bug for call-back function to the
openssl thread locking, non-blocking write mode, memory leak in SSL
handshake sequence, various improvements.
* Fixed generic alt_dcs re-coding misbehaviour.
* HTTP fixed basic auth problem with the passwd, redirecting, serious bug
in the HTTP client code causing smsbox to crash if the connection is
closed directly by the HTTP server.
* Fixed bearerbox behaviour while receiving SIGHUP (restart) signal, signal
handling that may have caused deadlock.
* Fixed ACK/NACK handling beween bearerbox and smsbox.
* WAP fixed and improved XML charset encoding handling, WSP header
'Encoding-Version' handling, HTTP referer header removed due to breaking
specific WAP Forum certification tests, various fixes in WML compiler
character encoding handling, DOS bug within WML compiler, possible
segfault if WML document doesn't contain DTD section, crashing wapbox
while comparing empty cookie strings, various memory leaks, WTP bug for
abort PDU in speficic timeout events, fixed variable substitution within
WML compiler.
* WAP Push fixed malformed xml reponses for the PAP document, none accepted
<pap> attribute 'product-name', case insesitive handling of constants
"WAPPUSH" and "TYPE" for sake of interopertibility with existing PIs,
handling of Push flag, PPG specifier and prologue parsing to support other
PIs, including delimiter parsing, PAP MIME parsing, various memory leaks.
* Fixed partially panics caused by too long UDH sequences.
* DLR smsc-id is added now to DLR MOs from the temporary DB tablespace.
* Queue policies have been improved for internal bearerbox to smsbox
message transmission.
* Fixed race conditions within store-file handling.
* Fixed serious poll() handling of POLLHUP and POLLERR.
* Fixed bug that config directive 'sendsms-chars' was not used at all in the
logic, only the default remained.
* Fixed bug in smsbox that crashed if %A is used in get-url.
Changes since version 1.3.0:
Compatibility breakers:
* SMPP changed default behaviour of the 'source-addr-autodetect' to yes.
Now the module will try to set TON and NPI automatically by scanning the
given source adddress.
* Added proxying of the smsc-id value to attached smsbox instances via
the HTTP SMSC module. This allows spreading load from one smsbox
to several bearerbox instances.
New features:
* Additional debian packaging files.
* Documentation section about log file rotation.
* PPG now allows routing to explicite smsc-id's. New config directives
'default-smsc' for ppg group and 'forced-smsc' and 'default-smsc' for
wap-push-user group have been added.
* Added debug info about ammount of outstanding HTTP reqeusts in
the smsbox retry queue.
* OIS added direct module.
* CIMD2 added validity setting.
Bugfixes:
* CIMD2 various fixes for correct urltrans()ing.
* AT2 fixed double-increment bug for outgoing messages counter.
* Fixed a keep-alive lookup problem when using a HTTP proxy.
* HTTP SMSC various fixes.
* Fixed infinite loop bug if /TYPE=xxx is missing in the PAP document.
* Fixed a bug in the smsbox routing behaviour of bearerbox.
* SMPP various fixes for the optional fields decoding.
* EMI2 fixed MO counter bug and assignmend of non-existing fields bug.
* Various fixes in the WAP application layer.
Changes since version 1.2.1:
Compatibility breakers:
* Added initial SMPP v3.4 optional fields support. Still very experimental.
Use the 'interface-version = 33' config directive if you don't want to
rely on this new code.
* HTTP servers can bind to specific interfaces now.
* WTP timer frequence can be set now manually with 'timer-freq' value.
* EMI2 handling of un-acked msg can be configured via 'wait-ack-expire'
directive. See User Guide for more details.
New features:
* WTP-SAR (segmentation and re-assembly) is now available for the
WAP gateway part. This enables Kannel to function as MMS proxy.
This has been tested with several new MMS capable phones.
* smsbox inbound routing has been added. It allows routing based upon
smsc-id or receiver number rules to specific smsbox instances. This may
be several real smsboxes or even own boxes that act to bearerbox as if
they are smsboxes by using the same message communication interface. This
is useful for implementing own boxes that act as EMI/UCP or SMPP proxies.
* iconv support has been added for character encoding. Adds 'alt-charset'
directive for the SMPP smsc group. Use iconv's type representation to
define which charset is used by a specific smsc.
* HTTP connections are now established in non-blocking mode.
* Added speed 115200 for AT2 connections if system supports.
* Protection against malformed PDUs for AT2 has been increased.
* Added detection of invalid TP-OA address length and logging for AT2.
* Added National Replacement Codes (NCR) ISO 21 German for german umlauts
to be used with 'alt-charset' directive.
* Added Siemens SL45 init strings for AT2.
* Added a WAP packet proxy application, test/wapproxy.c. This may be used
to act as a WDP, WTP proxy between WAP client and WAP gateway for
packet analyzation purposes.
* Allows returning to the 'device-home' URL if 'smart-errors' are activated.
This can be used to let the phone go back to a pre-defined URL in case an
serious error happens, i.e. HTTP lookup of an URI fails.
Bugfixes:
* SMPP thread handling bug fixed.
* AT2 date encoding bug fixed.
* HTTP basic auth userid and password handling bug fixed.
* Fixed WAP smart-error message bug, when HTTP lookup failed.
* AT2 init string in Siemens TC35 configuration fixed.
* Fixed various SSL connection related bugs.
* DLR race condition due to unlocked list fixed.
* Fixed memory leak in smsc abstraction layer for restarting smscs.
* Fixed initial approach for client SDU size to solve the problem with
concatenated WSP requests.
* SMPP throttling problem fixed.
* Fixed HTTP queueing bug.
* Various improvements and fixes in the HTTP routine library.
* Fixed panics for /store-status calls if no store-file is used.
* Fixed difftime calculation to make heartbeat work again.
* Fixed possible race condition in store file saving.
Development news:
* We need to think about and rewrite the iconv() character encoding layer.
The character encoding should be done in the smsc module abstracted
layer and not in the smsc specific module layer. As a base encoding we
are going to use latin1.
Changes since version 1.2.0:
Compatibility breakers:
* SMPP module users should note that the 'msg-id-type' default behaviour
has changed. The SMPP spec says that msg ids should be C strings and
hence we treat them as such per default. If your SMSC gives msg ids
in submit_sm and deliver_dm PDUs in different numbering basing, then
please use the 'msg-id-type' config directive to set it accordingly.
New features:
* SMPP priority flag is now supported.
* SMPP unbind PDU handling added.
* SMPP throttling error code support added.
* MacOS X support has been improved.
* Added 'allowed-receiver-prefix' and 'denied-receiver-prefix' for
sms-service groups. This is used to restrict access to service requests
coming in on certain receiver numbers, i.e. shortcut numbers.
* Added directives 'http-request-retry' and 'http-queue-delay' for HTTP
request queueing for sms-service 'get-url' and 'post-url' services.
This way a non reachable HTTP server will not cause to drop the request.
Instead smsbox will hold a queue and retry the HTTP request via the
configurable settings 'http-request-retry' and 'http-queue-delay'.
* Added 'store-status' HTTP admin command to retrieve the messages
currently in the main queue.
* Added a '--with-cflags=CFLAGS' and '--with-libs=LIBS' configuration
options. These are useful when Kannel is linked against additional
proprietary modules.
* Improvements in the Siemens M20 GSM modem support.
* Added EMI2 specific configuration directives 'notification-pid' and
'notification-addr'.
* Added Return Path Indicator (RPI) support for SMPP and EMI2 via boolean
sendsms interface parameter 'rpi'
* LibSDB support for external storage has been added. libSDB is an abstraction
library for various DB system, including MySQL, PostgreSQL, Oracle, gdbm
and some others.
* wapbox has an own access.log facility now.
* Added the new 'smasi' SMSC type for connecting to SM/ASI protocol SMSC,
like the CriticalPath InVoke SMS Center.
* Added HEAD method support for HTTP client module.
* DLR support for the AT2 module has been added.
* Slight re-organization of the DLR module to make it easier in supporting
other SMSC modules too.
* Added 'unified-prefix' configuration directive on a smsc basis to set
number normalization rules. This may be used it SMSC connections handle
prefix normalization differently.
* Added 'source-addr-autodetect' to smsc group for auto-detecting source
addr in smpp module, if desired.
Bugfixes:
* Timezone issue fixed in SMPP module.
* Output of fakewap has been made more human-readable.
* Various fixes and improments in the wmlscript parsing routines.
* Fixed various other possible segmentation faulting bugs in handling
null'ed Octstr vars.
* Fixed various mutex problems that caused errors while accessing lists.
* Some fixes in HTTP keep-alive handling logic that causes our client to
keep the connection up, even while the server has asked to drop it.
* Various fixes and improvements in the PPG (push proxy gateway) module.
* Fixed a bug in the prefix-match routine that caused to tread an number
match not to be a prefix match.
Changes since version 1.1.6:
Compatibility breakers:
* configure now uses the --enable-localtime as default. This will log
file stamps in local time, not GMT. Beware if you need other timezone
date logging to switch this off.
* configure now uses the --with-malloc=native as default. This is more
suitable for production environments then the limited malloc checking
counterpart.
* Use the 'to' HTTP GET variable to specify the destination MSISDN of
outbound messages for both sendsms and sendota HTTP interfaces.
* wapbox does not any longer start a PPG HTTP server thread if no ppg
group is specified in the configuration file.
New features:
* Harmonized logging output for EMI2 and SMPP module.
* Added on-the-fly shutdown and re-start for specific smsc-ids via the
administrative HTTP interface URIs 'stop-smsc' and 'start-smsc'.
* Added traffic statistics of inbound and output SMS on the status page.
* Added 'interface-version' config directive for SMPP module.
* Added timing configuration directives for SMPP module to specify
reconnect delays and timeout values.
* Added alternative DCS support for SMPP module to define alternative DCS
value via sendsms's alt-dcs flag.
* Added support for XML POSTs of SMS messages on the basis of the IETF
draft http://search.ietf.org/internet-drafts/draft-koponen-sms-xml-03.txt.
* Added transceiver mode for SMPP links.
* Added wapbox directive 'smart-errors' for smarter WSP error messages to
the handset device.
* Added wapbox directive 'force-sar' for forced processing of segmentation
and reassembly (WTP-SAR) packages.
Bugfixes:
* Fixed compiler warning for gcc 3.x for compiler macros.
* Fixed a couple of memory leaks in various modules.
* Improved the output of the status page and fixed the status condition
if an SMPP link is only used as receiver.
* Fixed validity issues in the SMPP module.
* Fixed a possible segv bug in SSL connection opening call.
* Fixed handling of application ids in the PPG module.
* Implemented a queue limit for outbound messages. This should hold up the
situation that there are infinitely more messages injected to the queue
then there are outflowing to the SMSC connections.
* Further improvements in the AT2 module.
* Fixed some MySQL related problems while processing DLRs to databases.
Changes since version 1.1.6:
Compatibility breakers:
* GET method variable 'phonenumber' will be replaced by 'to' for the
sendota HTTP interface. Currently we run both, to allow users to
switch seamlessly.
New features:
* sendota HTTP interface requests can be send in POST method mode
containing special X-Kannel HTTP headers for the control information
and the OTA XML document as body content.
Changes since version 1.1.5:
Compatibility breakers:
* Major restructuring of the AT2 module has been done.
See the ChangeLog for more details.
New features:
* PPG module has been introduced and works for both IPv4 and SMS based
bearers. Supported document types are SL and SI. The PPG is an essential
item of the WAP Push architecture.
* WTLS support has been included, but yet not finished.
Development in this area is still needed.
* Flash SMS support added.
Messages that arrive at mobile terminals are displayed directly to the
user interface and usually they can not be saved to the inbox.
* 3G Lab contributed the XML files for their Alligata.
* Added "keepalive" feature for EMI2 module.
* MWI (message waiting indicator) message support added.
These messages do cause the mobile terminal to indicate special events
on the user interface, i.e. showing that a new E-Mail has arrived.
* AT2 now supports Siemens TC35
* Added DLR (delivery report) support for SMSC modules.
Delivery reports are returned by SMSCs and can trigger a defined URL in
order to inform the pushing application of a successful transmission of
the message. URLs can be set on a per-message request basis and hence
semantics of the message ID is kept by the requesting application.
* AT2 now support autodetection of modem devices.
* HTTP basic authentication can be used now for sms-service groups.
This allows SMS services to access HTTP resources that need explicit