Commit Graph

5904 Commits

Author SHA1 Message Date
Stefan Knoblich 7da8e15e96 FreeTDM: Remove oz{rename,replace}.sh scripts.
Remnants from the olden days of the big OpenZAP migration.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-24 20:49:53 +02:00
Stefan Knoblich 5b499e8a59 ftmod_misdn: Use a per-span I/O thread to handle B-channel data.
Move the B-channel message handling into a per-span I/O thread,
to solve most of the problems caused by the intermixed data + control
socket interface of mISDN, missing write poll() support on
mISDN B-channels and the FreeTDM I/O model. This eliminates most of
the audio problems (except for a few minor glitches).

A unix stream socket pair is used as a bi-directional pipe replacement
(the pipe code is still included in this commit, but will be removed later),
with the RX and TX buffer sizes carefully tuned to avoid excessive buffering
(= latency) and a deadlock situation between the write() call in ftdm_write()
and the code in misdn_span_run() that needs a minimum amount of data in the
TX buffer, before sending out a PH_DATA_REQ to the mISDN socket
(see misdn_span_run() comments for more details).

The minimum size for pipes is PAGE_SIZE (4k), which is ~500 ms worth of
audio. A socket pair RX/TX buffer size of 3k, seems to hold a maximum
amount of around 500 bytes data in practice, giving us a much lower
maximum latency than a unix pipe. (The socket pair might be replaced by a
custom ring buffer / fifo data structure to get even more fine grained
control of the maximum latency.)

The newly introduced span_start / span_stop callbacks in
ftdm_io_interface_t are used to start / stop the I/O thread. The callback
functions will wait up to 10 seconds for the thread to successfully
start up or shut down (using a mutex + condition var).

NOTE: Using any of the locking ftdm_span_() functions in the I/O will cause
      a deadlock between the I/O thread (trying to lock span->mutex) and the
      thread calling ftdm_start()/_stop() (holding the span->mutex).
      (The I/O thread currently uses direct span member access to avoid this.)

The I/O thread uses the epoll(7) family of functions for event handling.
An epoll context is created on startup and all B-channel sockets are
registered (READ, PRI and ERR). Before entering the event loop,
the I/O thread will send a signal on the condition variable, to
indicate it has completed the startup procedure.

Incoming b-channel and command pipe events are handled by the event loop.
Payload of incoming PH_DATA_IND frames (= audio data) is sent to the
rx_audio_pipe_in end of the b-channel's socket pair and, if enough data is
available, a PH_DATA_REQ of the same size is sent to the b-channel mISDN socket
to transmit audio.

A MISDN_CMD_STOP command on the event pipe will wake up the I/O thread and
cause it to shut down. All b-channels will be unregistered from the epoll context
and the epoll fd closed. The I/O thread terminates itself after signalling the
successfull shutdown on the condition variable.

TODOs:
    - Move D-Channel into I/O thread too

    - Custom FIFO/ring buffer for data (even lower latency)

    - Improve epoll() code (per-channel struct w/ callback, for epfd.data.ptr)

    - Use mISDN DSP for audio (e.g. tone generator, dtmf detector, echo cancel)

    - Use a per-port / span control socket to execute channel commands
      synchronously, or add misdn_commands (queue?) that can be used that way

    - Name I/O threads 'mISDN-%SPAN_NAME%', e.g. 'mISDN-M_BRI1'
      (= add ftdm_thread_set_namef(thread, fmt, ...) / ftdm_thread_set_name(thread, name))

TL;DR: "tweak", solves "booboo" with audio

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-24 18:03:31 +02:00
Jeff Lenk 72d67cdbd8 FS-4219 --resolve 2012-08-24 08:24:18 -05:00
Stefan Knoblich a4216351c0 ftmod_libpri: Implement channel hunting in NT-mode.
Hunt for a free channel for incoming calls that do not
preselect a channel (pevent->ring.channel == -1).

Verify the preselected channel for calls that do specify a channel
and in case the channel is already taken, hunt for a free one,
or abort with an error message (if the preselection was exclusive).

TE-mode channel selection is the same as before
(there's still room for improvement, though, but i'll save that for later).

