2
0
Fork 0
An old fork of Asterisk 1.2 with many improvements
Go to file
2019-05-22 18:31:55 +01:00
acmacros Update autoconf 2013-10-15 09:41:12 +01:00
apps Remove setoption method from channel drivers 2016-04-21 16:01:01 +01:00
build_tools Config cleanup 2010-06-04 20:58:05 +00:00
cdr Rename EVENT_FLAG_* to CW_EVENT_FLAG_* 2016-02-19 17:13:19 +00:00
channels Set IP address from host for non-dynamic peer 2016-08-09 17:40:44 +01:00
codecs Fix various things flagged by STACK 2013-10-31 12:17:55 +00:00
configs Removed event_log and CW_LOG_EVENT 2016-04-21 16:01:03 +01:00
contrib Collect all system integration bits together and make them work 2010-02-04 23:41:47 +00:00
corelib Code clean up in scheduler 2016-05-31 17:01:25 +01:00
debian Removed event_log and CW_LOG_EVENT 2016-04-21 16:01:03 +01:00
doc Channel cleanup: rings 2016-04-21 16:00:59 +01:00
formats Use GCC's deprecated attribute to block use of non-thread-safe functions 2013-10-18 15:05:17 +01:00
funcs Remove redundant code and mark unused variables/arguments. 2013-10-15 09:41:07 +01:00
images Irenaming of files containing openpbx in their name 2007-04-20 14:22:26 +00:00
include Add a command to display connections 2016-05-18 10:13:06 +01:00
libs Build clean ups. 2009-12-23 18:00:50 +00:00
ogi Explicitly (un)use API parameters and re-enable maximal warnings 2010-01-06 18:14:46 +00:00
pbx Scheduler clean up 2016-04-21 16:00:46 +01:00
res Removed event_log and CW_LOG_EVENT 2016-04-21 16:01:03 +01:00
sounds sounds/README informs users 'we don't put audio sound files in the source tree' 2007-06-20 16:47:35 +00:00
stdtime Cleanup issues flagged by icc 2009-12-23 18:05:13 +00:00
system Discard bogus errors in core analysis reporting of safe_callweaver. 2010-06-04 21:00:52 +00:00
utils Need to set LC_CTYPE=C 2015-11-02 13:36:59 +00:00
vim Remove nocolor conf option and -n cmd line option 2016-02-19 22:02:15 +00:00
acinclude.m4 Changed the routine that checks for a working fork() function to a local 2008-06-29 14:59:50 +00:00
AUTHORS Add myself :-) 2008-04-26 11:15:54 +00:00
bootstrap.sh Changes for libtool/libltdl 2 support 2009-12-23 18:01:06 +00:00
BUGS cosmetic changes 2007-04-27 18:01:26 +00:00
callweaver.8 Remove the -T option - it did nothing 2010-02-10 18:09:20 +00:00
callweaver.sgml Remove the -T option - it did nothing 2010-02-10 18:09:20 +00:00
ChangeLog Doc updates for trunk. 2006-12-29 22:17:04 +00:00
compile Merge branches/cypro back to trunk. 2005-11-05 07:01:29 +00:00
configure.ac Revert "The dependency on vale was removed long ago" 2016-07-22 14:31:23 +01:00
COPYING typos and ports from 0.2RC1 2006-09-13 17:08:59 +00:00
CREDITS Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00
HARDWARE Some more OpenPBX OPENPBX and openpbx entries converted 2007-04-20 12:53:30 +00:00
INSTALL Doc updates from spackle. 2006-04-02 05:36:38 +00:00
InstallGuide.txt Merge 1.2 r5392 (spandsp version bump to 0.0.6pre12) 2009-12-23 17:47:01 +00:00
layout.fhs Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00
layout.freebsd Introduction of new layouts, as taken from ticket #389. I hope they make sense, as I have no way to check. 2008-07-03 14:14:53 +00:00
layout.freebsd-romfs Introduction of new layouts, as taken from ticket #389. I hope they make sense, as I have no way to check. 2008-07-03 14:14:53 +00:00
layout.lsb Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00
layout.lsb-romfs Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00
layout.oldsingledir Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00
layout.openbsd Ticket #435. 2008-07-14 02:35:30 +00:00
LICENSE typos and ports from 0.2RC1 2006-09-13 17:08:59 +00:00
Makefile.am Add vim syntax definitions for config files 2011-01-13 23:46:25 +00:00
mkpkgconfig Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00
NEWS Merge branches/cypro back to trunk. 2005-11-05 07:01:29 +00:00
README Merge 1.2 r5392 (spandsp version bump to 0.0.6pre12) 2009-12-23 17:47:01 +00:00
README.md Added README.md 2019-05-22 18:31:55 +01:00
sample.call A bunch of odds and ends files with OpenPBX and openpbx converted 2007-04-20 12:46:47 +00:00
SECURITY cosmetic changes 2007-04-27 18:01:26 +00:00
sounds.txt Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00
substitute.mak Change function names and defines from opbx to cw, and correct a few left-over openpbx references 2008-01-30 10:27:44 +00:00

Callweaver is/was an old fork of Asterisk 1.2 from the days when the newer Asterisk 1.4 was still pursuing stability. A number of fixes and improvements were made by a small community of coders.

Today callweaver is unused even by me. I've put it here simply because, to the best of my knowledge, it doesn't exist anywhere else and there is some potentially interesting code to be found in it.

  • It contains example use of Steve Underwood's SpanDSP library to implement native FAX send and receive over both RTP (network) and TDM (fixed line telephony) circuits.

  • I undertook a major rewrite of the dialplan handling to remove many issues.

  • I added auto-backoff and blacklisting to the SIP channel to mitigate the impact of the continuous script-kiddie probing that every exposed SIP server experiences.

  • I added IPv6 support to the SIP channel - along with many other changes to make it (slightly?) more conformant to the RFCs.

  • I extended printf with format specifiers for network addresses using both the glibc extension hooks and a transparent workaround for other environments.

  • I added a C implementation of dynamic strings in include/callweaver/dynstr.h and corelib/dynstr.c (including support for sprinf'ing into them).

  • I (ab)used the preprocessor to implement a variant of printf that allows complex formats to be expressed in a user friendly format but which collects the components together into a single format string at compile time. This makes much of the message handling much clearer. e.g.

        cw_dynstr_tprintf(ds_p, 3,
            cw_fmtval("-- General --\n"),
            cw_fmtval("Name: %s\n",           chan->name),
            cw_fmtval("Type: %s\n",           chan->type));
    

    which compiles as

    cw_dynstr_printf("-- General --\nName: %s\nType: %s\n", chan->name, chan->type);
    
  • I added a C implementation of dynamic arrays in include/callweaver/dynarray.h that is templated via preprocessor defines so that you can use dynamic arrays of whatever type you choose.

  • I added a C implementation of reference counted objects (entities rather than Objects in the modern OOP sense - it's C not C++!) in include/callweaver/object.h that uses atomic ops. This is heavily used throughout callweaver to avoid locking issues arising from the old code design.

I have been known to dust it off occasionally and use it for testing various ideas but since I have neither used SIP nor owned a PC that would take my old TDM cards for many years you should not expect callweaver to be stable or even usable anymore!