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