The MSN/DDI filter code is moved into the TE-mode section (only useful there).

The duplicate ring detection had to be reworked. We now store the
call reference (CRV) in caller_data->call_reference of the selected channel
and do a CRV -> channel look up with find_channel_by_cref()
at the top of on_ring().

NOTE: This is only lightly tested (NT/TE mode), i'd either have to
      write a lot of custom code to check it toroughly or the need for
      a scriptable ISDN stack...

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-24 00:36:34 +02:00
Stefan Knoblich 716f4c0675 ftmod_libpri: Check for '#' key to leave overlap receiving state.
Same as ftmod_isdn, '#' key ends overlap receive and moves the incoming
call to RING state.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-23 22:26:49 +02:00
Steve Underwood fa5569caac A line got deleted somewhere along the line. I didn't do it, honest.
Its them damn gremlins.
2012-08-21 20:09:59 +08:00
Jeff Lenk bdb73beb8e FS-4526 --resolve 2012-08-17 19:46:54 -05:00
Jeff Lenk 0807b39c8d FS-4543 --resolve thanks Peter 2012-08-17 19:31:47 -05:00
Steve Underwood e399c69765 Fixed a typo in the fixed point image translate code 2012-08-17 18:36:29 +08:00
Anthony Minessale f454b79b9b fix color coding to be OS appropriate 2012-08-16 13:04:33 -05:00
Robert Jongbloed cd21b67c1d Updated mod_opal to latest stable OPAL version.
Enhancements to trace logging, include threads and context ID.

Changed default opal_conf.xml to allow more than just G.711 uLaw and not to clutter log file with debug logs.

Added to opal_conf.xml item for "disable-transcoding".

Updated build/buildopal.sh to use correct ./configure items for PTLib, allow for something other than standard install directory for PTLib/OPAL and be able to easily bind to a specific release of PTLib/OPAL.
2012-08-16 14:23:48 +10:00
Anthony Minessale bb69310259 FS-4079 FS-4540 please update to this version 2012-08-15 22:51:41 -05:00
Stefan Knoblich 548222f9f3 FreeTDM: Add span start/stop callbacks to ftdm_io_interface.
Callbacks are invoked from ftdm_span_start/_stop().
I/O is started before SIG and shut down in reverse order.

This is needed for ftmod_misdn, to move the mISDN message handling
into a separate thread (solving the mISDN socket vs. FreeTDM API issues).

With these callbacks, the I/O thread can be started after the span I/O configuration
has been (successfully) completed and stopped before destroying the span.

NOTE: Both SIG and I/O callbacks are called with the span mutex locked,
so threads created or destroyed synchronously in either of the custom
start/stop functions, can not use ftdm_span_*() functions that lock
the span mutex (e.g. ftdm_span_get_channel_count()).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-15 13:34:22 +02:00
Stefan Knoblich 431f7dd6bf spandsp: Fix libjpeg checks for --enable-builtin-tiff builds.
The --enable-builtin-tiff option appends libs/tiff-3.8.2/libtiff/libtiff.la
to LIBS, causing the AC_CHECK_LIB([jpeg]...) check to fail, because
libtiff.la does not exist at configure time.

Temporarily store tiff and jpeg libs in TIFF_-/JPEG_LIBS variables and
append them to LIBS after all library checks have run.

