VoIP/SIP client (softphone) for Windows
When looking for a SIP and media stack I've spotted libre/librem/baresip from creytiv.com. It has I believe pretty unique combination of simplicity, completeness and most of all permissive BSD-style license allowing commercial and closed-source derivatives.
Minimal subset (no video support, no codecs besides G.711, just the essentials for voice calls)
of libre/librem/baresip as a console application built with Turbo C++ 2006 Explorer. If you're not
a Borland products user stay with original source code that can be used with i.e. VC++ 2003.
bsip_tc_20111215.7z - source only
GUI SIP client
SIP client with graphical user interface built upon re/rem/baresip stack.
Feature set is very limited, but whole project is self-contained and easy to compile -
no external dependencies. GUI is using simplest possible model: single registration
account and single call at a time, but application is portable and using configuration
from a local JSON file, so many instances can be run simultaneously with different configurations.
Each instance takes ~1.8 MB of disc space (including wave files with signals such as ringing).
- Initial release: Version 0.1
tSIP_0_1_src.7z (435 kB)
- 2012.01.11 Minor fixes
- lib project dependencies handled in a better way (#pragma link "re.lib", library search directory changed depending on current build configuration),
- FIXED: possible Access Violation errors on quit or restart,
- added missing handling of transport and expires configuration parameters,
- ignoring incorrect stale=FALSE (treating always as stale=TRUE) parameter put by some other device with SIP/401 message that was causing periodical loss of registration; hopefully this would be only temporary change.
- 2012.01.16 tSIP_0_1_2_bin.7z,
- re/rem/baresip sources updated to version 0.4,
- winwave.c: fix for small, non-recurrent memleak,
- added baresip portaudio module and necessary PortAudio v19/DirectSound statically linked library; PortAudio is now default sound backend, WaveIn/WaveOut is left as an alternative,
- removed unnecessary parts from displayed call URI.
- 2012.01.28 tSIP_0_1_3_bin.7z,
- added baresip speex module and required statically linked library,
- added transmitted and received SIP message logging option,
- ua_find(): trying to match incoming requests using AOR if matching by Contact fails; matching by Contact only may cause interoperability problems (see Nokia: Problems with incoming VoIP 3.x calls).
- 2012.04.28 tSIP_0_1_4_bin.7z,
- re/rem/baresip sources updated to version 0.4.1,
- GUI: added auth username to configuration,
- GUI: fixed problem with temporary freezing when opening log window after long work time.
- 2012.05.10 tSIP_0_1_5_bin.7z,
- added baresip gsm module and statically linked gsm library,
- added module for G.726-32 codec and G.726 code from older SpanDSP version (copyright Sun Microsystems and Steve Underwood, public domain),
- added codec set configuration (enable/disable particular codecs).
- 2012.07.22 tSIP_0_1_6_bin.7z,
- added local address setting - equivalent of baresip "sip_listen", may be required when using on machines with more than one network interface to specify interface to bind to.
- 2013.11.20 tSIP_0_1_7_bin.7z,
- application version that handles multiple accounts and multiple calls was moved to separate branch (mtSIP),
- updated re (0.4.5), rem (0.4.4), baresip (0.4.6) sources,
- log window: added "Save to file" to context menu and "Log to file" checkbox (duplicating settings),
- added re-register button (forcing immediate re-registration),
- eliminated GUI freezing when application was closing during registration that would fail due to no response from 2nd party,
- auto-answer with specified SIP code,
- added (very crude) call history,
- added redial button,
- making call: assumed that if sip: prefix is present uri domain does not have to be added (previously: unable to call i.e. sip:192.168.1.11 uri, call function was assuming that domain was not present if "@" in uri was not present).
- 2014.03.19 tSIP_0_1_8_bin.7z,
- moved baresip code into separate static library (mostly to speed up often unnecessarly forced by TC++ whole project rebuilds),
- dialpad: added A, B, C, D DTMFs,
- added Flash button (sent as DTMF event),
- added Hold function,
- added blind transfer function.