Releases: tomek-o/tSIP
v0.2.14
- limited maximum auto-restart time (no network) to 600 seconds
- audio recorder code is now reentrant / capable of handling multiple calls
- clarified description in windows patching main settings and button settings
- delayed creation of most of the windows until they are needed
- fixed position and sizes of dialpad elements (volume trackbars and buttons, transfer edit) if GUI scaling was used
- fixed call history column sizes changing each run if GUI scaling was used
- added two extra modes for handling Access-URL: delaying automatic URL opening until call is confirmed
- added Lua GenerateTones() example
- added Lua (SIP account) Unregister() and Reregister() functions
- troubleshooting: added warning if wave file selected as audio source does not exist
- recognizing "Call completed elsewhere" reason in received CANCEL
- application tray icon is not changed for these calls like for unanswered calls
- option to not store calls with this reason in call history
- new icon in call history for this call type - like for regular call unanswered but grayed out
- option to show disconnection reason text received with CANCEL in call history
IMPORTANT For licensing reasons I'm not distributing OpenH264 required by tSIP video variant. Download http://ciscobinary.openh264.org/openh264-2.3.1-win32.dll.bz2 and extract it (using e.g. 7-zip), rename openh264-2.3.1-win32.dll to openh264.dll and put it next to application executable.
v0.2.13
- fixed distorted audio / incorrect audio timing at the start of the call if using AAC internet radio as audio source
- fixed crash when name of the file used as avformat source contained non-ASCII characters
- L16/44100 (and up) no longer should require manual ptime limiting through account settings
- fixed timing and audio buffer sizing for L16 codecs with high sampling rate, low ptime like L16/48000/2
- add volume control (Settings / Audio IO) for alerting and ring audio
- changed start failure handling: faster initial restart, slowing for subsequent errors (better handling of e.g. slow to connect WiFi or detached network cable when starting PC)
- bunch of minor changes and code cleanup
IMPORTANT For licensing reasons I'm not distributing OpenH264 required by tSIP video variant. Download http://ciscobinary.openh264.org/openh264-2.3.1-win32.dll.bz2 and extract it (using e.g. 7-zip), rename openh264-2.3.1-win32.dll to openh264.dll and put it next to application executable.
v0.2.12
This release adds video support, previously available in tSIP-video. There are two binary packages, without video and with video handling. If you are not using video, regular version should be preferred, although video variant adds one powerful baresip module, avformat, that can be used also as audio source, supporting mp3 files, audio from video/mp4 files or http-based radio stations.
IMPORTANT For licensing reasons I'm not distributing OpenH264 required by tSIP video variant. Download http://ciscobinary.openh264.org/openh264-2.3.1-win32.dll.bz2 and extract it (using e.g. 7-zip), rename openh264-2.3.1-win32.dll to openh264.dll and put it next to application executable.
OpenH264 Video Codec provided by Cisco Systems, Inc.
You can find full OpenH264 license text in the CISCO_OPENH264_BINARY_LICENSE.txt file.
Changelog:
- splitting binaries into separate "regular" and "video" versions
- "audio only" version should be preferred if you don't need video and don't need avformat audio input capabilities
- video support (moved back from tSIP-video), enabled by compile-time USE_VIDEO switch:
- separate binaries with some drawbacks
- LGPL licensing for FFmpeg
- openh264.dll needs to be downloaded separately from Cisco page due to licensing reasons (download http://ciscobinary.openh264.org/openh264-2.3.1-win32.dll.bz2 and extract it (using e.g. 7-zip), rename openh264-2.3.1-win32.dll to openh264.dll and put it next to application executable)
- larger size (for this version 13 MB more, heavily depending on options used for FFmpeg compilation)
- lots of linked third-party code, not tested at the moment for compatibility with Win98/2000/XP or Wine
- some known issues and limitations, probably more of them unknown
- video source modules:
- DirectShow (regular cameras)
- FFmpeg avformat (common mp4 files with e.g. H.264+AAC, possibly rtsp cameras)
- colorbar generator: two versions, with and without animation
- nullvideo (black screen)
- video output modules:
- SDL, displaying in separate window or on specified programmable button (note that button sizes/layout are customizable)
- nullvideo (discarding received video stream)
- selfview module with picture-in-picture option
- codecs:
- H.264 with packetization modes 0 and 1
- H.263
- MP4V-ES
- new programmable button type, switching video source module and device during the call
- switching between cameras or camera/video file/colorbar generator
- might be used for video "mute" function, switching to e.g. animated colorbar generator
- this button type would be visible also in "audio only" build, but would not take effect
- new Lua function: SwitchVideoSource(module, device)
- FFmpeg avformat module can be also used as audio input, adding support for e.g.:
- mp3 files
- audio from mp4 and other video files
- internet radio stations (http-based, https is not supported with my current FFmpeg build)
- separate binaries with some drawbacks
- "About" window shows whether binary was compiled with or without video support; if video is enabled there are also additional configuration options in settings window
- audio source device/file and newly added video source device/file
- can now be used with relative path (taking precedence) or with absolute path, allowing e.g. to use big mp4 file as video or audio source without copying it to application folder
- audio/video source device does not have to be file now as avformat accepts also http or rtsp protocols, e.g. internet radio link
- default configuration: added "ABC", "DEF", "GHI", etc. letters to "DTMF" buttons
- small change for programmable button labels automatic vertical spacing in situation when button height is smaller than a sum of labels height
- contacts: locale-aware comparing/sorting using AnsiCompareIC (e.g. L and Ł should be next to each other)
- winwave2 is now the default audio input module (due to winwave issue with detaching audio device while this device is in use)
- default configuration: RTP timeout is now enabled with 300 s time
- incoming call: tSIP now responds with 488 instead of accepting "silent" call when there are no common codecs
- removed inline definition for C files, hopefully this would help with related compiler issue
- fixed INT64_MIN/INT64_MAX/UINT64_MAX definitions in TC++ stdint.h (tSIP/_doc folder)
v0.2.11
- FIXED: WebRTC AEC was not working for 16 ksps codecs
- added support for G.711a/u playback as audio source (aufile/aufile_mm)
- programmable button config window: added missing handling of aufile_mm audio source module
- call recording: using saturation when recording in mono mode (both sides mixed)
- added access to call recordings from call history context menu
- new setting: History / Show record file in hint
- Help / Troubleshooting: added checking if network interface specified in Settings / Network is missing
- updated some translations
- do not lock "Settings" in main menu when UA is (re)starting; this was initially added to prevent PortAudio crash when using by two threads at the same time (audio devices were enumerated when settings window was opened), later this problem fixed by adding PortAudioLock; this also fixes missing reenabling for this menu item for APP_START_FAILED state
- added configurable audio (noise) gate for TX direction (from local microphone)
v0.2.10
- FIXED: possible buffer overrun / crash in call recording, observed (mainly?) when ending the call with L16/48000/1 codec
- FIXED: confusing missing "Registering" status of startup that should be visible in case of any problems with registration
- added human-readable names to network adapters list (binding to network interface)
- added MessageBox if loading translation from file fails (e.g. due to invalid JSON)
- added MessageBox if file edit button in contact editor was pressed but file was not specified
- updated distributed OpenSSL DLLs to version 1.1.1g
- unified aufile and aufile_mm source, fixing playback of short wave files in aufile_mm
- renamed Settings "Phones" page to "Plugins / phones" and "WaveIn, WaveOut (2) - experimental" to "WaveIn, WaveOut v2"
- few other minor changes
v0.2.09
- file format selection for call recording, calls can be now recorder also as Opus/OGG
- libopusenc.lib project is added
- Lua StartRecording(): new optional parameter selecting recording format (0 = WAVE, 1 = Opus/OGG)
- note: selecting very low bitrate for Opus would switch it to mono mode even if recording is configured as stereo
- updated French translation file - thanks to lyonelf
v0.2.08
- FIXED option clearing BLF remote identity on call disconnection
- changed code responsible for restoring main window and showing tray notification to avoid stealing focus
- link in "About" window is now configurable and default value can be changed by editing resources
- refactored managing of settings pages
- settings pages can now be hidden individually
- settings (fixed/forced) can now be embedded as a resource, allowing e.g. to prevent some settings from editing by the end user by editing JSON file
- scripts can now be assigned to hotkeys directly (without previously needed programmable key middleman)
- added WinAPI keybd_event Lua function (e.g. for simulating Ctrl+C to copy selected text and make call using number from clipboard)
- FIXED "Message" contact popup menu item for contacts with single number
- added Lua HideTrayNotifier() function, fixed unused texts from ShowTrayNotifier()
- Troubleshooting: hints if bitmaps intended for BLF (dialog-info) are left after switching button type to Presence
- FIXED: button image was always centered vertically regardless of configuration
- Lua window: added File/New (mostly for convenience when working with kiosk-like GUI missing main menu)
- button configuration: number setting is not hidden for "Script" button (number may be read by script and then few buttons might use same script)
- FIXED: if main menu was hidden in settings, it was still visible at startup for a short moment
- FIXED: incoherent GUI state after making the call that failed immediately due to no network
- Locking: added separate setting making main window borderless
- added option (SpeedDial tab) to move main window by dragging button container (for semi-kiosk borderless applications)
v0.2.07
- FIXED: audio devices configuration was reset after config merge
- few minor updates to Lua help window
- log window: added buttons copying all and last 400 lines
- replying with 200 instead of 415 for NOTIFY with terminated/noresource (less mess in logs when working with FreeSWITCH)
- FIXED few bugs related to global hotkeys
- added new main window settings: offset allowing to change window position when switching between "normal" and "expanded" state, e.g. for anchoring window to right side of the desktop
- FIXED exception when in codec selection list codec was moved below last item list
- added option to start audio source early (actually opening it twice) - intended to fight with initial audio delay on Mairdi Bluetooth headset when switching profiles
v0.2.06
- saving last SIP reply code and reply text in call history, can be added to history list hint
- added Lua GetPreviousCallStatusCode() and GetPreviousCallReplyLine() returning information about last failed call (after this call has ended, e.g. using "on call state" CALL_CLOSED event)
- added 3 extra returned values to GetBlfState(contactId) function: remote identity URI, remote identity display name, call direction
- Lua: added contactId = GetContactId(blfUser) function (number to contact id conversion to be used with GetBlfState() function)
- added new setting: SpeedDial/"Preferred state if multiple dialog elements are received in NOTIFY XML"
- added separate error codes/texts for opening wave files and opening audio devices
- call state label shows also local error information like error opening audio device (when call ends)
- Lua Hangup() takes SIP code and reason text as optional arguments
- added reason text to auto answer configuration, auto answer/DND button configuration and custom hangup button configuration
- added hint/tooltip to contact list (numbers + note)
- showing button ID + description on button editor frame
- exiting button editing (resizing/moving) with Esc
- added window with short (very short at the moment) description for each custom Lua function, accessible from Script window / Help
v0.2.05.3
- added "SCRIPT_FILE=" command line parameter - starting specified script file from /scripts subfolder
- use GetProcessImageFileName instead of GetModuleFileNameEx for FindWindowByCaptionAndExeName() Lua function (compatibility with 64-bit OS)
- FIXED: missing early media audio when SRTP was enabled
- added vcruntime140.dll to distributed binaries