Example error output:
    configure:20049: checking for jpeg_start_compress in -ljpeg
    configure:20074: cc -o conftest -O2 -pipe -fno-strict-aliasing    -L/usr/local/lib conftest.c -ljpeg  -lm  /usr/home/ports/net/freeswitch-core-devel/work/freeswitch-1.2.1/libs/tiff-3.8.2/libtiff/libtiff.la >&5
    cc: /usr/home/ports/net/freeswitch-core-devel/work/freeswitch-1.2.1/libs/tiff-3.8.2/libtiff/libtiff.la: No such file or directory

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-15 12:52:28 +02:00
Steve Underwood 0b763a6286 Merge branch 'master' of git.freeswitch.org:freeswitch 2012-08-14 22:33:17 +08:00
Steve Underwood e30406cea6 Improvements to image translation 2012-08-14 22:32:30 +08:00
Jeff Lenk 3d9d42b798 FS-4517 --resolve 2012-08-13 21:31:46 -05:00
Jeff Lenk a293512f60 FS-4219 --resolve 2012-08-13 21:30:10 -05:00
Anthony Minessale fa5113557b stub for mod_html5 2012-08-13 15:20:41 -05:00
Anthony Minessale 61ab0b8878 libwebsocket inline configure 2012-08-13 14:29:04 -05:00
Anthony Minessale a05e414c41 fix libwebsocket build 2012-08-13 14:15:06 -05:00
Steve Underwood 5f12c3dc1c Improvements to T.4 end of image handling, and the related tests.
A lot of tiny tidy up edits
2012-08-12 22:11:06 +08:00
Steve Underwood e69a5a3037 Various little tweaks
A bug in end of image handling fixed, which could mean some T.85 images would
screw up.
2012-08-11 18:32:00 +08:00
Stefan Knoblich 2ad2b6d31b ftmod_isdn: Avoid stack smashing buffer overflow in isdn_tones_run().
The len variable can, in certain situations (large burst of incoming non-SLIN audio),
exceed the size of the on-stack frame buffer, which causes ftdm_buffer_read_loop() to
overwrite the dt_buffer pointer.

Use ftdm_min() to make sure len (after conversion to SLIN units) isn't larger
than the frame buffer size.

Also adds are couple more code comments.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-10 17:16:05 +02:00
Stefan Knoblich 036063d2a9 mod_freetdm: Fix typo.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-10 17:16:05 +02:00
Jeff Lenk 659c06d356 FS-4219 -- resolve windows version string. thanks Peter 2012-08-10 07:47:10 -05:00
Jeff Lenk 6e8736bb06 FS-4504 vs2008 pro still need express 2012-08-09 13:42:21 -05:00
Steve Underwood d3c89bae34 Fixed a misplaced #endif that only causes trouble when you hit the right
combination
2012-08-09 22:19:49 +08:00
Steve Underwood d1b45ae65b A couple of typos in spandsp
Improvements to image flattening in spandsp's image translate code
2012-08-09 21:58:22 +08:00
Jeff Lenk 3389f32363 FS-4504 - tweak 2012-08-08 21:29:06 -05:00
Jeff Lenk e9ce6ae0e9 FS-4504 vs2010 only - plus mod_sofia fix - anybody want to help with 2008 2012-08-08 21:18:06 -05:00
Michael Jerris 6fa2fd3678 add ws 2012-08-08 17:05:01 -05:00
Steve Underwood 9a26b3a8a7 Fixed harmless typos in comments 2012-08-08 21:31:45 +08:00
Steve Underwood 42c5ab08d3 Image translate moves forward a little, towards colour support 2012-08-08 21:26:06 +08:00
Steve Underwood bb96d091fc Tweaks 2012-08-08 21:16:38 +08:00
Steve Underwood 65ffaa8ca9 Someone's been doing something odd to t30.h :-\ 2012-08-08 19:46:31 +08:00
SwK 3818cae3e6 Work around for compiler issues on centos 2012-08-07 14:46:23 -04:00
Stefan Knoblich 964d14c012 ftmod_isdn: Fix channel state handling in NT mode w/ early disconnect.
In this particular case: NO_ROUTE_DESTINATION caused by missing context.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-07 17:22:17 +02:00
Stefan Knoblich c6cf92d766 ftmod_isdn: Use ftdm_time_t for dialtone timeout.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-07 17:22:17 +02:00
Steve Underwood a117fd8fa3 Avoid quirky complaints about using the top bit of an integer as an enum 2012-08-07 23:06:17 +08:00
Steve Underwood 3ae2bdf4aa Improvements to dithering down colour and gray scale images to bi-level
images, for images with different illuminants.
2012-08-07 22:34:32 +08:00
Steve Underwood 04e93f4c0b Fix fixed point builds of spandsp, and improve logging of modem performance during tests 2012-08-05 22:20:39 +08:00
Steve Underwood 72566f6a3f Fixed V.22bis fixed point builds 2012-08-05 18:39:41 +08:00
Steve Underwood f088d971f3 Sorted out fixed point builds of the V.22bis modem 2012-08-05 18:38:47 +08:00
Jeff Lenk d1c3f910a6 windows -fix build for recent spandsp changes 2012-08-03 16:46:48 -05:00
Steve Underwood e523076274 FAX T.6 decompression fixed for images with black in the last pixel of lines.
Colour and grey images can down be dithered down to bi-level images for transmission as faxes.
More movement towards T.42 support
2012-08-04 03:45:09 +08:00
Steve Underwood e35221b981 Fixed the way T.85/T.85-L0 selection is handled when decoding DCS messages 2012-08-03 20:26:30 +08:00
Stefan Knoblich ac0eec9de4 ftmod_isdn: Fix set-but-unused warning.
Resolves OPENZAP-189

