FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unl
Go to file
Stefan Knoblich f012b7abf8 ftmod_libpri: Major rework of runtime thread, lpwrap event loop, restart b-channel handling and some new features.
Add per b-channel private data (ftdm_libpri_b_data_t), move the q.931 libpri
call pointer into it and use channel->call_data to make it accessible.

Use ftdm_channel_wait() instead of select() to wait for I/O events on
the D-Channel and rewrite the timeout handling, adding support for custom
timers that can be added to the b-channel private data and started/stopped
with lpwrap_timer_start()/_stop().

The (sorted) list of active lpwrap timers is protected by the timer_mutex,
which is initialized in the now unified lpwrap_init_pri() (see below) and
destroyed in the new lpwrap_destroy_pri() function.

Unify lpwrap_init_pri() and lpwrap_init_bri(). Use the span type to select
BRI/PRI and Point-to-Point vs. Multipoint settings.

Use the new custom lpwrap timer API to implement T302 (aka overlap receiving
digit timeout). The default T302 timeout is 3000 miliseconds and can be set
via the "digit_timeout" or "t302" span configuration parameter
(0 = disable timer, valid range = 3000 ... 30000 miliseconds).

The lpwrap_pri_init() changes made it neccessarry to rewrite the span runtime
thread event loop. The d-channel initialization and libpri event handler
registration have been moved out of the event loop. The b-channel restart
handling in the event loop has been left as-is, pending a further clean up in
the future.

Rename on_info() to on_information() and add a new on_keypad_digit() event
handler to convert incoming KEYPAD DIGIT messages to channel DTMF events
(only useful on BRI PTMP NT-mode).

The channel restart handling has been improved to distinguish between locally
triggered and restarts caused by the remote end (= incoming RESTART messages).
Restarts on the D-Channel now use pri_restart(), causing a Q.921 reset on
the span.

Large patch, i'd have loved to split this into smaller pieces and actually
test some of the bits more toroughly (restart handling), but some people
are f*cking annoying, so here it is.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-03 20:35:48 +02:00
build fix color coding to be OS appropriate 2012-08-16 13:04:33 -05:00
clients/flex The new jquery.tmpl wants tmpl() instead of render() 2011-08-22 16:14:23 +02:00
cmake_modules Initial CMAKE file commit 2009-02-11 02:53:31 +00:00
conf FS-3003: --resolve Add lang config files for es-ES,es-MX,pt-BR,pt-PT (Thanks Francois Delawarde) 2012-08-24 09:42:52 -07:00
debian Add sound/music debian packaging instructions 2012-08-20 08:18:02 +00:00
docs Those damn tiff-3.8.2 entries seem to be everywhere 2012-09-01 23:37:46 +08:00
dtd
freeswitch.xcodeproj cmake updates 2009-02-13 23:33:36 +00:00
fscomm Update a ton of copyright statements to make sure the dates are proper 2012-04-25 17:14:55 -05:00
htdocs add this from CtRiX -- Thanks. 2008-05-14 20:39:43 +00:00
libs ftmod_libpri: Major rework of runtime thread, lpwrap event loop, restart b-channel handling and some new features. 2012-09-03 20:35:48 +02:00
patches zrtp tweaks, more coming 2009-12-17 18:33:45 +00:00
scripts Make version output more human-friendly 2012-07-20 07:43:26 +00:00
src FS-4582 --resolve 2012-09-01 11:46:45 -05:00
support-d we might want this at some point ;-) 2012-02-01 19:37:23 -05:00
w32 Those damn tiff-3.8.2 entries seem to be everywhere 2012-09-01 23:37:46 +08:00
web add back empty dirs 2010-04-01 21:00:45 -04:00
.gitattributes add .gitattributes 2012-05-28 16:35:00 +00:00
.gitignore FS-4526 --resolve 2012-08-17 19:46:54 -05:00
CMakeLists.txt FSBUILD-192 2009-10-02 14:44:16 +00:00
Freeswitch.2005.unsupported.sln bye bye iax 2010-01-23 20:19:18 +00:00
Freeswitch.2008.express.sln FS-4504 --resolve 2012-08-09 21:39:28 -06:00
Freeswitch.2008.sln FS-4504 vs2008 pro still need express 2012-08-09 13:42:21 -05:00
Freeswitch.2008.sln.debug.bat merge some changes from joshrivers branch 2009-11-18 15:29:19 +00:00
Freeswitch.2008.sln.release.bat rename 2009-11-18 19:42:00 +00:00
Freeswitch.2010.express.sln FS-4504 --resolve 2012-08-09 21:39:28 -06:00
Freeswitch.2010.sln FS-4343 --resolve 2012-08-28 18:05:59 -05:00
INSTALL
Makefile.am Those damn tiff-3.8.2 entries seem to be everywhere 2012-09-01 23:37:46 +08:00
acinclude.m4 FS-3182: fix mod_dingaling/iksemel/gnutls link error when using newer autotools 2011-03-25 12:17:25 -05:00
bootstrap.sh Those damn tiff-3.8.2 entries seem to be everywhere 2012-09-01 23:37:46 +08:00
cc.sh come to cluecon will ya 2012-07-06 17:54:21 -05:00
cluecon.tmpl fix color coding to be OS appropriate 2012-08-16 13:04:33 -05:00
cluecon2.tmpl fix color coding to be OS appropriate 2012-08-16 13:04:33 -05:00
configure.in This should have moved us from tiff-3.8.2 to tiff-4.0.2 . The windows builds 2012-09-01 18:45:56 +08:00
devel-bootstrap.sh Changed permissions for devel-bootstrap.sh 2010-10-13 14:18:38 -07:00
erlang.spec ci/centos: add erlang module support files 2012-03-24 05:15:11 +00:00
freeswitch-sounds-en-us-callie.spec fix sox dependancy 2012-05-15 10:18:14 -05:00
freeswitch-sounds-music.spec --resolve FS-4209 2012-05-15 10:20:52 -05:00
freeswitch-sounds-ru-RU-elena.spec centos: rework CentOS spec files 2012-03-24 04:52:58 +00:00
freeswitch.spec lets kick the auto test with a small change here that doesnt really matter 2012-05-14 13:36:16 -05:00
swig_common.i add 2011-10-21 10:15:15 -05:00