12018-02-11 Alfred E. Heggestad <alfred.heggestad@gmail.com>
2
3	* Version 0.5.8
4
5	* GIT URL: https://github.com/alfredh/baresip.git
6	* GIT tag: v0.5.8
7	* NOTE: Requires libre v0.5.7 or later
8	        Requires librem v0.5.2 or later
9
10	* new commands:
11
12	  - /aubitrate 64000   -- Set audio bitrate
13
14	* new modules:
15
16	  - ctrl_tcp      TCP control interface using JSON payload
17			  (thanks Jos� Luis Mill�n)
18
19	* config:
20
21	  auenc_format            s16             # s16, float, ..
22	  audec_format            s16             # s16, float, ..
23
24	  videnc_format           yuv420p         # yuv420p, yuv444p, ..
25
26	* baresip-core:
27	  - account: password in SIP uri is now deprecated
28	  - aucodec: add encoder/decoder audio sample format (#352)
29	  - aucodec: add bitrate to encoder param
30	  - audio: add function to set encoder bitrate
31	  - audio: sample format for audio encoder/decoder
32	  - call: add call_id accessor
33	  - call: fix memory leak in case sipsess_connect() fails
34	  - config: add configurable video pixel format
35	  - config:  set exact installation pathes at build time (#354)
36		     (thanks Guillaume Rousse)
37	  - event: fix memory leak
38	  - event: add call-id to JSON dict
39	  - log: rename log_enable_stderr to log_enable_stdout
40	  - metric: fix calculation of average bitrate
41	  - reg: add display-name to SIP register
42	  - stream: print a message when incoming RTP stream is established
43	  - timer: add tmr_jiffies_usec
44	  - video: save and show pixel format of incoming video
45	  - vidutil: new file for video utility functions
46
47	* selftest:
48	  - event: add testcase for events
49	  - sip: make 'struct user' opaque
50	  - ua: update password using ;auth_pass=XXX parameter
51
52	* Modules:
53
54	* account: update template with auth_pass parameter
55
56	* amr: update aucodec API with audio sample format
57
58	* avcodec: Return EPROTO when encountering missing fragments in
59		   H264 stream, to trigger intra-frame request (#339)
60		   (thanks Jonathan Sieber)
61		   use AV_INPUT_BUFFER_MIN_SIZE (ref #351)
62		   add support for YUV444P pixel format
63
64	* avformat: use av_dump_format()
65
66	* bv32: update aucodec API with audio sample format
67
68	* codec2: update aucodec API with audio sample format
69
70	* ctrl_tcp: new module for TCP control interface using JSON payload
71		   (thanks Jos� Luis Mill�n)
72
73	* g711: update aucodec API with audio sample format
74
75	* g722: update aucodec API with audio sample format
76
77	* g7221: update aucodec API with audio sample format
78
79	* g726: update aucodec API with audio sample format
80
81	* gsm: update aucodec API with audio sample format
82
83	* gst1: define _POSIX_C_SOURCE to make nanosleep visible
84
85	* l16: update aucodec API with audio sample format
86
87	* mpa: update aucodec API with audio sample format
88
89	* mqtt: update README with correct JSON syntax (ref #356)
90
91	* omx: fix compilation for Raspbian
92
93	* opus: update aucodec API with audio sample format
94		add support for FLOAT sample format
95
96	* silk: update aucodec API with audio sample format
97
98	* speex: deprecate, disable as autodetected module
99
100	* speex_aec: always link to libspeexdsp
101
102	* speex_pp: always link to libspeexdsp
103
104
1052017-12-25 Alfred E. Heggestad <alfred.heggestad@gmail.com>
106
107	* Version 0.5.7
108
109	* GIT URL: https://github.com/alfredh/baresip.git
110	* GIT tag: v0.5.7
111	* NOTE: Requires libre v0.5.5 or later
112	        Requires librem v0.5.0 or later
113
114	* Credits: Thanks to Swedish Radio who sponsored many new
115		   features in this release.
116
117	* new commands:
118	  -  'conf_reload' -- Reload config file
119
120	* new modules:
121	  - gzrtp         ZRTP module using GNU ZRTP C++ library
122			  (thanks glenvt18)
123
124	  - mqtt          MQTT (Message Queue Telemetry Transport) module
125			  (sponsored by Swedish Radio)
126
127	* config:
128	  - audio_txmode  poll|thread        Set audio transmit mode
129	  - auplay_format s16|float|s24_3le  Set playback sample format
130	  - ausrc_format  s16|float|s24_3le  Set source sample format
131	  - sdp_ebuacip   yes|no             Enable EBU-ACIP parameters
132	  - zrtp_hash	  yes|no	     Enable/disable ZRTP hash
133
134	* baresip-core:
135	  - audio: add sample format conversion
136	  - audio: add sample format for source/playback
137	  - audio: check timestamps on incoming RTP packets
138	  - audio: pace outgoing packets in txmode=thread
139	  - audio: remove txmode with realtime thread
140	  - audio: remove txmode with timer
141	  - audio: set EBUACIP parameters in SDP
142	  - auplay: add sample format to auplay_prm
143	  - auplay: change write handler to any sample format
144	  - ausrc: add sample format to ausrc_prm
145	  - ausrc: change read handler to any sample format
146	  - event.c: new file for generic event handling
147	  - event: add event_encode_dict to encode event to a dictionary
148	  - event: added UA_EVENT_CALL_RTCP for received RTCP
149	  - log: print to stdout (ref #320)
150
151	* selftest:
152	  - add test for different audio tx-modes
153	  - add test for float audio sample format
154
155	* Modules:
156
157	* alsa: add support for multiple sample formats
158
159	* audiounit: add support for FLOAT sample format
160
161	* auloop: add support for multiple sample formats
162
163	* avahi: Bugfix: Destroy resolver after callback (#318)
164		 (thanks Jonathan Sieber)
165
166	* avcodec: change x264 rate control mode to ABR (#334)
167		 (thanks Jonathan Sieber)
168
169	* debug_cmd: add command 'conf_reload' to reload config file
170
171	* gzrtp: ZRTP module using GNU ZRTP C++ library
172		 (thanks glenvt18)
173
174	* menu: add config 'ringback_disabled' to disable playing
175	        of ringback tone.
176
177	* mqtt: MQTT (Message Queue Telemetry Transport) module
178		new module using libmosquitto as the backend.
179
180	* opus: fix encoder bitrate, ref #305
181		add opus_stereo config parameter (thanks Ola Palm)
182		add config param opus_sprop_stereo (thanks Ola Palm)
183
184	* portaudio: add support for FLOAT sample format
185
186	* pulse: add support for FLOAT sample format
187		 remove garbage at the beginning of a recording (#323)
188
189	* quicktime: module was removed
190
191	* rst: add support for multiple sample formats
192
193	* zrtp: add signaling hash support (#311)
194
195
196
197
1982017-10-14 Alfred E. Heggestad <alfred.heggestad@gmail.com>
199
200	* Version 0.5.6
201
202	* GIT URL: https://github.com/alfredh/baresip.git
203	* GIT tag: v0.5.6
204	* NOTE: Requires libre v0.5.5 or later
205	        Requires librem v0.5.0 or later
206
207	* New Baresip logo (thanks Ernst and community)
208
209	* baresip-core:
210	  - log: rename error to error_msg due to GNU extension clash
211	  - ua: remove ua_sipfd()
212
213	* Modules:
214
215	* avahi: Avahi Zeroconf Module (thanks Jonathan Sieber)
216
217	* avcodec: handle fragment packet loss
218
219	* cairo: draw a dancing logo
220
221	* ice: set ICE role correctly
222	       set retransmit count (RC) to 4
223
224	* opensles: fix recorder speaker setup (thanks Juha Heinanen)
225
226	* opus: fix encoder bitrate, ref #305
227
228	* zrtp: encrypt/decrypt RTCP packets (thanks @glenvt18)
229
230
2312017-09-07 Alfred E. Heggestad <alfred.heggestad@gmail.com>
232
233	* Version 0.5.5
234
235	* GIT URL: https://github.com/alfredh/baresip.git
236	* GIT tag: v0.5.5
237	* NOTE: Requires libre v0.5.5 or later
238	        Requires librem v0.5.0 or later
239
240	* new commands:
241	  - insmod module.so -- Load a module
242	  - rmmod  module.so -- Unload a module
243
244	* config:
245	  - fullscreen  yes|no    Enable fullscreen display
246
247	* baresip-core:
248	  - account: optional param 'auth_pass' for password
249		     add account_set_auth_pass()
250		     add account_aor()
251		     add account_auth_pass()
252	  - contact: add update handler (thanks Jonathan Sieber)
253	  - h264: add rtp_ts RTP Timestamp
254	  - module: add module_load/unload
255		    remove list of application modules
256	  - stream: reset timer on incoming RTCP packets (fixes #271)
257	  - ui: make the API re-entrant
258	  - video: add RTP timestamp to videnc packet handler
259		   add video_calc_rtp_timestamp()
260		   add video_calc_seconds()
261	  - video: use RTP timestamp from video encoder
262
263	* selftest:
264	  - add test for video timestamps
265
266	* Modules:
267
268	* account: move password prompt here
269
270	* av1: use encoder PTS to calculate RTP timestamp
271
272	* avcodec: use encoder PTS to calculate RTP timestamp
273		   use level_idc=0x1f for x264
274
275	* cons: updated UI api
276
277	* evdev: updated UI api
278
279	* gst_video: use encoder PTS to calculate RTP timestamp
280
281	* gst_video1: use encoder PTS to calculate RTP timestamp
282
283	* h265: use encoder PTS to calculate RTP timestamp
284		fix FU decoder bug
285
286	* httpd: updated UI api
287
288	* ice: move gathering from lib to app
289	       (requires libre v0.5.5 or later)
290
291	* menu: updated UI api
292
293	* mwi: updated UI api
294
295	* presence: Handle contacts added at run-time
296		    (thanks Jonathan Sieber)
297
298	* sdl: updated UI api
299
300	* sdl2: add support for fullscreen video
301
302	* stdio: updated UI api
303
304	* v4l: add support for more pixel-formats
305
306	* v4l2_codec: use encoder PTS to calculate RTP timestamp
307
308	* vp8: use encoder PTS to calculate RTP timestamp
309
310	* vp9: use encoder PTS to calculate RTP timestamp
311
312	* wincons: updated UI api
313
314
3152017-06-24 Alfred E. Heggestad <alfred.heggestad@gmail.com>
316
317	* Version 0.5.4
318
319	* GIT URL: https://github.com/alfredh/baresip.git
320	* GIT tag: v0.5.4
321	* NOTE: Requires libre v0.5.4 or later
322	        Requires librem v0.5.0 or later
323
324	* config:
325	  - audio_level  yes|no    Enable audio level RTP extension
326
327	* baresip-core:
328	  - add support for Client-to-Mixer Audio Level Indication (RFC 6464)
329	  - add support for RTP Header Extensions (RFC 5285)
330	  - module: dont load same static module twice
331	  - ua: add ua_progress()
332	  - ua: check for Accept header in incoming OPTIONS request
333	  - use a dummy RTP port for incoming OPTIONS (ref #265)
334	  - vidcodec: make the API re-entrant
335	  - vidfilt: make the API re-entrant
336	  - vidisp: make the API re-entrant
337	  - vidsrc: make the API re-entrant
338
339	* selftest:
340	  - add test for audio level indication in call
341	  - add test for call progress
342
343	* Modules:
344
345	* (all video modules updated with API-changes)
346
347	* zrtp: check for RTP packet in send handler (ref #262)
348		(thanks to MobiSciLab for reporting the bug)
349
350		- registered zrtp_log function with zrtp engine
351		- improved info message on how to verify remote peer
352		- improved setting and printing of zrtp cache file
353		(thanks Juha Heinanen)
354
355
3562017-05-14 Alfred E. Heggestad <alfred.heggestad@gmail.com>
357
358	* Version 0.5.3
359
360	* GIT URL: https://github.com/alfredh/baresip.git
361	* GIT tag: v0.5.3
362	* NOTE: Requires libre v0.5.3 or later
363	        Requires librem v0.5.0 or later
364
365	* config:
366	  - (no changes)
367
368	* build:
369	  - detect jack module (thanks Tony Langley)
370	  - Updated MSVS projects to vs2015 (thanks Mikhail Barg)
371
372	* baresip-core:
373	  - aulevel: add aulevel_calc_dbov()
374	  - audio: Set correct clock rate for telephone events
375		   (thanks Jan Hoffmann)
376	  - play: Add gapless repeat for tone playback (thanks Jan Hoffmann)
377
378	* selftest:
379	  - add tests for aulevel
380	  - add tests for audio player
381	  - add mock aucodec/auplay
382
383	* Modules:
384
385	* gst_video1: Tune x264enc for low latency (thanks Jonathan Sieber)
386
387	* httpd: fix a crash
388
389	* ice: update to latest libre ICE-api
390
391	* omx: Fixed some problems on OMX/RaspberryPi (thanks Jonathan Sieber)
392
393	* srtp: fix SRTP for early-media (thanks Jan Hoffmann)
394
395	* vumeter: use aulevel_calc_dbov to calculate signal energy
396
397	* zrtp: update to latest libzrtp from freeswitch (thanks Juha Heinanen)
398
399
4002017-04-07 Alfred E. Heggestad <alfred.heggestad@gmail.com>
401
402	* Version 0.5.2
403
404	* GIT URL: https://github.com/alfredh/baresip.git
405	* GIT tag: v0.5.2
406	* NOTE: Requires libre v0.5.0 or later
407	        Requires librem v0.5.0 or later
408
409	* new modules:
410	  - omx    OpenMAX IL video display module (thanks Jonathan Sieber)
411
412	* config:
413	  - (no changes)
414
415	* baresip-core:
416	  - aucodec: make the API re-entrant
417	  - aufilt: make the API re-entrant
418	  - auplay: make the API re-entrant
419	  - ausrc: make the API re-entrant
420	  - video: using a video-source is now optional
421
422	* Modules:
423
424	* avformat: add pixelformat AV_PIX_FMT_YUVJ420P (Thanks Gary Metalle)
425
426	* cairo: print picture info, use grey background
427
428	* dtmfio: check fd before calling fclose (thanks Richard Perez)
429
430	* h265: enable YUV444P pixelformat
431
432	* oss: fix build for Solaris 11
433
434	* speex: mark the module as deprecated, see speex.org
435
436
4372017-03-04 Alfred E. Heggestad <alfred.heggestad@gmail.com>
438
439	* Version 0.5.1
440
441	* GIT URL: https://github.com/alfredh/baresip.git
442	* GIT tag: v0.5.1
443	* NOTE: Requires libre v0.5.0 or later
444	        Requires librem v0.5.0 or later
445
446	* new modules:
447
448	* config:
449	  - stunuser		STUN username for STUN/TURN/ICE
450	  - stunpass		STUN password for STUN/TURN/ICE
451	  - snd_path		Path to sndfile audio dump files
452
453	* baresip-core:
454	  - account: add more accessor functions
455	  - account: add 'stunuser' and 'stunpass'
456	  - commands: make the struct commands opaque
457	  - message: make the API re-entrant, multiple listeners
458	  - menc: make the API re-entrant
459	  - mnat: make the API re-entrant
460
461	* selftest:
462	  - add tests for account
463	  - add tests for message
464
465	* Modules:
466
467	* amr: use MOD-CFLAGS instead of global CFLAGS
468
469	* avcodec: added optional config 'avcodec_h264dec' to specify hardware
470		   accellerated FFmpeg decoder (thanks Harald Gutmann)
471
472	* avformat: remove blocking sleep, use packet timestamp to
473		    pace video stream (thanks Harald Gutmann)
474
475	* debug_cmd: add OpenSSL version to systems info
476
477	* gtk: fix build where USE_NOTIFICATIONS is not defined
478	       get rid of system header warnings by using -isystem
479
480	* httpd: add support for un-escaping of URL parameters
481		 (thanks to elektm93)
482
483	* menu: add new command 'ausrc' to switch audio source
484		add new command 'auplay' to switch audio player
485
486	* sdl2: add more pixelformats (ref #202)
487		(thanks Harald Gutmann)
488
489	* sndfile: add config to specify path for dump files (thanks Elektm93)
490		   add test for sndfile on *BSD. (#194) (thanks jungle-boogie)
491
492	* swscale: get dst-size from config (ref #203)
493
494	* v4l2_codec: Video device selection bug (#218)
495		      (thanks Richard Perez)
496
497
4982016-12-23 Alfred E. Heggestad <alfred.heggestad@gmail.com>
499
500	* Version 0.5.0
501
502	* GIT URL: https://github.com/alfredh/baresip.git
503	* GIT tag: v0.5.0
504	* NOTE: Requires libre v0.5.0 or later
505	        Requires librem v0.5.0 or later
506
507	* new modules:
508	  - av1		Experimental AV1 video codec
509	  - debug_cmd	Debug commands for advanced users
510	  - pcp		Port Control Protocol (PCP) for NAT traversal
511	  - swscale	Video scaling using FFmpeg's libswscale
512
513	* config:
514	  - call_max_calls	Maximum number of calls per account
515
516	* baresip-core:
517	  - call: add multiple lines
518	  - call: start video on reinvite (thanks Gary Metalle)
519	  - cmd: add support for long commands
520	  - cmd: make it re-entrant
521	  - config: add some modules to template (thanks Dmitrij D. Czarkoff)
522	  - contact: make it re-entrant
523	  - play: make it re-entrant
524	  - vidcodec: add a intraframe-flag to api
525	  - video: resend FIR until Intra frame received
526
527	* selftest:
528	  - add test for DTMF in call
529	  - add test for contacts
530	  - add test for long commands
531	  - add test for maximum calls
532	  - add test for multiple calls
533	  - add test for video call
534	  - add audio-source mock
535	  - add video-codec mock
536	  - add video-display mock
537	  - add video-source mock
538
539	* Modules:
540
541	* aufile: convert samples from little-endian to host-endian
542
543	* auloop: use long commands /auloop and /auloop_stop
544
545	* av1: new module for Experimental AV1 video codec
546
547	* avcodec: add config option 'avcodec_h264enc' to set encoder name
548		   (thanks to @hargut)
549
550	* avformat: fix init and warnings (thanks Maciej Koman)
551
552	* b2bua: use long command /b2bua
553
554	* contact: use long commands
555
556	* debug_cmd: new module for advanced debug commands
557
558	* g7221: expose spandsp api (thanks to Steve Underwood)
559
560	* gtk: use long command /gtk
561
562	* h265: add 'profile-id=1' to SDP
563
564	* menu: add long commands
565		add command 'line' or '@' to set current call
566
567	* opengl: fix deprecated warnings on OSX 10.12
568
569	* opensles: add support for stereo
570		    (thanks to Juha Heinanen and Vijay Pratap Singh)
571
572	* opus: add support for SDP parameter mirroring
573		(thanks to Sveriges Radio)
574
575	* pcp: new module for Port Control Protocol (PCP) NAT traversal
576	       requires librew (https://github.com/alfredh/rew)
577
578	* plc: expose spandsp api (thanks to Steve Underwood)
579
580	* presence: add long commands /presence_{on,off}line
581
582	* snapshot: use long commands (thanks Dmitrij D. Czarkoff)
583
584	* sndio: use driver-suggested buffer size (thanks Dmitrij D. Czarkoff)
585
586	* swscale: new module for video filter using libswscale
587
588	* v4l2: pick up VID_FMT_NV12 and VID_FMT_NV21 formats as well (#176)
589		don't check for native/emulated format (#179)
590		(thanks Dmitrij D. Czarkoff)
591
592	* vidloop: use long commands
593
594	* vp8: add 'intra' parameter to decoder api
595	       fix building with old versions of libvpx
596
597	* wincons: graceful closing of thread (fixes #151)
598		   (thanks to @GGGO)
599
600	* zrtp: use long command
601
602
6032016-07-22 Alfred E. Heggestad <aeh@db.org>
604
605	* Version 0.4.20
606
607	* GIT URL: https://github.com/alfredh/baresip.git
608	* GIT tag: v0.4.20
609	* NOTE: Requires libre v0.4.17 or later
610	        Requires librem v0.4.7 or later
611
612	* new modules:
613	  - pulse      Pulseaudio driver
614	  - vp9        VP9 video codec
615
616	* config:
617	  - audio_path          Path to audio files
618	  - call_local_timeout  Timeout for incoming calls
619	  - redial_attempts     Number of redial attempts
620	  - redial_delay        Redial delay in seconds
621
622	* baresip-core:
623	  - baresip: added a global baresip instance (WIP)
624	  - call: add RTP timeout (thanks to Sveriges Radio)
625	  - config: added call_local_timeout for incoming call timeout
626	  - config: added compile-time configureable CONFIG_PATH
627	  - config: added 'audio_path' config variable (thanks Juha Heinanen)
628	  - net: made it re-entrant with struct network
629	  - ua: added uag_set_exit_handler
630	  - ua: fix bug with reg_uri limited to 64-chars
631	  - video: vidfilters should not modify decoded image
632
633	* selftest:
634	  - add test for network
635	  - add test for sending SIP OPTIONS
636	  - add test for RTP timeout
637
638	* Modules:
639
640	* avcodec: fix usage of deprecated API
641
642	* avformat: remove support for scaling
643		    fix usage of deprecated API
644
645	* cons: relay log-messages to active UDP/TCP connections
646		https://github.com/alfredh/baresip/issues/144
647
648	* h265: fix usage of deprecated API
649
650	* menu: added support for re-dial on failure
651		(thanks to Sveriges Radio)
652
653	* mpa: Bug with reinit of codec structs (thanks Christian Hoene)
654
655	* natpmp: added support for RTCP
656
657	* presence: use correct struct in deref handler
658
659	* pulse: new module for Pulseaudio driver
660		 (thanks to Matthias Apitz for testing)
661
662	* vidloop: vidfilters should not modify decoded image
663
664	* vp8: module renamed from vpx.so to vp8.so
665
666	* vp9: new module implementing VP9 video codec
667
668	* wincons: use ReadConsoleInput, thanks to GGGO (fixes #139)
669		   https://github.com/alfredh/baresip/issues/139
670
671
6722016-05-20 Alfred E. Heggestad <aeh@db.org>
673
674	* Version 0.4.19
675
676	* GIT URL: https://github.com/alfredh/baresip.git
677	* GIT tag: v0.4.19
678	* NOTE: Requires libre v0.4.14 or later
679	        Requires librem v0.4.7 or later
680
681	* new modules:
682	  - mpa        MPA Speech and Audio Codec (thanks Christian Hoene)
683
684	* baresip-core:
685	  - audio: remove is_g722 exception
686		   use aucodec's rtp clockrate for calculating RTP timestamp
687		   plc: make sure sampc is exactly one ptime frame
688	  - aucodec: split srate into DSP srate and RTP clockrate
689		     (these are different for e.g. G.722 and MDA)
690	  - mos: add mos_calculate() (thanks Lorenzo Mangani)
691	  - net: use configured dns servers only, if specified
692	  - ua: fix potential NULL-pointer crash for uag.cfg
693
694	* selftest:
695	  - add test for SIP registration with DNS
696	  - add test for SIP registration with authentication
697	  - add test for MOS calculations
698	  - added a mock DNS Server
699	  - added a mock SIP Server
700
701	* Modules:
702
703	* aucodec: add support for NV12 and YUVJ420P pixel formats
704
705	* daala: update to libdaala version 0.0-1564-g79787c7
706
707	* gtk: fix autodetection of libgtk+ 2.0 (thanks Charles Lehner)
708
709	* h265: remove call to x265_cleanup, caused crash on OpenBSD
710
711	* mpa: new module that implements MPA Speech and Audio Codec
712	       (this module was contributed by Christian Hoene)
713
714	* opus: added new configuration parameters:
715		opus_cbr        {yes,no}   # Constant Bitrate (inverse of VBR)
716		opus_inbandfec  {yes,no}   # Enable inband FEC
717		opus_dtx        {yes,no}   # Enable DTX
718
719	* presence: improved interoperability, allow white space before
720		    xml element closing tags (thanks Juha Heinanen)
721
722	* x11: added borderless window (thanks Doug Blewett)
723
724
7252016-03-12 Alfred E. Heggestad <aeh@db.org>
726
727	* Version 0.4.18
728
729	* GIT URL: https://github.com/alfredh/baresip.git
730	* GIT tag: v0.4.18
731	* NOTE: Requires libre v0.4.14 or later
732	        Requires librem v0.4.7 or later
733
734	* baresip-core:
735	  - call: fix SIP INFO with dtmf-relay (thanks Gary Metalle)
736	  - ua: add event UA_EVENT_CALL_CLOSED for ua_hangup()
737
738	* selftest:
739	  - add tests for answer a call and hangup
740
741	* Modules:
742
743	* alsa: fix potential crash (thanks Gary Metalle)
744
745	* audiounit: fix compilation for iOS (issue #91)
746
747	* avcodec: fix compilation for FFmpeg 3.0
748
749	* avformat: fix compilation for FFmpeg 3.0
750
751	* gtk: always handle incoming calls (thanks Charles Lehner)
752
753	* h265: fix compilation for FFmpeg 3.0
754
755	* menu: add config 'menu_bell  off/on' to enable Bell alert
756		add command 'A' for switch audio device (thanks AlexMarlo)
757
758	* v4l2_codec: add list of encoders (fixes #99)
759
760
7612016-01-17 Alfred E. Heggestad <aeh@db.org>
762
763	* Version 0.4.17
764
765	* GIT URL: https://github.com/alfredh/baresip.git
766	* GIT tag: v0.4.17
767	* NOTE: Requires libre v0.4.14 or later
768	        Requires librem v0.4.7 or later
769
770	* new modules:
771	  - echo        Echo server module
772	  - jack        JACK Audio Connection Kit audio-driver
773
774	* baresip-core:
775	  - config: keep config object in memory
776	  - ua: moved playing of ringtones out of core, to "menu" module
777		(let's keep the core nice and slim..)
778	  - ui: added ui_password_prompt()
779
780	* selftest:
781	  - silence debug/info log by default, only print warnings
782	    (use -v to see verbose logging)
783
784	* Modules:
785
786	* alsa: added config option to specify the sample format
787		"alsa_sample_format    {s16,float,s24_3le}"
788		thanks to Ola Palm for valuable feedback
789
790	* audiounit: fix recording on OSX (thanks Sebastian Reimers)
791		     print hardware samplerate in debug mode
792
793	* auloop: add support for 44100 Hz samplerate
794
795	* daala: update to latest libdaala API (thanks Dmitrij D. Czarkoff)
796
797	* echo: new module which implements a simple Echo-server, to
798		be used in combination with the aubridge.so module.
799		contributed by Sebastian Reimers
800
801	* gtk: fixes to support C89 compiler (thanks Dmitrij D. Czarkoff)
802
803	* jack: new module which implements audio-driver for JACK
804
805	* menu: playing of ringtones moved here, from ua.c
806
807	* sndio: fix crash when device open fails (thanks Dmitrij D. Czarkoff)
808
809
8102015-12-01 Alfred E. Heggestad <aeh@db.org>
811
812	* Version 0.4.16
813
814	* GIT URL: https://github.com/alfredh/baresip.git
815	* GIT commit bed2241da3261e472f09b21958f0cc1324a94f27
816	* GIT tag: v0.4.16
817	* NOTE: Requires libre v0.4.14 or later
818
819	* new modules:
820	  - v4l2_codec  Video4Linux2 video codec (H264 hardware encoding)
821	  - vidinfo     Video info overlay module
822
823	* baresip-core:
824	  - audio: add audio_set_source() and audio_set_player()
825	  - audio: flush tx-buffer for all modes (thanks Thibault Gueslin)
826	  - call: add call_is_outgoing()
827	  - call: check address-family of incoming SDP offer (thanks Olle)
828	  - h264: move H.264 packetization code to core
829	  - main: add -u option to append extra global UA parameters
830	  - main: pre-load modules after all arguments are parsed
831	  - ua: add events UA_EVENT_SHUTDOWN,UA_EXIT
832	  - ua: add ua_hold_answer()
833	  - ua: add ua_set_media_af()
834	  - ua: delay mod-unloading if mods has a ref to struct ua
835
836	* build:
837	  - add verbose build with V=1 (thanks Dmitrij D. Czarkoff)
838	  - add pkg-config file (thanks William King)
839	  - add travis.yml file for Github build-system
840
841	* Modules:
842
843	* alsa: fix memory leaks
844
845	* avcodec: move common H.264 packetization code to core
846
847	* cairo: use pkg-config in makefile
848
849	* daala: update to latest libdaala (thanks Dmitrij D. Czarkoff)
850
851	* gst_video: use H.264 packetization API from core
852
853	* gst_video1: use H.264 packetization API from core
854
855	* gtk: fix segmentation fault on window close
856
857	* mwi: add 500ms delay after closing subscription
858
859	* oss: use pthread for ausrc instead of fd_listen (fixes FreeBSD)
860
861	* presence: use sipevent_sock instance from UA core
862		    add 500ms delay after closing subscription
863
864	* v4l2_codec: new module
865
866	* vidinfo: new module
867
868	* zrtp: fix ZRTP over TURN by moving helper to layer 10
869		fix ZID verification (thanks Ingo Feinerer)
870
871
8722015-09-26 Alfred E. Heggestad <aeh@db.org>
873
874	* Version 0.4.15
875
876	* GIT URL: https://github.com/alfredh/baresip.git
877	* GIT commit 86262a6fc17e19e2be82eb8a2a05ec0f884d3d38
878	* GIT tag: v0.4.15
879	* NOTE: Requires libre v0.4.13 or later
880
881	* added selftest binary
882
883	* baresip-core:
884	  - audio: fix televent when pt != 101 (reported by AndyJRobinson)
885	  - magic: use __func__ for C99 or later
886	  - sip: make sip_req_send() public
887	  - ua: add UA_EVENT_CALL_DTMF_START/END, thanks Gary Metalle
888
889	* Modules:
890
891	* alsa: added extra logging
892
893	* gtk: add support for libnotify (thanks Charles Lehner)
894
895	* video: fix potential null deref (thanks Tomasz Ostrowski)
896
897	* zrtp: added 36-bytes preamble for TURN-header
898
899
9002015-08-08 Alfred E. Heggestad <aeh@db.org>
901
902	* Version 0.4.14
903
904	* GIT URL: https://github.com/alfredh/baresip.git
905	* GIT commit ebac23b0692de71ee4c3a436f0372013150c937f
906	* GIT tag: v0.4.14
907	* NOTE: Requires libre v0.4.13 or later
908
909	* new modules:
910	  - gtk		GTK+ 2.0 UI (thanks Charles E. Lehner)
911	  - gst1	Gstreamer 1.0 audio module
912	  - gst_video1	Gstreamer 1.0 video module (thanks Thomas Strobel)
913	  - daala	Experimental video-codec using Daala
914
915	* baresip-core:
916	  - baresip: added -m argument to pre-load modules
917	  - config: add kqueue to sample config (thanks Dmitrij D. Czarkoff)
918	  - log: make code C89 compliant (thanks Victor Sergienko)
919	  - module: added module_preload()
920	  - ua: add CALL_EVENT_TRANSFER_FAILED
921	  - ua: skip initial white space from uri (thanks Juha Heinanen)
922	  - ua: ua_prev_call()
923	  - videnc: move videnc_packet_h to update-handler
924
925	* build:
926	  - added optional $(MOD)_CFLAGS for local module CFLAGS
927	  - added project file for Visual C++ Express 2010
928	  - freebsd: add include path to $(SYSROOT)/local/include
929	    (thanks Hellmuth Michaelis)
930
931	* Modules:
932
933	* avcodec: make code C89 compliant (thanks Victor Sergienko)
934
935	* cons: make code C89 compliant (thanks Victor Sergienko)
936
937	* daala: new module
938
939	* dshow: updates for VC2010 (thanks Victor Sergienko)
940
941	* gst1: new module
942
943	* gst_video1: new module
944
945	* gtk: new module
946
947	* menu: fix crash when 0 UAs (thanks Hans Petter Selasky)
948		added command 'H' to hold previous call (thanks xanm)
949
950	* wincons: make code C89 compliant (thanks ggcoding)
951
952
9532015-06-20 Alfred E. Heggestad <aeh@db.org>
954
955	* Version 0.4.13
956
957	* GIT commit 2e3e825ef5532dfde5a8b52de9ebaac51aa20a9c
958	* NOTE: Requires libre v0.4.12 or later
959
960	* new modules:
961	  - aufile      Audio module for using a WAV-file as audio input
962	  - b2bua       Back-to-Back User-Agent (B2BUA) module
963	  - codec2      CODEC2 audio codec
964	  - gst_video   Gstreamer video codec
965	  - h265        H.265 (HEVC) video codec
966
967	* baresip-core:
968	  - contact: add support for access-control (thanks Doug Blewett)
969	  - ausrc: change base-class to a const pointer
970	  - auplay: change base-class to a const pointer
971	  - vidsrc: change base-class to a const pointer
972	  - vidisp: change base-class to a const pointer
973	  - video: smooth sending of video packets
974
975
976	* Modules:
977
978	* amr: added support for octet-align mode (thanks to Stefan Sayer)
979
980	* aubridge: copy audio-samples if resampler not needed
981
982	* aufile: new module for using a WAV-file as audio source
983
984	* avcapture: only register 1 video source
985
986	* avformat: fix segfault on recent versions of libav
987
988	* b2bua: new experimental module
989
990	* codec2: new module for CODEC2 audio codec
991
992	* dtls_srtp: uppercase fingerprint, interop (thanks Juha Heinanen)
993		     alternative SDP protocols for interop
994
995	* dtmfio: unregister event handler on close (thanks Hellmuth Michaelis)
996
997	* gst_video: new module using Gstreamer as a video codec
998		     (Thanks to Victor Sergienko and Fadeev Alexander)
999
1000	* h265: new module for H.265 video codec
1001
1002	* httpd: added raw mode (thanks Lorenzo Mangani)
1003
1004	* menu: create user-agent with a command 'R' (thanks Lorenzo Mangani)
1005
1006	* opus: add configuration of "opus_bitrate"
1007		(thanks to Juha Heinanen)
1008
1009	* speex: add configuration of "speex_mode_nb" and "speex_mode_wb"
1010		 (thanks to Dmitrij D. Czarkoff and Juha Heinanen)
1011
1012	* vidloop: add VIDLOOP_INTERNAL_FMT and split encoder/decoder
1013
1014	* x11: catch Window delete (thanks to Doug Blewett)
1015
1016	* zrtp: initialize remote_zid (thanks to Ingo Feinerer)
1017
1018
10192014-12-24 Alfred E. Heggestad <aeh@db.org>
1020
1021	* Version 0.4.12
1022
1023	* GIT commit 67993e35d980375458348b264c4a35a944bb5180
1024	* NOTE: Requires libre v0.4.11 or later
1025
1026	* baresip:
1027	  - account: add regint and pubint
1028	  - audio: fix checking of sample-rate range
1029	  - config: remove the "input" block
1030	  - config: added support for quoted device parameters
1031	  - config: fix conversion of bandwidth to kbit/s
1032	  - config: generate more relevant config for FreeBSD and OpenBSD
1033		    (thanks Dmitrij D. Czarkoff)
1034	  - reg: add support for extracting GRUU parameter
1035	  - main: add -p option to set path to audio files
1036	  - sipreq: make response-handler optional
1037	  - ua: add support for GRUU (RFC 5627)
1038	    (many thanks to Juha Heinanen for starting this work and
1039	     helping out with the testing)
1040	  - ua: moved presence-status to each struct ua instance
1041	  - ua: add presence status to each User-Agent instance
1042	  - ua: use public-GRUU if set, otherwise local cuser
1043	  - ui: make UI single instance
1044	  - video: add VIDENC_INTERNAL_FMT (suggested by Victor Sergienko)
1045
1046	* docs: added sample configuration files
1047
1048	* account: added pubint for Publishing Interval
1049
1050	* avcodec: upgrade to recent ffmpeg/libav APIs
1051		   either FFmpeg or libav can be used
1052
1053	* celt: deleted module (replaced by opus)
1054
1055	* cons: update usage of struct ui, added output handler
1056		added config: cons_listen    0.0.0.0:5555
1057
1058	* evdev: update usage of struct ui, added output handler
1059		 added config: evdev_device    /dev/input/event0
1060
1061	* httpd: added ui output handler
1062
1063	* menu: added command 'o' for sending OPTION request
1064		(thanks to Juha Heinanen)
1065
1066		added command 'D' for accepting incoming calls
1067
1068	* mwi: subscribe to MWI after Registration succeeded
1069	       (thanks to Juha Heinanen)
1070
1071	* opensles: add double-buffering and some tuning
1072		    (thanks to Francesco Bradascio)
1073
1074	* opus: added config "opus_bitrate" (thanks to Sebastian Reimers)
1075
1076	* presence: added support for PUBLISH (thanks to Juha Heinanen)
1077		    interop fixes and tuning
1078
1079	* stdio: update usage of struct ui, added output handler
1080
1081	* uuid: use internal version of generating UUID
1082
1083	* v4l2: use memory mapped mode only
1084
1085	* vumeter: dont call tmr_start from non-RE thread
1086
1087	* wincons: update usage of struct ui, added output handler
1088
1089	* winwave: fix bug when closing player device
1090		   (thanks to Tomasz Ostrowski)
1091		   add support for mapping device name to index
1092
1093	* zrtp: add support for verify SAS (thanks to Ingo Feinerer)
1094
1095
10962014-06-21 Alfred E. Heggestad <aeh@db.org>
1097
1098	* Version 0.4.11
1099
1100	* GIT commit 7a465f2eb92f4e32740093e5ad4970d528908c51
1101
1102	* baresip:
1103	  - audio: added audio_ismuted() to get audio mute status
1104	  - audio: fix timestamp generation for stereo-streams
1105	  - audio: send outgoing audio-packets as soon as possible
1106	  - audio: upgrade to sample-based ausrc/auplay API
1107	  - auplay: change API to use samples instead of 8-bit buffer
1108	  - auplay: remove option to specify sample format (always S16LE)
1109	  - ausrc: change API to use samples instead of 8-bit buffer
1110	  - ausrc: remove option to specify sample format (always S16LE)
1111	  - call: added support for X-RTP-Stat header (thanks Lorenzo Mangani)
1112	  - call: check for common audio-codecs (thanks Juha Heinanen)
1113	  - logging: use info() instead of DEBUG_INFO();
1114	  - logging: use warning() instead of DEBUG_WARNING()
1115	  - play: convert WAV-file from little-endian to native-endian
1116	  - removed support for Symbian OS
1117
1118	* debian: upgrade debian files
1119
1120	* avcapture: also build for MacOSX
1121
1122	* alsa: fix sample-endianess with SND_PCM_FORMAT_S16
1123		upgrade to sample-based ausrc/auplay API
1124
1125	* audiounit: upgrade to sample-based ausrc/auplay API
1126
1127	* auloop: upgrade to sample-based ausrc/auplay API
1128
1129	* coreaudio: upgrade to sample-based ausrc/auplay API
1130
1131	* dtls_srtp: use DTLS code from libre (needs libre v0.4.9 or later)
1132		     use SRTP code from libre (needs libre v0.4.9 or later)
1133
1134	* dtmfio: new module to send DTMF-events via FIFO file
1135		  (contributed by Aaron Herting)
1136
1137	* fakevideo: new module for fake video input/output driver
1138
1139	* gst: upgrade to sample-based ausrc/auplay API
1140
1141	* ice: set default candidates for ICE-lite
1142
1143	* libsrtp: module 'srtp.so' renamed to 'libsrtp.so'
1144
1145	* mda: Symbian MDA audio driver was deleted
1146
1147	* menu: fix issue with audio-mute on multiple calls
1148
1149	* opensles: upgrade to sample-based ausrc/auplay API
1150
1151	* oss: upgrade to sample-based ausrc/auplay API
1152
1153	* portaudio: upgrade to sample-based ausrc/auplay API
1154
1155	* rst: upgrade to sample-based ausrc/auplay API
1156
1157	* selftest: new module for testing the baresip core api
1158
1159	* sndio: new module for OpenBSD audio driver
1160                 (It was contributed by Dmitrij D. Czarkoff, thank you!)
1161
1162	* srtp: module is now using SRTP-stack from libre (v0.4.9 or later)
1163
1164	* syslog: use logging framework to get messages
1165
1166	* v4l2: add format negotiation and OpenBSD support
1167                (contributed by Dmitrij D. Czarkoff)
1168
1169	* winwave: upgrade to sample-based ausrc/auplay API
1170
1171
11722014-01-23 Alfred E. Heggestad <aeh@db.org>
1173
1174	* Version 0.4.10
1175
1176	* baresip:
1177	  - account: add account_set_display_name() -- thanks Dimitris
1178	  - audio: use both srate/channels to check if resampler is needed
1179	  - aufilt: change from frame_size to ptime
1180	  - auplay: change from frame_size to ptime
1181	  - ausrc: change from frame_size to ptime
1182	  - config: add optional ausrc_channels and auplay_channels
1183	  - config: create config dir with mode 0700 (suggested by Jann Horn)
1184	  - play: update auplay usage with ptime
1185
1186	* alsa: update to new ausrc/auplay API with ptime
1187		fix bug when snd_pcm_readi() returns -EPIPE (thanks Remik)
1188		open device from main thread instead of alsa-thread (thanks EL)
1189		(caused problems with Sennheiser Century SC 660 + USB adapter)
1190
1191	* auloop: minor cleanups and improvements
1192
1193	* coreaudio: update to new ausrc/auplay API with ptime
1194
1195	* gst: update to new ausrc/auplay API with ptime
1196
1197	* l16: fix a bug with sample count
1198
1199	* opus: fix a memory corruption error in opus_decode_pkloss()
1200
1201	* oss: update to new ausrc/auplay API with ptime
1202
1203	* plc: update to new aufilt API with ptime
1204
1205	* portaudio: update to new ausrc/auplay API with ptime
1206		     fix bugs when using channels=2 (stereo)
1207		     configure device index using "device" parameter
1208
1209	* rst: update to new ausrc/auplay API with ptime
1210
1211	* speex_aec: update to new aufilt API with ptime
1212
1213	* speex_pp: update to new aufilt API with ptime
1214
1215	* winwave: update to new ausrc/auplay API with ptime
1216
1217	* zrtp:	update to use libzrtp from Travis Cross' github
1218		use config dir to store ZRTP cache-file (thanks Juha Heinanen)
1219
1220
12212014-01-06 Alfred E. Heggestad <aeh@db.org>
1222
1223	* Version 0.4.9
1224
1225	* new modules:
1226	  - zrtp  Media Path Key Agreement for Unicast Secure RTP
1227
1228	* build:
1229	  - added support for LLVM clang compiler
1230
1231	* baresip:
1232	  - account: add account_laddr()
1233	  - audio: upgrade to new librem auresamp API
1234	  - config: use oss,/dev/dsp as default device for FreeBSD
1235	  - log: added new logging framework
1236	  - main: added new verbose debug argument (-v)
1237	  - net: added sanity check for HAVE_INET6 build flag
1238	  - play: added play_set_path() -- thanks to Dimitris P.
1239	  - ua: added uag_find_param()
1240	  - ua: fix param-bug in ua_connect() -- thanks to Juha Heinanen
1241
1242	* aubridge: upgrade to new librem auresamp API
1243
1244	* avcodec: use new av_frame_alloc() api
1245
1246	* celt: deprecate CELT-module, use OPUS instead
1247
1248	* opengles: fix warnings (thanks to Dimitris P.)
1249
1250	* opensles: fix bugs in player and recorder
1251
1252	* opus: encode/decode sdp parameters as of I-D
1253
1254	* speex_resamp: module removed, replaced by librem's resampler
1255
1256	* zrtp: new module for ZRTP media encryption (use ;mediaenc=zrtp)
1257
1258
12592013-12-06 Alfred E. Heggestad <aeh@db.org>
1260
1261	* Version 0.4.8
1262
1263	* new modules:
1264	  - dtls_srtp  DTLS-SRTP media encryption module (RFC 5763,5764)
1265	  - aubridge   Audio Bridge to connect auplay->ausrc
1266	  - vidbridge  Video Bridge module to connect vidisp->vidsrc
1267
1268	* baresip:
1269	  - added RFC 5576  Source-Specific Media Attributes in SDP
1270	  - audio: set SDP bandwidth only if "rtp_bandwidth" config set
1271	  - play: do not store a copy of global config
1272	  - stream: save RTCP statistics from Sender-reports
1273	  - stream: add SDP ssrc attribute
1274	  - stream: added metrics for packets/bytes transmit/receive
1275	  - ua: added uag_current()/_set() to get/set current User-Agent
1276	  - video: set maximum RTP packet-size to 1024 bytes
1277
1278	* config:
1279	  - added "video_display  module,device" for Video Display
1280	  - added "rtp_stats      {off,on}" for RTP Statistics after Call
1281	  - default RTP bandwidth is now 0-0
1282
1283	* contact: dynamic command description for "Message" handling
1284		   dial from current UA (thanks to Simon Liebold)
1285
1286	* isac: upgrade to draft-ietf-avt-rtp-isac-04
1287
1288	* srtp: added auto-negotiation of RTP-profile for incoming calls
1289		(RTP/AVP, RTP/AVPF, RTP/SAVP, RTP/SAVPF)
1290
1291	* vidloop: fix memory leak
1292
1293
12942013-11-12 Alfred E. Heggestad <aeh@db.org>
1295
1296	* Version 0.4.7
1297
1298	* new modules:
1299	  - httpd   HTTP webserver UI module
1300
1301	* baresip:
1302	  - added RFC 5506 Support for Reduced-Size RTCP
1303	  - audio: minor cleanups
1304	  - cmd: ignore RELEASE key in editor mode
1305	  - conf: add conf_get_sa()
1306	  - mnat: add address family (af) to session handler
1307	  - realtime: fixes for iOS (thanks Dimitris)
1308	  - ua: make ua_register() public
1309	  - ua: add ua_calls() to get list of calls
1310	  - ua: only create register client if regint > 0
1311
1312	* debian: update dependencies (thanks Juha Heinanen)
1313
1314	* rpm: added RPM package spec file
1315
1316	* alsa: open device from thread to avoid blocking re-main loop
1317
1318	* avcodec: build fixes for Debian Testing
1319
1320	* avformat: use sys_msleep()
1321
1322	* contact: improve matching logic (thanks EJC Lindner)
1323
1324	* dshow: initialize variables (found with cppcheck)
1325
1326	* evdev: fix formatted printing (found with cppcheck)
1327
1328	* ice: use address family (AF) from call
1329
1330	* ilbc: update to separate encoder/decoder states (thanks Dimitris)
1331
1332	* snapshot: initialize variables (found with cppcheck)
1333
1334	* stun: use address family (AF) from call
1335
1336	* turn: use address family (AF) from call
1337
1338	* uuid: fix usage of strncat()
1339
1340
13412013-10-11 Alfred E. Heggestad <aeh@db.org>
1342
1343	* Version 0.4.6
1344
1345	* new modules:
1346	  - directfb   DirectFB video display module (thanks Andreas Shimokawa)
1347	  - dshow      Windows DirectShow vidsrc (thanks Dusan Stevanovic)
1348	  - wincons    Console input driver for Windows
1349
1350	* baresip:
1351	  - audio: print audio-pipelines in console/debug
1352	  - aufilt: split into separate encoder+decoder states
1353	  - call: add local uri/name, dtmf-handler
1354	  - call: fix decoding of DTMF/SIP-INFO for '*' and '#'
1355	  - export CALL_EVENT_* in public API
1356	  - fix various clang warnings
1357	  - sipreq: use outbound proxy if specified (thanks EJC Lindner)
1358	  - ua: add possibility to specify 'struct call' for hangup/answer
1359	  - ua: move SIP extensions into a dynamic vector container
1360	  - ua: move playing of tones from call.c to ua.c
1361	  - vidfilt: split into separate encoder+decoder states
1362	  - vidisp: remove input handler
1363
1364	* menu: improve call-transfer handling
1365
1366	* plc: update to separate encoder/decoder states
1367
1368	* selfview: update to separate encoder/decoder states
1369
1370	* snapshot: remove state which was not needed
1371
1372	* sndfile: update to separate encoder/decoder states
1373                   print unique timestamp to saved files
1374
1375	* speex_aec: update to separate encoder/decoder states
1376
1377	* speex_pp: update to separate encoder/decoder states
1378
1379	* vidloop: update to separate encoder/decoder vidfilt states
1380
1381	* vumeter: update to separate encoder/decoder states
1382
1383	* wincons: new module for Console input on Win32
1384
1385
13862013-08-31 Alfred E. Heggestad <aeh@db.org>
1387
1388	* Version 0.4.5
1389
1390	* new modules:
1391	  - account      Account loader module
1392	  - natpmp	 NAT-PMP client (RFC 6886)
1393	  - sdl2         Video display using libSDL2
1394
1395	* baresip:
1396	  - account: added SIP account parser and container
1397	  - config: split conf.c into conf.c and config.c
1398	  - config: move enum audio_mode to struct config
1399	  - config: move uuid to struct config
1400	  - more usage of the #ifdef USE_VIDEO macro
1401	  - message: add handling of SIP MESSAGE send/recv
1402	  - mediaenc: added rtp_sock parameter to media-handler
1403	  - ua: cleanup public struct ua API
1404	  - vidisp api: remove unused 'parent' parameter
1405	  - call: handle incoming DTMF in SIP INFO (application/dtmf-relay)
1406	  - sdp: added sdp_decode_multipart()
1407	  - net: fix bug on IP-refresh when 'net_interface' is used
1408	  - video: minor cleanups
1409		   handle incoming RTCP_RTPFB_GNACK
1410
1411	* isac: fix encode_update() signature
1412
1413	* menu: move dialbuffer here from ua.c
1414		added command 'g' to print current config
1415
1416	* mwi: multiple MWIs for multiple UAs
1417
1418	* presence: include supported methods in SIP messages
1419
1420	* srtp: improved interop and debugging
1421		handle incoming RTP/RTCP-demultiplexing
1422
1423	* uuid: write loaded UUID directly to struct config
1424
1425	* vidloop: added video-filters
1426
1427
14282013-05-18 Alfred E. Heggestad <aeh@db.org>
1429
1430	* Version 0.4.4
1431
1432	* new modules:
1433	  - g726      G.726 audio codec
1434	  - mwi       Message Waiting Indication
1435	  - snapshot  Save video-stream as PNG images
1436
1437	* config:
1438	  - added 'sip_certificate' to use a Certificate for SIP/TLS
1439	  - added 'ausrc_srate' and 'auplay_srate' to force DSP samplerate
1440
1441	* baresip:
1442	  - added a simple BFCP client
1443	  - aufilt: improved API
1444	  - mediaenc: improved API with session state
1445	  - ua: added event handler framework
1446	  - aucodec: improved API with separate encode/decode state
1447	  - vidcodec: improved API with separate encode/decode state
1448	  - sdp.c: added SDP helper functions
1449	  - ua: move registration client to reg.c
1450	  - audio: added internal resampler
1451
1452	* auloop: added config option 'auloop_codec' for setting codec
1453
1454	* ice: remove old 'ice_interface' config option
1455
1456	* menu: move handling of status-mode here
1457
1458	* selfview: added config option 'selfview_size'
1459
1460	* vp8: upgrade to draft-ietf-payload-vp8-08
1461
1462	* winwave: cleanup and minor fixes
1463
1464
14652013-01-01 Alfred E. Heggestad <aeh@db.org>
1466
1467	* Version 0.4.3
1468
1469	* new modules:
1470	  - selfview    Video selfview as video-filter module
1471	  - vumeter	Audio-filter module to display recording/playback level
1472
1473	* config:
1474	  - added 'net_interface" to bind to a specific network interface
1475	  - added accounts 'regq' parameter for SIP Register client
1476
1477	* baresip:
1478	  - added video-filter plugin API (vidfilt)
1479	  - audio.c: cleanups, split into transmit/receive part
1480	  - ua: added SIP Allow-header (thanks Juha Heinanen)
1481	  - ua: added Register q-value (thanks Juha Heinanen)
1482	  - ua: fix DTMF end event bug
1483
1484	* avcodec: fix x264 fps bug (thanks Trevor Jim)
1485
1486	* ice: only include ufrag/pwd in session SDP (thanks Juha Heinanen)
1487
1488
14892012-09-09 Alfred E. Heggestad <aeh@db.org>
1490
1491	* Version 0.4.2
1492
1493	* new modules:
1494	  - auloop    Audio-loop test module
1495	  - contact   Contacts module
1496	  - isac      iSAC audio codec
1497	  - menu      Interactive menu
1498	  - opengles  OpenGLES video output
1499	  - presence  Presence module
1500	  - syslog    Syslog module
1501	  - vidloop   Video-loop test module
1502
1503	* baresip:
1504	  - added support for call transfer
1505	  - added support for call waiting
1506	  - added multiple calls per user-agent
1507	  - added multiple registrations per user-agent
1508	  - cmd: added new command interface
1509	  - ua:  handle SIP Require header for incoming calls
1510	  - ui:  cleanup, use dynamic interactive menu
1511
1512	* config:
1513	  - added 'audio_alert' for ringtones etc.
1514	  - added 'outboundX=proxy' for multiple outbound proxies
1515	  - added 'module_tmp' for temporary module loading
1516	  - added 'module_app' for application modules
1517
1518	* avcodec: upgrade to latest FFmpeg and fix pts bug
1519
1520	* natbd: register command 'z' for status
1521
1522	* srtp: fix memleak on close
1523
1524	* uuid: added UUID loader
1525
1526
15272012-04-21 Alfred E. Heggestad <aeh@db.org>
1528
1529	* Version 0.4.1
1530
1531	* baresip: do not include rem.h from baresip.h
1532		   rename struct conf to struct config
1533		   vidsrc API: move size to alloc handler
1534		   aucodec API: change fmtp type to 'const char *'
1535				add SDP fmtp compare handler
1536		   vidcodec API: added enqueue and packetizer handlers
1537				 remove size from vidcodec_prm
1538				 remove decoder parameters from alloc
1539				 change fmtp type to 'const char *'
1540				 add SDP fmtp compare handler
1541		   remove aufile.c, use librem instead
1542		   audio: fix Telev timestamp (thanks Paulo Vicentini)
1543			  configurable order of playback/source start
1544		   ua_find: match AOR for interop (thanks Tomasz Ostrowski)
1545		   ua: more robust parsing for incoming MESSAGE
1546		   ua: password prompt (thanks to Juha Heinanen)
1547
1548	* build: detect amr, cairo, rst, silk modules
1549
1550	* config: split 'audio_dev' parameter into 'audio_player/audio_source'
1551		  order of audio_player/audio_source decide opening order
1552		  rename 'video_dev' parameter to 'video_source'
1553		  added optional 'auth_user=NAME' account parameter
1554		  (idea was suggested by Juha Heinanen)
1555
1556	* alsa: play: no need to call snd_pcm_start(), explictly started when
1557		writing data to the device. (thanks to Christof Meerwald)
1558
1559	* amr: 	more portable AMR codec
1560
1561	* avcodec: automatic size from encoded frames
1562		   detect packetization-mode from SDP format
1563		   use enqueue handler
1564
1565	* avformat: update to latest versions of ffmpeg
1566
1567	* cairo: new experimental video source module
1568
1569	* cons: added support for TCP
1570
1571	* evdev: added KEY_KPx (thanks to ccwufu on OpenWRT forum)
1572
1573	* g7221: use bitrate from decoded SDP format
1574		 added optional G722_PCM_SHIFT for 14-bit compat
1575
1576	* rst: thread-based video source
1577
1578	* silk: fix crash, init encoder, bitrate=64000 and complexity=2
1579	        (reported by Juha Heinanen)
1580
1581	* srtp: decode SDES lifetime and MKI
1582
1583	* v4l, v4l2: better module detection for FreeBSD 9
1584		     do not include malloc.h
1585		     (thanks to Matthias Apitz)
1586
1587	* vpx: auto init of encoder
1588
1589	* winwave: fix memory leak (thanks to Tomasz Ostrowski)
1590
1591	* x11: add support for 16-bit graphics
1592
1593
15942011-12-25 Alfred E. Heggestad <aeh@db.org>
1595
1596	* Version 0.4.0
1597
1598	* updated doxygen comments (thanks to Olle E. Johansson)
1599
1600	* docs: added modules description
1601
1602	* baresip: add ua_set_aumode(), configurable audio-tx mode
1603		   vidsrc API: added media_ctx shared with ausrc
1604		   ausrc API: add media_ctx shared with vidsrc
1605		   audio_encoder_set() - stop audio source first
1606		   audio_decoder_set() - include SDP format parameters
1607		   aufile: add PREFIX to share path (thanks to Juha Heinanen)
1608		   natbd.c: move code to a new module 'natbd'
1609		   get_login_name: check both LOGNAME and USER
1610		   ua.c: unique contact-user with address of struct ua
1611		   ua.c: find correct UA for incoming SIP Requests
1612		   ua_connect: param is optional (thanks to Juha Heinanen)
1613		   video: add video_set_source()
1614
1615	* amr: minor improvements
1616
1617	* audiounit: new module for MacOSX/iOS audio driver
1618
1619	* avcapture: new module for iOS video source
1620
1621	* avcodec: fixes for newer versions of libavcodec
1622
1623	* gsm: handle packet-loss
1624
1625	* natbd: move to separate module from core
1626
1627	* opengl: fix building on MacOSX 10.7
1628		  (thanks to David Jedda and Atle Samuelsen)
1629
1630	* opus: upgrade to opus v0.9.8
1631
1632	* rst: use media_ctx for shared audio/video stream
1633
1634	* sndfile: fix stereo mode
1635
1636
16372011-09-07 Alfred E. Heggestad <aeh@db.org>
1638
1639	* Version 0.3.0
1640
1641	* baresip: use librem for media processing
1642		   added support for video selfview
1643		   aubuf, autone, vutil: moved to librem
1644		   ua: improved API
1645		   conf: use internal parser instead of fscanf()
1646		   vidloop: cleanup, use librem for processing
1647
1648	* config: add video_selfview={pip,window} parameter
1649
1650	* amr: new module for AMR and AMR-WB audio codecs (RFC 4867)
1651
1652	* avcodec, avformat: update to latest version of FFmpeg
1653
1654	* coreaudio: fix building on MacOSX 10.5 (thanks David Jedda)
1655
1656	* ice: fix building on MacOSX 10.5 (thanks David Jedda)
1657
1658	* opengl: remove deps to libswscale
1659
1660	* opensles: new module OpenSLES audio driver
1661
1662	* opus: new module for OPUS audio codec
1663
1664	* qtcapture: remove deps to libswscale
1665
1666	* rst: new module for mp3 audio streaming
1667
1668	* silk: new module for SILK audio codec
1669
1670	* v4l, v4l2: remove deps to libswscale
1671
1672	* x11: remove deps to libswscale, use librem vidconv instead
1673
1674	* x11grab: remove deps to libswscale
1675
1676
16772011-05-20 Alfred E. Heggestad <aeh@db.org>
1678
1679	* Version 0.2.0
1680
1681	* baresip: Added support for SIP Outbound (RFC 5626)
1682		   The SDP Content Attribute (RFC 4796)
1683		   RTP/RTCP Multiplexing (RFC 5761)
1684		   RTP Keepalive (draft-ietf-avt-app-rtp-keepalive-09)
1685
1686	* config: add 'outbound' to sipnat parameter (remove stun, turn)
1687		  add rtpkeep={zero,stun,dyna,rtcp} parameter
1688		  audio_codecs parameter can now specify samplerate
1689		  add rtcp_mux for RTP/RTCP multiplexing on/off
1690
1691	* alsa: set buffersize and fix samplesize (thanks to Luigi Rizzo)
1692
1693	* avcodec: added support for MPEG4 video codec (RFC 3016)
1694		   wait for keyframe before decoding
1695
1696	* celt: upgrade libcelt version and cleanups
1697
1698	* coreaudio: fix buffering in recorder
1699
1700	* ice: several improvements and fixes
1701	       added new config options
1702
1703	* ilbc: handle asymmetric modes
1704
1705	* opengl: enable vertical sync
1706
1707	* sdl: upgrade to latest version of libSDL from mercurial
1708
1709	* vpx: added support for draft-westin-payload-vp8-02
1710
1711	* x11: handle remote display with optional shared memory
1712
1713	* x11grab: new video-source module (thanks to Luigi Rizzo)
1714
1715	* docs: updated doxygen comments
1716