Fixes:
	src/ftmod/ftmod_isdn/ftmod_isdn.c: In function 'ftdm_isdn_931_34':
	src/ftmod/ftmod_isdn/ftmod_isdn.c:902:21: error: variable 'status' set but not used [-Werror=unused-but-set-variable]

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-03 12:33:40 +02:00
Stefan Knoblich dc1422998a FreeTDM: Add FTDM_XINT64_FMT 64bit hex format string and use it in ftmod_misdn.
Fixes:
  src/ftmod/ftmod_misdn/ftmod_misdn.c: In function 'misdn_handle_mph_information_ind':
  src/ftmod/ftmod_misdn/ftmod_misdn.c:871:3: error: format '%lx' expects argument of type 'long unsigned int', but argument 13 has type 'uint64_t' [-Werror=format]

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-27 14:33:46 +02:00
Stefan Knoblich 5ebc68fb51 ftmod_isdn: Fix per-channel teletone buffer offset wraparound.
Do a "soft" wraparound with modulo, removes the ~0.5s tone glitch.
(Multiply ts.rate (samples) by two to match the offset unit (bytes, 2 per sample).)

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-26 09:14:51 +02:00
Stefan Knoblich 5367b96153 ftmod_isdn: Rework teletone buffer offset handling in isdn_tones_run().
Store the offset in the teletone buffer in the b-channel private data.

An NT-mode setup with ftmod_misdn showed severe (dial-)tone distortions
in a sound editor (330Hz sine wave phase errors), caused by
using a global teletone buffer offset.

Switching to a per-channel offset, that is advanced by the amount
of data actually written to the channel, removes (almost) all
distortions.

There is still a minimal phase error every ~500ms (audible) that
needs more investigating.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-26 01:21:47 +02:00
Stefan Knoblich 7a93ae2d95 FreeTDM: Add ftdm_offset_of() and ftdm_container_of() macros.
Might as well import these too...

ftdm_offset_of() - Get offset of member in structure.

ftdm_container_of() - Get pointer to enclosing structure from pointer to structure member.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 16:10:35 +02:00
Stefan Knoblich fb57605df7 ftmod_misdn: Drop custom MIN(),MAX(),CLAMP() macros and use the common ones.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 16:08:51 +02:00
Stefan Knoblich c3d13d5e00 ftmod_libpri: Drop custom MIN() macro and use common ftdm_min()
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 16:07:39 +02:00
Stefan Knoblich e71bacb2f5 FreeTDM: Add convenience macros ftdm_min(), ftdm_max() and ftdm_clamp().
ftdm_min(x,y) - Returns the smaller of the two values x and y.

ftdm_max(x,y) - Returns the larger of the two values x and y.

ftdm_clamp(val, min, max) - Returns value that is in the range [vmin,vmax].

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 14:03:22 +02:00
Stefan Knoblich 7d0dcb6175 ftmod_misdn: Rework mISDN channel de-/activation.
Remove the 'state' variable of per-channel data, use active flag exclusively to track
open/close state.

Add misdn_activate_channel()/misdn_deactivate_channel() helper functions, rename old
one to _misdn_toggle_channel() (internal).

