summaryrefslogtreecommitdiff
path: root/docs/ChangeLog
blob: d79818ed16bab373c86ce8024aac239436fda973 (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
2017-12-25 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.7

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.7
	* NOTE: Requires libre v0.5.5 or later
	        Requires librem v0.5.0 or later

	* Credits: Thanks to Swedish Radio who sponsored many new
		   features in this release.

	* new commands:
	  -  'conf_reload' -- Reload config file

	* new modules:
	  - gzrtp         ZRTP module using GNU ZRTP C++ library
			  (thanks glenvt18)

	  - mqtt          MQTT (Message Queue Telemetry Transport) module
			  (sponsored by Swedish Radio)

	* config:
	  - audio_txmode  poll|thread        Set audio transmit mode
	  - auplay_format s16|float|s24_3le  Set playback sample format
	  - ausrc_format  s16|float|s24_3le  Set source sample format
	  - sdp_ebuacip   yes|no             Enable EBU-ACIP parameters
	  - zrtp_hash	  yes|no	     Enable/disable ZRTP hash

	* baresip-core:
	  - audio: add sample format conversion
	  - audio: add sample format for source/playback
	  - audio: check timestamps on incoming RTP packets
	  - audio: pace outgoing packets in txmode=thread
	  - audio: remove txmode with realtime thread
	  - audio: remove txmode with timer
	  - audio: set EBUACIP parameters in SDP
	  - auplay: add sample format to auplay_prm
	  - auplay: change write handler to any sample format
	  - ausrc: add sample format to ausrc_prm
	  - ausrc: change read handler to any sample format
	  - event.c: new file for generic event handling
	  - event: add event_encode_dict to encode event to a dictionary
	  - event: added UA_EVENT_CALL_RTCP for received RTCP
	  - log: print to stdout (ref #320)

	* selftest:
	  - add test for different audio tx-modes
	  - add test for float audio sample format

	* Modules:

	* alsa: add support for multiple sample formats

	* audiounit: add support for FLOAT sample format

	* auloop: add support for multiple sample formats

	* avahi: Bugfix: Destroy resolver after callback (#318)
		 (thanks Jonathan Sieber)

	* avcodec: change x264 rate control mode to ABR (#334)
		 (thanks Jonathan Sieber)

	* debug_cmd: add command 'conf_reload' to reload config file

	* gzrtp: ZRTP module using GNU ZRTP C++ library
		 (thanks glenvt18)

	* menu: add config 'ringback_disabled' to disable playing
	        of ringback tone.

	* mqtt: MQTT (Message Queue Telemetry Transport) module
		new module using libmosquitto as the backend.

	* opus: fix encoder bitrate, ref #305
		add opus_stereo config parameter (thanks Ola Palm)
		add config param opus_sprop_stereo (thanks Ola Palm)

	* portaudio: add support for FLOAT sample format

	* pulse: add support for FLOAT sample format
		 remove garbage at the beginning of a recording (#323)

	* quicktime: module was removed

	* rst: add support for multiple sample formats

	* zrtp: add signaling hash support (#311)




2017-10-14 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.6

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.6
	* NOTE: Requires libre v0.5.5 or later
	        Requires librem v0.5.0 or later

	* New Baresip logo (thanks Ernst and community)

	* baresip-core:
	  - log: rename error to error_msg due to GNU extension clash
	  - ua: remove ua_sipfd()

	* Modules:

	* avahi: Avahi Zeroconf Module (thanks Jonathan Sieber)

	* avcodec: handle fragment packet loss

	* cairo: draw a dancing logo

	* ice: set ICE role correctly
	       set retransmit count (RC) to 4

	* opensles: fix recorder speaker setup (thanks Juha Heinanen)

	* opus: fix encoder bitrate, ref #305

	* zrtp: encrypt/decrypt RTCP packets (thanks @glenvt18)


2017-09-07 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.5

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.5
	* NOTE: Requires libre v0.5.5 or later
	        Requires librem v0.5.0 or later

	* new commands:
	  - insmod module.so -- Load a module
	  - rmmod  module.so -- Unload a module

	* config:
	  - fullscreen  yes|no    Enable fullscreen display

	* baresip-core:
	  - account: optional param 'auth_pass' for password
		     add account_set_auth_pass()
		     add account_aor()
		     add account_auth_pass()
	  - contact: add update handler (thanks Jonathan Sieber)
	  - h264: add rtp_ts RTP Timestamp
	  - module: add module_load/unload
		    remove list of application modules
	  - stream: reset timer on incoming RTCP packets (fixes #271)
	  - ui: make the API re-entrant
	  - video: add RTP timestamp to videnc packet handler
		   add video_calc_rtp_timestamp()
		   add video_calc_seconds()
	  - video: use RTP timestamp from video encoder

	* selftest:
	  - add test for video timestamps

	* Modules:

	* account: move password prompt here

	* av1: use encoder PTS to calculate RTP timestamp

	* avcodec: use encoder PTS to calculate RTP timestamp
		   use level_idc=0x1f for x264

	* cons: updated UI api

	* evdev: updated UI api

	* gst_video: use encoder PTS to calculate RTP timestamp

	* gst_video1: use encoder PTS to calculate RTP timestamp

	* h265: use encoder PTS to calculate RTP timestamp
		fix FU decoder bug

	* httpd: updated UI api

	* ice: move gathering from lib to app
	       (requires libre v0.5.5 or later)

	* menu: updated UI api

	* mwi: updated UI api

	* presence: Handle contacts added at run-time
		    (thanks Jonathan Sieber)

	* sdl: updated UI api

	* sdl2: add support for fullscreen video

	* stdio: updated UI api

	* v4l: add support for more pixel-formats

	* v4l2_codec: use encoder PTS to calculate RTP timestamp

	* vp8: use encoder PTS to calculate RTP timestamp

	* vp9: use encoder PTS to calculate RTP timestamp

	* wincons: updated UI api


2017-06-24 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.4

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.4
	* NOTE: Requires libre v0.5.4 or later
	        Requires librem v0.5.0 or later

	* config:
	  - audio_level  yes|no    Enable audio level RTP extension

	* baresip-core:
	  - add support for Client-to-Mixer Audio Level Indication (RFC 6464)
	  - add support for RTP Header Extensions (RFC 5285)
	  - module: dont load same static module twice
	  - ua: add ua_progress()
	  - ua: check for Accept header in incoming OPTIONS request
	  - use a dummy RTP port for incoming OPTIONS (ref #265)
	  - vidcodec: make the API re-entrant
	  - vidfilt: make the API re-entrant
	  - vidisp: make the API re-entrant
	  - vidsrc: make the API re-entrant

	* selftest:
	  - add test for audio level indication in call
	  - add test for call progress

	* Modules:

	* (all video modules updated with API-changes)

	* zrtp: check for RTP packet in send handler (ref #262)
		(thanks to MobiSciLab for reporting the bug)

		- registered zrtp_log function with zrtp engine
		- improved info message on how to verify remote peer
		- improved setting and printing of zrtp cache file
		(thanks Juha Heinanen)


2017-05-14 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.3

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.3
	* NOTE: Requires libre v0.5.3 or later
	        Requires librem v0.5.0 or later

	* config:
	  - (no changes)

	* build:
	  - detect jack module (thanks Tony Langley)
	  - Updated MSVS projects to vs2015 (thanks Mikhail Barg)

	* baresip-core:
	  - aulevel: add aulevel_calc_dbov()
	  - audio: Set correct clock rate for telephone events
		   (thanks Jan Hoffmann)
	  - play: Add gapless repeat for tone playback (thanks Jan Hoffmann)

	* selftest:
	  - add tests for aulevel
	  - add tests for audio player
	  - add mock aucodec/auplay

	* Modules:

	* gst_video1: Tune x264enc for low latency (thanks Jonathan Sieber)

	* httpd: fix a crash

	* ice: update to latest libre ICE-api

	* omx: Fixed some problems on OMX/RaspberryPi (thanks Jonathan Sieber)

	* srtp: fix SRTP for early-media (thanks Jan Hoffmann)

	* vumeter: use aulevel_calc_dbov to calculate signal energy

	* zrtp: update to latest libzrtp from freeswitch (thanks Juha Heinanen)


2017-04-07 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.2

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.2
	* NOTE: Requires libre v0.5.0 or later
	        Requires librem v0.5.0 or later

	* new modules:
	  - omx    OpenMAX IL video display module (thanks Jonathan Sieber)

	* config:
	  - (no changes)

	* baresip-core:
	  - aucodec: make the API re-entrant
	  - aufilt: make the API re-entrant
	  - auplay: make the API re-entrant
	  - ausrc: make the API re-entrant
	  - video: using a video-source is now optional

	* Modules:

	* avformat: add pixelformat AV_PIX_FMT_YUVJ420P (Thanks Gary Metalle)

	* cairo: print picture info, use grey background

	* dtmfio: check fd before calling fclose (thanks Richard Perez)

	* h265: enable YUV444P pixelformat

	* oss: fix build for Solaris 11

	* speex: mark the module as deprecated, see speex.org


2017-03-04 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.1

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.1
	* NOTE: Requires libre v0.5.0 or later
	        Requires librem v0.5.0 or later

	* new modules:

	* config:
	  - stunuser		STUN username for STUN/TURN/ICE
	  - stunpass		STUN password for STUN/TURN/ICE
	  - snd_path		Path to sndfile audio dump files

	* baresip-core:
	  - account: add more accessor functions
	  - account: add 'stunuser' and 'stunpass'
	  - commands: make the struct commands opaque
	  - message: make the API re-entrant, multiple listeners
	  - menc: make the API re-entrant
	  - mnat: make the API re-entrant

	* selftest:
	  - add tests for account
	  - add tests for message

	* Modules:

	* amr: use MOD-CFLAGS instead of global CFLAGS

	* avcodec: added optional config 'avcodec_h264dec' to specify hardware
		   accellerated FFmpeg decoder (thanks Harald Gutmann)

	* avformat: remove blocking sleep, use packet timestamp to
		    pace video stream (thanks Harald Gutmann)

	* debug_cmd: add OpenSSL version to systems info

	* gtk: fix build where USE_NOTIFICATIONS is not defined
	       get rid of system header warnings by using -isystem

	* httpd: add support for un-escaping of URL parameters
		 (thanks to elektm93)

	* menu: add new command 'ausrc' to switch audio source
		add new command 'auplay' to switch audio player

	* sdl2: add more pixelformats (ref #202)
		(thanks Harald Gutmann)

	* sndfile: add config to specify path for dump files (thanks Elektm93)
		   add test for sndfile on *BSD. (#194) (thanks jungle-boogie)

	* swscale: get dst-size from config (ref #203)

	* v4l2_codec: Video device selection bug (#218)
		      (thanks Richard Perez)


2016-12-23 Alfred E. Heggestad <alfred.heggestad@gmail.com>

	* Version 0.5.0

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.5.0
	* NOTE: Requires libre v0.5.0 or later
	        Requires librem v0.5.0 or later

	* new modules:
	  - av1		Experimental AV1 video codec
	  - debug_cmd	Debug commands for advanced users
	  - pcp		Port Control Protocol (PCP) for NAT traversal
	  - swscale	Video scaling using FFmpeg's libswscale

	* config:
	  - call_max_calls	Maximum number of calls per account

	* baresip-core:
	  - call: add multiple lines
	  - call: start video on reinvite (thanks Gary Metalle)
	  - cmd: add support for long commands
	  - cmd: make it re-entrant
	  - config: add some modules to template (thanks Dmitrij D. Czarkoff)
	  - contact: make it re-entrant
	  - play: make it re-entrant
	  - vidcodec: add a intraframe-flag to api
	  - video: resend FIR until Intra frame received

	* selftest:
	  - add test for DTMF in call
	  - add test for contacts
	  - add test for long commands
	  - add test for maximum calls
	  - add test for multiple calls
	  - add test for video call
	  - add audio-source mock
	  - add video-codec mock
	  - add video-display mock
	  - add video-source mock

	* Modules:

	* aufile: convert samples from little-endian to host-endian

	* auloop: use long commands /auloop and /auloop_stop

	* av1: new module for Experimental AV1 video codec

	* avcodec: add config option 'avcodec_h264enc' to set encoder name
		   (thanks to @hargut)

	* avformat: fix init and warnings (thanks Maciej Koman)

	* b2bua: use long command /b2bua

	* contact: use long commands

	* debug_cmd: new module for advanced debug commands

	* g7221: expose spandsp api (thanks to Steve Underwood)

	* gtk: use long command /gtk

	* h265: add 'profile-id=1' to SDP

	* menu: add long commands
		add command 'line' or '@' to set current call

	* opengl: fix deprecated warnings on OSX 10.12

	* opensles: add support for stereo
		    (thanks to Juha Heinanen and Vijay Pratap Singh)

	* opus: add support for SDP parameter mirroring
		(thanks to Sveriges Radio)

	* pcp: new module for Port Control Protocol (PCP) NAT traversal
	       requires librew (https://github.com/alfredh/rew)

	* plc: expose spandsp api (thanks to Steve Underwood)

	* presence: add long commands /presence_{on,off}line

	* snapshot: use long commands (thanks Dmitrij D. Czarkoff)

	* sndio: use driver-suggested buffer size (thanks Dmitrij D. Czarkoff)

	* swscale: new module for video filter using libswscale

	* v4l2: pick up VID_FMT_NV12 and VID_FMT_NV21 formats as well (#176)
		don't check for native/emulated format (#179)
		(thanks Dmitrij D. Czarkoff)

	* vidloop: use long commands

	* vp8: add 'intra' parameter to decoder api
	       fix building with old versions of libvpx

	* wincons: graceful closing of thread (fixes #151)
		   (thanks to @GGGO)

	* zrtp: use long command


2016-07-22 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.20

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.4.20
	* NOTE: Requires libre v0.4.17 or later
	        Requires librem v0.4.7 or later

	* new modules:
	  - pulse      Pulseaudio driver
	  - vp9        VP9 video codec

	* config:
	  - audio_path          Path to audio files
	  - call_local_timeout  Timeout for incoming calls
	  - redial_attempts     Number of redial attempts
	  - redial_delay        Redial delay in seconds

	* baresip-core:
	  - baresip: added a global baresip instance (WIP)
	  - call: add RTP timeout (thanks to Sveriges Radio)
	  - config: added call_local_timeout for incoming call timeout
	  - config: added compile-time configureable CONFIG_PATH
	  - config: added 'audio_path' config variable (thanks Juha Heinanen)
	  - net: made it re-entrant with struct network
	  - ua: added uag_set_exit_handler
	  - ua: fix bug with reg_uri limited to 64-chars
	  - video: vidfilters should not modify decoded image

	* selftest:
	  - add test for network
	  - add test for sending SIP OPTIONS
	  - add test for RTP timeout

	* Modules:

	* avcodec: fix usage of deprecated API

	* avformat: remove support for scaling
		    fix usage of deprecated API

	* cons: relay log-messages to active UDP/TCP connections
		https://github.com/alfredh/baresip/issues/144

	* h265: fix usage of deprecated API

	* menu: added support for re-dial on failure
		(thanks to Sveriges Radio)

	* mpa: Bug with reinit of codec structs (thanks Christian Hoene)

	* natpmp: added support for RTCP

	* presence: use correct struct in deref handler

	* pulse: new module for Pulseaudio driver
		 (thanks to Matthias Apitz for testing)

	* vidloop: vidfilters should not modify decoded image

	* vp8: module renamed from vpx.so to vp8.so

	* vp9: new module implementing VP9 video codec

	* wincons: use ReadConsoleInput, thanks to GGGO (fixes #139)
		   https://github.com/alfredh/baresip/issues/139


2016-05-20 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.19

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.4.19
	* NOTE: Requires libre v0.4.14 or later
	        Requires librem v0.4.7 or later

	* new modules:
	  - mpa        MPA Speech and Audio Codec (thanks Christian Hoene)

	* baresip-core:
	  - audio: remove is_g722 exception
		   use aucodec's rtp clockrate for calculating RTP timestamp
		   plc: make sure sampc is exactly one ptime frame
	  - aucodec: split srate into DSP srate and RTP clockrate
		     (these are different for e.g. G.722 and MDA)
	  - mos: add mos_calculate() (thanks Lorenzo Mangani)
	  - net: use configured dns servers only, if specified
	  - ua: fix potential NULL-pointer crash for uag.cfg

	* selftest:
	  - add test for SIP registration with DNS
	  - add test for SIP registration with authentication
	  - add test for MOS calculations
	  - added a mock DNS Server
	  - added a mock SIP Server

	* Modules:

	* aucodec: add support for NV12 and YUVJ420P pixel formats

	* daala: update to libdaala version 0.0-1564-g79787c7

	* gtk: fix autodetection of libgtk+ 2.0 (thanks Charles Lehner)

	* h265: remove call to x265_cleanup, caused crash on OpenBSD

	* mpa: new module that implements MPA Speech and Audio Codec
	       (this module was contributed by Christian Hoene)

	* opus: added new configuration parameters:
		opus_cbr        {yes,no}   # Constant Bitrate (inverse of VBR)
		opus_inbandfec  {yes,no}   # Enable inband FEC
		opus_dtx        {yes,no}   # Enable DTX

	* presence: improved interoperability, allow white space before
		    xml element closing tags (thanks Juha Heinanen)

	* x11: added borderless window (thanks Doug Blewett)


2016-03-12 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.18

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.4.18
	* NOTE: Requires libre v0.4.14 or later
	        Requires librem v0.4.7 or later

	* baresip-core:
	  - call: fix SIP INFO with dtmf-relay (thanks Gary Metalle)
	  - ua: add event UA_EVENT_CALL_CLOSED for ua_hangup()

	* selftest:
	  - add tests for answer a call and hangup

	* Modules:

	* alsa: fix potential crash (thanks Gary Metalle)

	* audiounit: fix compilation for iOS (issue #91)

	* avcodec: fix compilation for FFmpeg 3.0

	* avformat: fix compilation for FFmpeg 3.0

	* gtk: always handle incoming calls (thanks Charles Lehner)

	* h265: fix compilation for FFmpeg 3.0

	* menu: add config 'menu_bell  off/on' to enable Bell alert
		add command 'A' for switch audio device (thanks AlexMarlo)

	* v4l2_codec: add list of encoders (fixes #99)


2016-01-17 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.17

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT tag: v0.4.17
	* NOTE: Requires libre v0.4.14 or later
	        Requires librem v0.4.7 or later

	* new modules:
	  - echo        Echo server module
	  - jack        JACK Audio Connection Kit audio-driver

	* baresip-core:
	  - config: keep config object in memory
	  - ua: moved playing of ringtones out of core, to "menu" module
		(let's keep the core nice and slim..)
	  - ui: added ui_password_prompt()

	* selftest:
	  - silence debug/info log by default, only print warnings
	    (use -v to see verbose logging)

	* Modules:

	* alsa: added config option to specify the sample format
		"alsa_sample_format    {s16,float,s24_3le}"
		thanks to Ola Palm for valuable feedback

	* audiounit: fix recording on OSX (thanks Sebastian Reimers)
		     print hardware samplerate in debug mode

	* auloop: add support for 44100 Hz samplerate

	* daala: update to latest libdaala API (thanks Dmitrij D. Czarkoff)

	* echo: new module which implements a simple Echo-server, to
		be used in combination with the aubridge.so module.
		contributed by Sebastian Reimers

	* gtk: fixes to support C89 compiler (thanks Dmitrij D. Czarkoff)

	* jack: new module which implements audio-driver for JACK

	* menu: playing of ringtones moved here, from ua.c

	* sndio: fix crash when device open fails (thanks Dmitrij D. Czarkoff)


2015-12-01 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.16

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT commit bed2241da3261e472f09b21958f0cc1324a94f27
	* GIT tag: v0.4.16
	* NOTE: Requires libre v0.4.14 or later

	* new modules:
	  - v4l2_codec  Video4Linux2 video codec (H264 hardware encoding)
	  - vidinfo     Video info overlay module

	* baresip-core:
	  - audio: add audio_set_source() and audio_set_player()
	  - audio: flush tx-buffer for all modes (thanks Thibault Gueslin)
	  - call: add call_is_outgoing()
	  - call: check address-family of incoming SDP offer (thanks Olle)
	  - h264: move H.264 packetization code to core
	  - main: add -u option to append extra global UA parameters
	  - main: pre-load modules after all arguments are parsed
	  - ua: add events UA_EVENT_SHUTDOWN,UA_EXIT
	  - ua: add ua_hold_answer()
	  - ua: add ua_set_media_af()
	  - ua: delay mod-unloading if mods has a ref to struct ua

	* build:
	  - add verbose build with V=1 (thanks Dmitrij D. Czarkoff)
	  - add pkg-config file (thanks William King)
	  - add travis.yml file for Github build-system

	* Modules:

	* alsa: fix memory leaks

	* avcodec: move common H.264 packetization code to core

	* cairo: use pkg-config in makefile

	* daala: update to latest libdaala (thanks Dmitrij D. Czarkoff)

	* gst_video: use H.264 packetization API from core

	* gst_video1: use H.264 packetization API from core

	* gtk: fix segmentation fault on window close

	* mwi: add 500ms delay after closing subscription

	* oss: use pthread for ausrc instead of fd_listen (fixes FreeBSD)

	* presence: use sipevent_sock instance from UA core
		    add 500ms delay after closing subscription

	* v4l2_codec: new module

	* vidinfo: new module

	* zrtp: fix ZRTP over TURN by moving helper to layer 10
		fix ZID verification (thanks Ingo Feinerer)


2015-09-26 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.15

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT commit 86262a6fc17e19e2be82eb8a2a05ec0f884d3d38
	* GIT tag: v0.4.15
	* NOTE: Requires libre v0.4.13 or later

	* added selftest binary

	* baresip-core:
	  - audio: fix televent when pt != 101 (reported by AndyJRobinson)
	  - magic: use __func__ for C99 or later
	  - sip: make sip_req_send() public
	  - ua: add UA_EVENT_CALL_DTMF_START/END, thanks Gary Metalle

	* Modules:

	* alsa: added extra logging

	* gtk: add support for libnotify (thanks Charles Lehner)

	* video: fix potential null deref (thanks Tomasz Ostrowski)

	* zrtp: added 36-bytes preamble for TURN-header


2015-08-08 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.14

	* GIT URL: https://github.com/alfredh/baresip.git
	* GIT commit ebac23b0692de71ee4c3a436f0372013150c937f
	* GIT tag: v0.4.14
	* NOTE: Requires libre v0.4.13 or later

	* new modules:
	  - gtk		GTK+ 2.0 UI (thanks Charles E. Lehner)
	  - gst1	Gstreamer 1.0 audio module
	  - gst_video1	Gstreamer 1.0 video module (thanks Thomas Strobel)
	  - daala	Experimental video-codec using Daala

	* baresip-core:
	  - baresip: added -m argument to pre-load modules
	  - config: add kqueue to sample config (thanks Dmitrij D. Czarkoff)
	  - log: make code C89 compliant (thanks Victor Sergienko)
	  - module: added module_preload()
	  - ua: add CALL_EVENT_TRANSFER_FAILED
	  - ua: skip initial white space from uri (thanks Juha Heinanen)
	  - ua: ua_prev_call()
	  - videnc: move videnc_packet_h to update-handler

	* build:
	  - added optional $(MOD)_CFLAGS for local module CFLAGS
	  - added project file for Visual C++ Express 2010
	  - freebsd: add include path to $(SYSROOT)/local/include
	    (thanks Hellmuth Michaelis)

	* Modules:

	* avcodec: make code C89 compliant (thanks Victor Sergienko)

	* cons: make code C89 compliant (thanks Victor Sergienko)

	* daala: new module

	* dshow: updates for VC2010 (thanks Victor Sergienko)

	* gst1: new module

	* gst_video1: new module

	* gtk: new module

	* menu: fix crash when 0 UAs (thanks Hans Petter Selasky)
		added command 'H' to hold previous call (thanks xanm)

	* wincons: make code C89 compliant (thanks ggcoding)


2015-06-20 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.13

	* GIT commit 2e3e825ef5532dfde5a8b52de9ebaac51aa20a9c
	* NOTE: Requires libre v0.4.12 or later

	* new modules:
	  - aufile      Audio module for using a WAV-file as audio input
	  - b2bua       Back-to-Back User-Agent (B2BUA) module
	  - codec2      CODEC2 audio codec
	  - gst_video   Gstreamer video codec
	  - h265        H.265 (HEVC) video codec

	* baresip-core:
	  - contact: add support for access-control (thanks Doug Blewett)
	  - ausrc: change base-class to a const pointer
	  - auplay: change base-class to a const pointer
	  - vidsrc: change base-class to a const pointer
	  - vidisp: change base-class to a const pointer
	  - video: smooth sending of video packets


	* Modules:

	* amr: added support for octet-align mode (thanks to Stefan Sayer)

	* aubridge: copy audio-samples if resampler not needed

	* aufile: new module for using a WAV-file as audio source

	* avcapture: only register 1 video source

	* avformat: fix segfault on recent versions of libav

	* b2bua: new experimental module

	* codec2: new module for CODEC2 audio codec

	* dtls_srtp: uppercase fingerprint, interop (thanks Juha Heinanen)
		     alternative SDP protocols for interop

	* dtmfio: unregister event handler on close (thanks Hellmuth Michaelis)

	* gst_video: new module using Gstreamer as a video codec
		     (Thanks to Victor Sergienko and Fadeev Alexander)

	* h265: new module for H.265 video codec

	* httpd: added raw mode (thanks Lorenzo Mangani)

	* menu: create user-agent with a command 'R' (thanks Lorenzo Mangani)

	* opus: add configuration of "opus_bitrate"
		(thanks to Juha Heinanen)

	* speex: add configuration of "speex_mode_nb" and "speex_mode_wb"
		 (thanks to Dmitrij D. Czarkoff and Juha Heinanen)

	* vidloop: add VIDLOOP_INTERNAL_FMT and split encoder/decoder

	* x11: catch Window delete (thanks to Doug Blewett)

	* zrtp: initialize remote_zid (thanks to Ingo Feinerer)


2014-12-24 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.12

	* GIT commit 67993e35d980375458348b264c4a35a944bb5180
	* NOTE: Requires libre v0.4.11 or later

	* baresip:
	  - account: add regint and pubint
	  - audio: fix checking of sample-rate range
	  - config: remove the "input" block
	  - config: added support for quoted device parameters
	  - config: fix conversion of bandwidth to kbit/s
	  - config: generate more relevant config for FreeBSD and OpenBSD
		    (thanks Dmitrij D. Czarkoff)
	  - reg: add support for extracting GRUU parameter
	  - main: add -p option to set path to audio files
	  - sipreq: make response-handler optional
	  - ua: add support for GRUU (RFC 5627)
	    (many thanks to Juha Heinanen for starting this work and
	     helping out with the testing)
	  - ua: moved presence-status to each struct ua instance
	  - ua: add presence status to each User-Agent instance
	  - ua: use public-GRUU if set, otherwise local cuser
	  - ui: make UI single instance
	  - video: add VIDENC_INTERNAL_FMT (suggested by Victor Sergienko)

	* docs: added sample configuration files

	* account: added pubint for Publishing Interval

	* avcodec: upgrade to recent ffmpeg/libav APIs
		   either FFmpeg or libav can be used

	* celt: deleted module (replaced by opus)

	* cons: update usage of struct ui, added output handler
		added config: cons_listen    0.0.0.0:5555

	* evdev: update usage of struct ui, added output handler
		 added config: evdev_device    /dev/input/event0

	* httpd: added ui output handler

	* menu: added command 'o' for sending OPTION request
		(thanks to Juha Heinanen)

		added command 'D' for accepting incoming calls

	* mwi: subscribe to MWI after Registration succeeded
	       (thanks to Juha Heinanen)

	* opensles: add double-buffering and some tuning
		    (thanks to Francesco Bradascio)

	* opus: added config "opus_bitrate" (thanks to Sebastian Reimers)

	* presence: added support for PUBLISH (thanks to Juha Heinanen)
		    interop fixes and tuning

	* stdio: update usage of struct ui, added output handler

	* uuid: use internal version of generating UUID

	* v4l2: use memory mapped mode only

	* vumeter: dont call tmr_start from non-RE thread

	* wincons: update usage of struct ui, added output handler

	* winwave: fix bug when closing player device
		   (thanks to Tomasz Ostrowski)
		   add support for mapping device name to index

	* zrtp: add support for verify SAS (thanks to Ingo Feinerer)


2014-06-21 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.11

	* GIT commit 7a465f2eb92f4e32740093e5ad4970d528908c51

	* baresip:
	  - audio: added audio_ismuted() to get audio mute status
	  - audio: fix timestamp generation for stereo-streams
	  - audio: send outgoing audio-packets as soon as possible
	  - audio: upgrade to sample-based ausrc/auplay API
	  - auplay: change API to use samples instead of 8-bit buffer
	  - auplay: remove option to specify sample format (always S16LE)
	  - ausrc: change API to use samples instead of 8-bit buffer
	  - ausrc: remove option to specify sample format (always S16LE)
	  - call: added support for X-RTP-Stat header (thanks Lorenzo Mangani)
	  - call: check for common audio-codecs (thanks Juha Heinanen)
	  - logging: use info() instead of DEBUG_INFO();
	  - logging: use warning() instead of DEBUG_WARNING()
	  - play: convert WAV-file from little-endian to native-endian
	  - removed support for Symbian OS

	* debian: upgrade debian files

	* avcapture: also build for MacOSX

	* alsa: fix sample-endianess with SND_PCM_FORMAT_S16
		upgrade to sample-based ausrc/auplay API

	* audiounit: upgrade to sample-based ausrc/auplay API

	* auloop: upgrade to sample-based ausrc/auplay API

	* coreaudio: upgrade to sample-based ausrc/auplay API

	* dtls_srtp: use DTLS code from libre (needs libre v0.4.9 or later)
		     use SRTP code from libre (needs libre v0.4.9 or later)

	* dtmfio: new module to send DTMF-events via FIFO file
		  (contributed by Aaron Herting)

	* fakevideo: new module for fake video input/output driver

	* gst: upgrade to sample-based ausrc/auplay API

	* ice: set default candidates for ICE-lite

	* libsrtp: module 'srtp.so' renamed to 'libsrtp.so'

	* mda: Symbian MDA audio driver was deleted

	* menu: fix issue with audio-mute on multiple calls

	* opensles: upgrade to sample-based ausrc/auplay API

	* oss: upgrade to sample-based ausrc/auplay API

	* portaudio: upgrade to sample-based ausrc/auplay API

	* rst: upgrade to sample-based ausrc/auplay API

	* selftest: new module for testing the baresip core api

	* sndio: new module for OpenBSD audio driver
                 (It was contributed by Dmitrij D. Czarkoff, thank you!)

	* srtp: module is now using SRTP-stack from libre (v0.4.9 or later)

	* syslog: use logging framework to get messages

	* v4l2: add format negotiation and OpenBSD support
                (contributed by Dmitrij D. Czarkoff)

	* winwave: upgrade to sample-based ausrc/auplay API


2014-01-23 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.10

	* baresip:
	  - account: add account_set_display_name() -- thanks Dimitris
	  - audio: use both srate/channels to check if resampler is needed
	  - aufilt: change from frame_size to ptime
	  - auplay: change from frame_size to ptime
	  - ausrc: change from frame_size to ptime
	  - config: add optional ausrc_channels and auplay_channels
	  - config: create config dir with mode 0700 (suggested by Jann Horn)
	  - play: update auplay usage with ptime

	* alsa: update to new ausrc/auplay API with ptime
		fix bug when snd_pcm_readi() returns -EPIPE (thanks Remik)
		open device from main thread instead of alsa-thread (thanks EL)
		(caused problems with Sennheiser Century SC 660 + USB adapter)
	
	* auloop: minor cleanups and improvements

	* coreaudio: update to new ausrc/auplay API with ptime

	* gst: update to new ausrc/auplay API with ptime

	* l16: fix a bug with sample count

	* opus: fix a memory corruption error in opus_decode_pkloss()

	* oss: update to new ausrc/auplay API with ptime

	* plc: update to new aufilt API with ptime

	* portaudio: update to new ausrc/auplay API with ptime
		     fix bugs when using channels=2 (stereo)
		     configure device index using "device" parameter

	* rst: update to new ausrc/auplay API with ptime

	* speex_aec: update to new aufilt API with ptime

	* speex_pp: update to new aufilt API with ptime

	* winwave: update to new ausrc/auplay API with ptime

	* zrtp:	update to use libzrtp from Travis Cross' github
		use config dir to store ZRTP cache-file (thanks Juha Heinanen)
	
	
2014-01-06 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.9

	* new modules:
	  - zrtp  Media Path Key Agreement for Unicast Secure RTP

	* build:
	  - added support for LLVM clang compiler

	* baresip:
	  - account: add account_laddr()
	  - audio: upgrade to new librem auresamp API
	  - config: use oss,/dev/dsp as default device for FreeBSD
	  - log: added new logging framework
	  - main: added new verbose debug argument (-v)
	  - net: added sanity check for HAVE_INET6 build flag
	  - play: added play_set_path() -- thanks to Dimitris P.
	  - ua: added uag_find_param()
	  - ua: fix param-bug in ua_connect() -- thanks to Juha Heinanen

	* aubridge: upgrade to new librem auresamp API

	* avcodec: use new av_frame_alloc() api

	* celt: deprecate CELT-module, use OPUS instead

	* opengles: fix warnings (thanks to Dimitris P.)

	* opensles: fix bugs in player and recorder

	* opus: encode/decode sdp parameters as of I-D

	* speex_resamp: module removed, replaced by librem's resampler

	* zrtp: new module for ZRTP media encryption (use ;mediaenc=zrtp)


2013-12-06 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.8

	* new modules:
	  - dtls_srtp  DTLS-SRTP media encryption module (RFC 5763,5764)
	  - aubridge   Audio Bridge to connect auplay->ausrc
	  - vidbridge  Video Bridge module to connect vidisp->vidsrc

	* baresip:
	  - added RFC 5576  Source-Specific Media Attributes in SDP
	  - audio: set SDP bandwidth only if "rtp_bandwidth" config set
	  - play: do not store a copy of global config
	  - stream: save RTCP statistics from Sender-reports
	  - stream: add SDP ssrc attribute
	  - stream: added metrics for packets/bytes transmit/receive
	  - ua: added uag_current()/_set() to get/set current User-Agent
	  - video: set maximum RTP packet-size to 1024 bytes

	* config:
	  - added "video_display  module,device" for Video Display
	  - added "rtp_stats      {off,on}" for RTP Statistics after Call
	  - default RTP bandwidth is now 0-0

	* contact: dynamic command description for "Message" handling
		   dial from current UA (thanks to Simon Liebold)

	* isac: upgrade to draft-ietf-avt-rtp-isac-04

	* srtp: added auto-negotiation of RTP-profile for incoming calls
		(RTP/AVP, RTP/AVPF, RTP/SAVP, RTP/SAVPF)

	* vidloop: fix memory leak


2013-11-12 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.7

	* new modules:
	  - httpd   HTTP webserver UI module

	* baresip:
	  - added RFC 5506 Support for Reduced-Size RTCP
	  - audio: minor cleanups
	  - cmd: ignore RELEASE key in editor mode
	  - conf: add conf_get_sa()
	  - mnat: add address family (af) to session handler
	  - realtime: fixes for iOS (thanks Dimitris)
	  - ua: make ua_register() public
	  - ua: add ua_calls() to get list of calls
	  - ua: only create register client if regint > 0

	* debian: update dependencies (thanks Juha Heinanen)

	* rpm: added RPM package spec file

	* alsa: open device from thread to avoid blocking re-main loop

	* avcodec: build fixes for Debian Testing

	* avformat: use sys_msleep()

	* contact: improve matching logic (thanks EJC Lindner)

	* dshow: initialize variables (found with cppcheck)

	* evdev: fix formatted printing (found with cppcheck)

	* ice: use address family (AF) from call

	* ilbc: update to separate encoder/decoder states (thanks Dimitris)
	
	* snapshot: initialize variables (found with cppcheck)

	* stun: use address family (AF) from call

	* turn: use address family (AF) from call

	* uuid: fix usage of strncat()


2013-10-11 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.6

	* new modules:
	  - directfb   DirectFB video display module (thanks Andreas Shimokawa)
	  - dshow      Windows DirectShow vidsrc (thanks Dusan Stevanovic)
	  - wincons    Console input driver for Windows

	* baresip:
	  - audio: print audio-pipelines in console/debug
	  - aufilt: split into separate encoder+decoder states
	  - call: add local uri/name, dtmf-handler
	  - call: fix decoding of DTMF/SIP-INFO for '*' and '#'
	  - export CALL_EVENT_* in public API
	  - fix various clang warnings
	  - sipreq: use outbound proxy if specified (thanks EJC Lindner)
	  - ua: add possibility to specify 'struct call' for hangup/answer
	  - ua: move SIP extensions into a dynamic vector container
	  - ua: move playing of tones from call.c to ua.c
	  - vidfilt: split into separate encoder+decoder states
	  - vidisp: remove input handler

	* menu: improve call-transfer handling

	* plc: update to separate encoder/decoder states

	* selfview: update to separate encoder/decoder states

	* snapshot: remove state which was not needed

	* sndfile: update to separate encoder/decoder states
                   print unique timestamp to saved files

	* speex_aec: update to separate encoder/decoder states

	* speex_pp: update to separate encoder/decoder states

	* vidloop: update to separate encoder/decoder vidfilt states

	* vumeter: update to separate encoder/decoder states

	* wincons: new module for Console input on Win32


2013-08-31 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.5

	* new modules:
	  - account      Account loader module
	  - natpmp	 NAT-PMP client (RFC 6886)
	  - sdl2         Video display using libSDL2
	
	* baresip:
	  - account: added SIP account parser and container
	  - config: split conf.c into conf.c and config.c
	  - config: move enum audio_mode to struct config
	  - config: move uuid to struct config
	  - more usage of the #ifdef USE_VIDEO macro
	  - message: add handling of SIP MESSAGE send/recv
	  - mediaenc: added rtp_sock parameter to media-handler
	  - ua: cleanup public struct ua API
	  - vidisp api: remove unused 'parent' parameter
	  - call: handle incoming DTMF in SIP INFO (application/dtmf-relay)
	  - sdp: added sdp_decode_multipart()
	  - net: fix bug on IP-refresh when 'net_interface' is used
	  - video: minor cleanups
		   handle incoming RTCP_RTPFB_GNACK
	
	* isac: fix encode_update() signature

	* menu: move dialbuffer here from ua.c
		added command 'g' to print current config

	* mwi: multiple MWIs for multiple UAs

	* presence: include supported methods in SIP messages

	* srtp: improved interop and debugging
		handle incoming RTP/RTCP-demultiplexing

	* uuid: write loaded UUID directly to struct config

	* vidloop: added video-filters


2013-05-18 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.4

	* new modules:
	  - g726      G.726 audio codec
	  - mwi       Message Waiting Indication
	  - snapshot  Save video-stream as PNG images

	* config:
	  - added 'sip_certificate' to use a Certificate for SIP/TLS
	  - added 'ausrc_srate' and 'auplay_srate' to force DSP samplerate

	* baresip:
	  - added a simple BFCP client
	  - aufilt: improved API
	  - mediaenc: improved API with session state
	  - ua: added event handler framework
	  - aucodec: improved API with separate encode/decode state
	  - vidcodec: improved API with separate encode/decode state
	  - sdp.c: added SDP helper functions
	  - ua: move registration client to reg.c
	  - audio: added internal resampler

	* auloop: added config option 'auloop_codec' for setting codec

	* ice: remove old 'ice_interface' config option

	* menu: move handling of status-mode here

	* selfview: added config option 'selfview_size'

	* vp8: upgrade to draft-ietf-payload-vp8-08

	* winwave: cleanup and minor fixes


2013-01-01 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.3

	* new modules:
	  - selfview    Video selfview as video-filter module
	  - vumeter	Audio-filter module to display recording/playback level

	* config:
	  - added 'net_interface" to bind to a specific network interface
	  - added accounts 'regq' parameter for SIP Register client

	* baresip:
	  - added video-filter plugin API (vidfilt)
	  - audio.c: cleanups, split into transmit/receive part
	  - ua: added SIP Allow-header (thanks Juha Heinanen)
	  - ua: added Register q-value (thanks Juha Heinanen)
	  - ua: fix DTMF end event bug

	* avcodec: fix x264 fps bug (thanks Trevor Jim)

	* ice: only include ufrag/pwd in session SDP (thanks Juha Heinanen)

	
2012-09-09 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.2

	* new modules:
	  - auloop    Audio-loop test module
	  - contact   Contacts module
	  - isac      iSAC audio codec
	  - menu      Interactive menu
	  - opengles  OpenGLES video output
	  - presence  Presence module
	  - syslog    Syslog module
	  - vidloop   Video-loop test module

	* baresip:
	  - added support for call transfer
	  - added support for call waiting
	  - added multiple calls per user-agent
	  - added multiple registrations per user-agent
	  - cmd: added new command interface
	  - ua:  handle SIP Require header for incoming calls
	  - ui:  cleanup, use dynamic interactive menu
	
	* config:
	  - added 'audio_alert' for ringtones etc.
	  - added 'outboundX=proxy' for multiple outbound proxies
	  - added 'module_tmp' for temporary module loading
	  - added 'module_app' for application modules
	
	* avcodec: upgrade to latest FFmpeg and fix pts bug

	* natbd: register command 'z' for status

	* srtp: fix memleak on close

	* uuid: added UUID loader


2012-04-21 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.1

	* baresip: do not include rem.h from baresip.h
		   rename struct conf to struct config
		   vidsrc API: move size to alloc handler
		   aucodec API: change fmtp type to 'const char *'
				add SDP fmtp compare handler
		   vidcodec API: added enqueue and packetizer handlers
				 remove size from vidcodec_prm
				 remove decoder parameters from alloc
				 change fmtp type to 'const char *'
				 add SDP fmtp compare handler
		   remove aufile.c, use librem instead
		   audio: fix Telev timestamp (thanks Paulo Vicentini)
			  configurable order of playback/source start
		   ua_find: match AOR for interop (thanks Tomasz Ostrowski)
		   ua: more robust parsing for incoming MESSAGE
		   ua: password prompt (thanks to Juha Heinanen)
	
	* build: detect amr, cairo, rst, silk modules

	* config: split 'audio_dev' parameter into 'audio_player/audio_source'
		  order of audio_player/audio_source decide opening order
		  rename 'video_dev' parameter to 'video_source'
		  added optional 'auth_user=NAME' account parameter
		  (idea was suggested by Juha Heinanen)
	
	* alsa: play: no need to call snd_pcm_start(), explictly started when
		writing data to the device. (thanks to Christof Meerwald)

	* amr: 	more portable AMR codec
	
	* avcodec: automatic size from encoded frames
		   detect packetization-mode from SDP format
		   use enqueue handler
	
	* avformat: update to latest versions of ffmpeg
	
	* cairo: new experimental video source module

	* cons: added support for TCP

	* evdev: added KEY_KPx (thanks to ccwufu on OpenWRT forum)

	* g7221: use bitrate from decoded SDP format
		 added optional G722_PCM_SHIFT for 14-bit compat
	
	* rst: thread-based video source
	
	* silk: fix crash, init encoder, bitrate=64000 and complexity=2
	        (reported by Juha Heinanen)
	
	* srtp: decode SDES lifetime and MKI

	* v4l, v4l2: better module detection for FreeBSD 9
		     do not include malloc.h
		     (thanks to Matthias Apitz)

	* vpx: auto init of encoder
	
	* winwave: fix memory leak (thanks to Tomasz Ostrowski)

	* x11: add support for 16-bit graphics
	

2011-12-25 Alfred E. Heggestad <aeh@db.org>

	* Version 0.4.0

	* updated doxygen comments (thanks to Olle E. Johansson)

	* docs: added modules description

	* baresip: add ua_set_aumode(), configurable audio-tx mode
		   vidsrc API: added media_ctx shared with ausrc
		   ausrc API: add media_ctx shared with vidsrc
		   audio_encoder_set() - stop audio source first
		   audio_decoder_set() - include SDP format parameters
		   aufile: add PREFIX to share path (thanks to Juha Heinanen)
		   natbd.c: move code to a new module 'natbd'
		   get_login_name: check both LOGNAME and USER
		   ua.c: unique contact-user with address of struct ua
		   ua.c: find correct UA for incoming SIP Requests
		   ua_connect: param is optional (thanks to Juha Heinanen)
		   video: add video_set_source()
	
	* amr: minor improvements

	* audiounit: new module for MacOSX/iOS audio driver

	* avcapture: new module for iOS video source

	* avcodec: fixes for newer versions of libavcodec

	* gsm: handle packet-loss

	* natbd: move to separate module from core
	
	* opengl: fix building on MacOSX 10.7
		  (thanks to David Jedda and Atle Samuelsen)

	* opus: upgrade to opus v0.9.8

	* rst: use media_ctx for shared audio/video stream

	* sndfile: fix stereo mode
	

2011-09-07 Alfred E. Heggestad <aeh@db.org>

	* Version 0.3.0

	* baresip: use librem for media processing
		   added support for video selfview
		   aubuf, autone, vutil: moved to librem
		   ua: improved API
		   conf: use internal parser instead of fscanf()
		   vidloop: cleanup, use librem for processing

	* config: add video_selfview={pip,window} parameter	

	* amr: new module for AMR and AMR-WB audio codecs (RFC 4867)

	* avcodec, avformat: update to latest version of FFmpeg

	* coreaudio: fix building on MacOSX 10.5 (thanks David Jedda)

	* ice: fix building on MacOSX 10.5 (thanks David Jedda)

	* opengl: remove deps to libswscale

	* opensles: new module OpenSLES audio driver

	* opus: new module for OPUS audio codec

	* qtcapture: remove deps to libswscale

	* rst: new module for mp3 audio streaming

	* silk: new module for SILK audio codec

	* v4l, v4l2: remove deps to libswscale

	* x11: remove deps to libswscale, use librem vidconv instead

	* x11grab: remove deps to libswscale


2011-05-20 Alfred E. Heggestad <aeh@db.org>

	* Version 0.2.0

	* baresip: Added support for SIP Outbound (RFC 5626)
		   The SDP Content Attribute (RFC 4796)
		   RTP/RTCP Multiplexing (RFC 5761)
		   RTP Keepalive (draft-ietf-avt-app-rtp-keepalive-09)

	* config: add 'outbound' to sipnat parameter (remove stun, turn)
		  add rtpkeep={zero,stun,dyna,rtcp} parameter
		  audio_codecs parameter can now specify samplerate
		  add rtcp_mux for RTP/RTCP multiplexing on/off

	* alsa: set buffersize and fix samplesize (thanks to Luigi Rizzo)

	* avcodec: added support for MPEG4 video codec (RFC 3016)
		   wait for keyframe before decoding

	* celt: upgrade libcelt version and cleanups

	* coreaudio: fix buffering in recorder

	* ice: several improvements and fixes
	       added new config options

	* ilbc: handle asymmetric modes

	* opengl: enable vertical sync

	* sdl: upgrade to latest version of libSDL from mercurial

	* vpx: added support for draft-westin-payload-vp8-02

	* x11: handle remote display with optional shared memory

	* x11grab: new video-source module (thanks to Luigi Rizzo)

	* docs: updated doxygen comments