Add _nowait variant of channel de-/activation function, that just sends the mISDN request message.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 14:03:22 +02:00
Stefan Knoblich 890ecc6d45 ftmod_isdn: Use span trunk_mode to select default mode and print warning if final modes do not match.
Same as ftmod_libpri.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 14:03:22 +02:00
Stefan Knoblich 200438d18f ftmod_isdn: Use ftmod_log_chan(_msg)() and ftdm_strlen_zero().
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 14:03:21 +02:00
Stefan Knoblich 9883035bec ftmod_isdn: OpenZAP -> FreeTDM API updates.
Store call CRV in caller_data.call_reference and use call private to hold the
FreeTDM channel object.

Remove isdn_data->channels_{local,remote,outbound}_crv arrays.

Allow (and force) inbound call state transition DIALTONE -> DOWN for
incoming RELEASE COMPLETE messages in NT mode.

Dialtone in NT mode works, everything else needs more testing.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-25 14:03:21 +02:00
Stefan Knoblich fc9ea9eab0 ftmod_isdn: Handle zero length read correctly.
ftmod_misdn currently returns len == 0 if the incoming message,
that triggered the read() call, does not contain any data.
Users of ftdm_channel_read() need to handle this case, or they
may possibly end up in an endless loop.

This patch reworks the ftdm_channel_read() handling in ftmod_isdn
and prevents it from entering an endless loop. The read error counter
is reset on first sucessful read w/ data.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-24 00:07:41 +02:00
Stefan Knoblich 9c05387735 ftmod_isdn: Fix format string warning(/error).
Use %p for printing pointer address in hex.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-23 19:45:58 +02:00
Jeff Lenk b2e28d68b5 fix windows build for last spandsp changes - trivial 2012-07-21 10:18:27 -05:00
Steve Underwood be6739e198 Updates to spands test data 2012-07-21 21:46:07 +08:00
Steve Underwood fd8c576c66 Some tidying of the V.17 modem. Brought the modem test programs up to date 2012-07-21 21:17:11 +08:00
Steve Underwood e58b2e7d97 Some modem cleanups, and movement towards efficient fixed point modem
implementations for platforms with slow floating point
2012-07-21 19:47:45 +08:00
Steve Underwood e9b4a497cc Tweaks 2012-07-21 07:18:27 +08:00
Steve Underwood b5f7443524 Started introducing T.42 JPEG support for FAXing, but its not plumbed into the
FAX engine yet.
2012-07-21 04:05:40 +08:00
Travis Cross cae357e784 gitignore some build products 2012-07-20 05:18:04 +00:00
Moises Silva c55ac6c900 freetdm: OPENZAP-187 --resolve Add ability to set called party subaddress 2012-07-19 16:58:25 -04:00
Stefan Knoblich 0e51786a88 FreeTDM: Add ftmod_analog(_em) and ftmod_zt to summary screen (always built).
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-19 20:42:17 +02:00
Stefan Knoblich 890da63554 ftmod_skel: Add -shared libtool flag.
Do not build static versions of modules.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-19 20:42:17 +02:00
Anthony Minessale 5867d0424d FS-4079 please try this 2012-07-18 21:48:53 -05:00
Stefan Knoblich 67442974b2 ftmod_libpri: Fix type-punned pointer warning in msn_filter_foreach().
cc1: warnings being treated as errors
./src/ftmod/ftmod_libpri/ftmod_libpri.c: In function 'msn_filter_foreach':
./src/ftmod/ftmod_libpri/ftmod_libpri.c:422: warning: dereferencing type-punned pointer will break strict-aliasing rules
make: *** [ftmod_libpri_la-ftmod_libpri.lo] Error 1

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-18 21:57:52 +02:00
Steve Underwood 12aec908bb Various tweaks to spandsp. Cleaned up a few MSVC issues with spandsp 2012-07-18 21:46:58 +08:00
Jeff Lenk 682fb58bd5 OPENZAP-186 --resolve 2012-07-18 08:16:35 -05:00
Jeff Lenk 2dda038ba0 FS-4416 -- resolve 2012-07-15 21:52:02 -05:00
Jeff Lenk d2b940d9fc fix windows spandsp build for recent commits 2012-07-15 11:01:17 -05:00
Steve Underwood 4de4434afc Merge branch 'master' of git.freeswitch.org:freeswitch 2012-07-15 13:38:18 +08:00
Steve Underwood 4bcdafec68 T.85 compression has now been added to the FAX engine in spandsp 2012-07-15 13:37:39 +08:00
Anthony Minessale 545c387938 frick 2012-07-14 20:23:13 -05:00
Steve Underwood 232fe67722 More integration with the current spandsp 2012-07-15 01:47:55 +08:00
Steve Underwood 5d7e26141f Introducing T.85 encode and decodei to spandsp. This is not connected into the FAX engine in this update. 2012-07-14 23:59:01 +08:00
Steve Underwood 287678bc56 Tweaks to spandsp tests
Addition of tones to modem connect tones
Repeat function for V.18 TDD
2012-07-14 23:34:40 +08:00
Stefan Knoblich 6ff084492b esl-php: Create installation directories if they do not exist (+ other minor clean ups).
Fixes:

   cp ESL.so /var/tmp/por.../image/usr/lib64/php5.3/lib/extensions/no-debug-zts-20090626
   cp: cannot create regular file `/var/tmp/por.../image/usr/lib64/php5.3/lib/extensions/no-debug-zts-20090626': No such file or directory

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-14 14:01:18 +02:00
Stefan Knoblich de4bf23d59 ftmod_pritap: Fix format string errors.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 20:07:18 +02:00
Stefan Knoblich 391d498cbe ftmod_r2: Fix format string errors.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 20:07:18 +02:00
Stefan Knoblich 03a219772c ftmod_gsm: Fix format string errors.
Two fixes:

	Use ftdm_set_string() instead of sprintf() (seriously, wtf?).

	Drop invalid, needless argument to ftdm_log().

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 12:41:23 +02:00
Stefan Knoblich ba1c27fec7 ftmod_sangoma_ss7: Fix format string errors.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 03:20:47 +02:00
Stefan Knoblich da4b28c115 FreeTDM: Cast flag to uint64_t and use FTDM_UINT64_FMT to silence format string warning.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 03:18:52 +02:00
Stefan Knoblich 6aebfe6a60 ftmod_wanpipe: Fix "initialization from incompatible pointer type" warning.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 03:02:16 +02:00
Stefan Knoblich ee2a5a33f3 FreeTDM: Fix format string errors in ftmod_analog, ftmod_wanpipe and ftmod_sangoma_isdn.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 03:01:20 +02:00
Stefan Knoblich 90d299cd7a FreeTDM: Add dumy "%s" format string to ftdm_assert() and ftdm_assert_return() to silence format string warnings.
Neither of them accepts extra arguments and ftmod_sangoma_isdn is calling
ftmod_assert() with a char * msg argument.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-12 02:37:55 +02:00
Anthony Minessale 75b36c9545 tweaks 2012-07-11 16:48:56 -05:00
Stefan Knoblich f384e247fc FreeTDM: Add gcc printf()-style format string checks to ftdm_log(), also add FTDM_(U)INT64_FMT and FTDM_TIME_FMT constants.
The format string checks already caught a couple crash-worthy bugs and this
commit fixes a couple more.

Also includes __ftdm_check_scanf(), for completeness (currently unused).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 22:44:08 +02:00
Anthony Minessale 2aebe2456f first pass on some new stuff 2012-07-11 15:15:50 -05:00
Stefan Knoblich 90cdc718ec FreeTDM: Whitespace fixes for load_config().
Get rid of those annoying green trailing whitespace and empty lines
with whitespace.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 20:41:55 +02:00
Stefan Knoblich fdf86c0c51 FreeTDM: Make cfg_name[] const in load_config().
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 20:40:59 +02:00
Stefan Knoblich ab285ace3d FreeTDM: Improve error checking and logging in load_config(), add FTDM_SPAN_IS_DIGITAL() helper.
Output the current trunk_type in "add X-channel vs. trunk_type" error messages and
check this for B-/D-channels too.

ISDN (= digital) spans need to have a trunk_type set before adding channels,
bail out early with an error message (actually two) if this is not the case.

(Adding channels should really be moved out of the parsing loop, to catch
 certain types of errors easier.)

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 20:32:34 +02:00
Michael S Collins eb7e640b59 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2012-07-11 11:10:33 -07:00
Michael S Collins fbfa31d2d1 Add dump_events.pl script 2012-07-11 11:10:24 -07:00