Commit Graph

5812 Commits

Author SHA1 Message Date
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
Stefan Knoblich 7a12804577 FreeTDM: Add trunk mode (NET/CPE) to span configuration in freetdm.conf and use it in ftmod_misdn and ftmod_libpri.
Some I/O implementations (e.g. mISDN) need this information to correctly
set up the port configuration. In FreeTDM, the mode of a span has been.
up until now, a part of the signalling module configuration ("node" or "mode"
for libpri and isdn spans), which is parsed _after_ the I/O part of a span
has been initialized. This limitation currently prevents us from using mISDN
in NT mode.

To work around this problem (without adding a lot of new tunk_type values like "E1_NET" etc.),
add a new "trunk_mode" parameter to the span categories in freetdm.conf, which by default
is "CPE" for all trunk types, except "FXS" (which defaults to "NET").

ftmod_misdn uses trunk_type + trunk_mode to correctly choose the d-channel protocol
for a port.

ftmod_libpri uses trunk_mode as a hint for the default "mode" setting.
(NOTE: It will print a warning if trunk_mode and signalling mode do not match.)

All other modules currently ignore the value of trunk_mode.

Example freetdm.conf snippet for a mISDN span in NET/NT mode
(using a HFC-S USB dongle):

  [span misdn MBRI_1]
  trunk_type => BRI_PTMP
  trunk_mode => NET
  b-channel  => HFC-S_USB.1:1-2
  d-channel  => HFC-S_USB.1:3

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 19:15:35 +02:00
Stefan Knoblich 61cfafe6c2 FreeTDM: Move custom backtrace code into ftdm_backtrace_walk() and helper functions.
Portability fix for uClibc and other (linux) environments that lack execinfo.h.

ftdm_backtrace_walk() and related return FTDM_NOTIMPL and print a message
if backtraces are not available in the current environment.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 17:25:58 +02:00
Anthony Minessale 6c406aa0d9 add wait handler to forking code in ivrd 2012-07-10 13:32:35 -05:00
Anthony Minessale 27155bcb71 come to ClueCon its in one month 2012-07-10 12:05:26 -05:00
Jeff Lenk fa1276d949 FS-4219 --resolve 2012-07-08 09:10:28 -05:00
Moises Silva c81e20475f freetdm: Try to be more foolproof when creating an iterator for an empty span
to avoid triggering asserts later
2012-07-06 18:43:03 -04:00
David Yat Sin f509b708a7 Freetdm: Fix for 64-bit check on Ubuntu 2012-07-06 15:23:37 -04:00
Stefan Knoblich a5e1101302 ftmod_libpri: Add doxygen documentation for new MSN/DDI filter functions.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-06 11:08:34 +02:00
Steve Underwood 4a200ce3a0 More tweaks for spandsp. 2012-07-04 23:57:30 +08:00
Steve Underwood 2b75169c07 A lot of tweaks to clean up some inconsistencies in spandsp. They should
have no functional effect.
2012-07-04 22:51:46 +08:00
Michael Jerris 6068534c8e add to make sure config dir is there for AC_CONFIG_AUX_DIR 2012-07-02 17:46:21 -04:00
Anthony Minessale b2df2ee1d7 FS-4376 --resolve update and repeat 'make spandsp-reconf' 2012-07-02 14:24:23 -05:00
Jeff Lenk 7f41862156 build fix for recent spandsp commit - windows 2012-07-02 09:04:15 -05:00
Steve Underwood 5c259f26d2 Various little tweaks to spandsp to stop warnings with newer compilers
Various little tweaks to spandsp to bring it into line with the master versions
Addition of Ademco Contact ID protocol processing to spandsp
2012-07-02 21:31:04 +08:00
Stefan Knoblich c92a55d3f1 ftmod_libpri: Add MSN/DDI filter for incoming calls.
This feature allows ftmod_libpri to ignore calls with non-matching destination number.

You may want to use this on BRI PTMP lines (Point-to-MultiPoint),
to avoid conflicts between your FreeSWITCH server and other devices connected to the line.

The filter is disabled by default (all calls will be accepted),
setting one (or more) "local-number" parameters on the span configuration enables it.

Example configuration snippet:

   <libpri_spans>
      <span name="example01">
         <!-- ... other span settings omitted ... -->
         <param name="local-number" value="123456"/>
         <param name="local-number" value="654321"/>
      </span>
   </libpri_spans>

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-06-26 21:53:20 +02:00
Stefan Knoblich 1ae88d51d0 ftmod_libpri: Move service_change_status_t down into #include guard area.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-06-26 21:53:20 +02:00
Travis Cross 5fd025eb66 Update AUTHORS 2012-06-25 08:51:49 +00:00
Travis Cross b8109bde58 Bootstrap bnlib without warnings or errors 2012-06-25 08:50:00 +00:00
Travis Cross 3b2df07f3e Fix bnlib call to AC_INIT 2012-06-25 08:48:19 +00:00
Travis Cross 95c26f9a6b Remove outdated autoconf tests in bnlib 2012-06-25 08:48:11 +00:00
Travis Cross 3f24ef16b1
Avoid -Wunused-value warning
Don't use the SET_STATUS1 macro as it will always produce this
warning.  It's a rather 'interesting' macro that's probably best
avoided anyway.
2012-06-25 06:41:00 +00:00
Travis Cross cbde2faab2 Fix confusion between size_t and ssize_t
readfile returns a value of type ssize_t (signed) and returns -1 if an
error occurs.  In auth_readdb_internal, however, we were assigning the
return value of readfile to a variable of type size_t (unsigned), but
then testing this unsigned value to see if it was < 0, a
contradiction.  We would thus simultaneously fail to report the error
in readfile and would end up with a corrupted length value.
2012-06-25 06:38:30 +00:00
Travis Cross e6629ab5f6 Add missing return statement
sres_cached_answers_sockaddr is supposed to return ENOENT if no cached
records are found.  Because of the missing return statement, however,
it would never do this and would instead return something very likely
to be garbage.
2012-06-25 06:38:30 +00:00
Travis Cross 5077384c5b Remove a contradiction
base64_d returns a value of size_t, which is unsigned.  The value
therefore cannot be less than zero.  The second check testing whether
it is >= INT_MAX is not a contradiction, but it doesn't make any sense
to check for this (as far as I can tell).
2012-06-25 06:38:30 +00:00
Travis Cross 76a26648d4 Remove a tautological conditional
SU_LOG->log_level is declared as unsigned, hence it will always
be >= 0.
2012-06-25 06:38:29 +00:00
Travis Cross 9e52f33d91 Implement MEMLOCK and UNLOCK as functions
Converting these macros to functions declared static inline allow the
C type-checker to work and avoid warnings about unused expression
values.  These warnings break the build with clang.
2012-06-25 06:38:29 +00:00
Travis Cross c01a142665 Implement su_errno and su_seterrno as functions
This avoid warnings about expressions with unused values.  These
warnings break the build with clang.

An optimizing compiler should still inline these calls.  If that turns
out not to happen on some platform, we could rename the functions used
internally and declare them static inline.
2012-06-25 06:38:29 +00:00
Travis Cross 43f2c89a08 Fix memset calls in sofia-sip
These calls were zeroing only a pointer's worth of memory rather than
the actual size of the objects.
2012-06-25 06:38:29 +00:00
Travis Cross 3c2f914617 Fix warnings in sqlite 2012-06-24 08:34:52 +00:00
Travis Cross 932dccd475 Return const char* from apr_pool_tag
clang warns:

  warning: returning 'const char *' from a function with result type
    'char *' discards qualifiers [-Wincompatible-pointer-types]
2012-06-24 08:15:16 +00:00
Travis Cross a973fb6347 Fix memset calls in APR sha2 implementation
The implementation clears the context / state data from memory when it
is finished with it.  Prior to this commit, however, it was actually
only clearing the first 4 bytes on x86 or 8 bytes on x86_64.

clang warns:

  warning: argument to 'sizeof' in 'memset' call is the same
  expression as the destination; did you mean to dereference it?
      [-Wsizeof-pointer-memaccess]
2012-06-24 08:05:25 +00:00
Anthony Minessale 76fae0cec0 add video support to lib/mod.dingaling this needs testing, google voice won't work with video calls so disable video codecs if you use that 2012-06-22 18:15:06 -05:00
Travis Cross c85c8d7bbd
Add mechanism to set OpenSSL session timeout
In a sofia profile, you can now set the parameter tls-timeout to a
positive integer value which represents the maximum time in seconds
that OpenSSL will keep a TLS session (and its ephemeral keys) alive.

This value is passed to OpenSSL's SSL_CTX_set_timeout(3).

OpenSSL's default value is 300 seconds, but the relevant standard
(RFC 2246) suggests that much longer session lifetimes are
acceptable (it recommends values less than 24 hours).

Longer values can be useful for extending battery life on mobile
devices.

Signed-off-by: Travis Cross <tc@traviscross.com>
2012-06-11 21:46:05 +00:00
Travis Cross b735735ea1 gitignore a symlink we're creating in ldns 2012-06-11 18:06:00 +00:00
Viktor Krykun 2c9e1454fe various bug fixes in libzrtp
* fixed bug with remote hello-hash buffer being too small
 * removed unused hello-hash storage in zrtp stream context
 * fixed bug with libzrtp rendered "empty" SAS hash from incoming
   SasRelay packet
 * incremented libzrtp version number to 1.15

Signed-off-by: Travis Cross <tc@traviscross.com>
2012-06-06 00:20:15 +00:00
Jeff Lenk a065cf8631 FS-4219 --resolve correct windows version 2012-06-05 08:44:22 -05:00
Anthony Minessale 8bb55ed4bf abstract out originate_signal_bond to a function to avoid confustion and regressions 2012-05-29 13:10:15 -05:00
Anthony Minessale 452e1d8271 FS-4249 --resolve 2012-05-25 07:54:11 -05:00
Anthony Minessale 0a70ea3e09 scgi updates 2012-05-23 13:12:32 -05:00
Anthony Minessale 4b2e7fc1f2 perl update 2012-05-23 11:31:17 -05:00
Anthony Minessale bb3f72cb66 add perl wrapper to scgi 2012-05-23 09:37:54 -05:00
Jeff Lenk b65c321193 FS-4228 --resolve add zrtp support to windows vs2010 build 2012-05-17 08:38:11 -05:00
Travis Cross 6da083551e libzrtp: fix spelling in log message 2012-05-15 22:28:18 +00:00
Travis Cross c2a74240ee libzrtp: fix client-side enrollment
It appears that libzrtp would prevent a non-passive client from
enrolling with a PBX because of a broken license mode comparison.

Thanks to Ivo Kutts for the report.

FS-4223 --resolve
2012-05-15 22:28:18 +00:00
Jeff Lenk a7c85c804a FS-4219 --resolve 2012-05-15 09:18:02 -05:00
Anthony Minessale ec0f4c9f6c FS-4218 --resolve 2012-05-14 09:47:42 -05:00
Travis Cross c77d9a18dd spelling fix 2012-05-12 18:53:00 +00:00
Anthony Minessale aedbd06b99 fix warning 2012-05-10 11:01:30 -05:00
Anthony Minessale f917cbe29b add server side to scgi 2012-05-10 08:23:23 -05:00
Anthony Minessale 6bb33d7683 add libscgi (SCGI Client) 2012-05-09 14:05:03 -05:00
Jeff Lenk 4fbf8625ed OPENZAP-183 --resolve 2012-05-09 09:20:10 -05:00
Moises Silva 105ce9ff33 Fixes before merging sangoma repo with upstream 2012-05-07 16:26:48 -04:00
Moises Silva 1f08e2b0ec Merge remote branch 'fsorig/master' 2012-05-07 15:46:08 -04:00
Moises Silva f316f9307f freetdm: First GSM working version
- Manually merging latest code from gideon.gsm branch after review/inspection/modifications
2012-05-07 15:35:13 -04:00
Moises Silva cf9f937079 Merge branch 'master' into gsm.merge 2012-05-07 15:15:44 -04:00
Moises Silva cc79163da3 freetdm: refactor ftmod_gsm.c code to use proper core functions and interrupts to wait for io and state changes 2012-05-07 15:13:26 -04:00
Moises Silva de98034145 freetdm: - Extend ftdm interrupt object to notify which IO events are ready in the device
- Add definition of FTDM_MAX_SIG_PARAMETERS to have a standard limit for signaling module parameters
2012-05-07 15:13:26 -04:00
Moises Silva 06eee95da8 freetdm: update ftmod_gsm.c to match latest libwat changes 2012-05-07 15:13:26 -04:00
Gideon Sadan c268b388a7 freetdm: GSM - Finish adding status command + stabilizing 2012-05-07 15:13:21 -04:00
Gideon Sadan f891fefcb1 freetdm: GSM read and write initialization 2012-05-07 15:11:58 -04:00
Gideon Sadan 9cb67dd0c7 freetdm: initializing wat library interface 2012-05-07 15:11:01 -04:00
Moises Silva 412c808e0c freetdm: Added GSM module skeleton 2012-05-07 15:10:25 -04:00
Ken Rice 0eca328f48 white space cleanup 2012-05-03 18:55:06 -05:00
Anthony Minessale 8664dc6d5a some perfomance tweaks 2012-05-03 16:31:21 -05:00
Anthony Minessale 163fffb3e8 fix issue with threaded ivrd, forking is back by default but threaded can be chosen with -t; in both modes the fd number is not passed as the first arg to the program but in threaded mode the stdin will no longer be mapped to the socket you will have to get the first command line arg instead of fileno stdin 2012-05-03 13:13:48 -05:00
David Yat Sin 428340830b Fix for not handling T302 timeout in NET mode 2012-04-29 11:33:24 -04:00
Anthony Minessale b553d62fbd add sip_require_timer=true variable to enable require timer on session refresh that breaks finicky endpoints 2012-04-26 10:35:02 -05:00
Ken Rice 7a147e4762 Update a ton of copyright statements to make sure the dates are proper 2012-04-25 17:14:55 -05:00
Michael Jerris 7d3816dbea silence set but not used 2012-04-25 15:19:47 -04:00
Michael Jerris ba4280e61f try to add a tag to disable timer autorequire NUTAG_TIMER_AUTOREQUIRE(0) 2012-04-25 15:15:32 -04:00
Ken Rice c5554eb939 Copyright date update. 2012-04-18 11:52:02 -05:00
Michael Jerris e9abdac010 attempt to fix ldns install-sh correctly 2012-04-17 23:05:48 -04:00
Michael Jerris 2f9889624f AC_REQUIRE_AUX_FILE is not available in all versions of autotools 2012-04-17 22:30:28 -04:00
Michael Jerris 215d8921a1 please stop removing libs/ldns/install-sh if you can't make it actually work on all platforms. This is the second time I have had to erevert this 2012-04-17 21:48:49 -04:00
Travis Cross 315c0e4c0d ldns: fix bootstrap on automake 1.10 2012-04-17 23:32:34 +00:00
Anthony Minessale ecfe3263e2 FS-4114 --resolve this bug is actually in libsndfile, if its not fixed in the latest version we probably should report it upstream 2012-04-16 11:55:52 -05:00
Stefan Knoblich 997550c511 ftmod_libpri: Check for required features in configure and remove old-style log callbacks
Non-PRI_NEW_SET_API logging callbacks were only available in libpri-1.0 and older,
which also lacks PRI_IO_FUNCS (required) and wouldn't work anyway.

Explicitly check for both PRI_* feature defines at configure time and reject libpri
versions that lack them.

Remove the non-PRI_NEW_SET_API logging callbacks in ftmod_libpri.c.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-04-14 01:39:25 +02:00
Stefan Knoblich 020724e103 ftmod_libpri: Improve libpri message logging.
Use the PRI_NEW_SET_API define provided by >=libpri-1.2 to distinguish
between old style and new style pri_set_error() and pri_set_message()
callback functions.

Improve message logging by using ftdm_log_chan() if per-span
data with a valid (d-)channel object is available.
NOTE: pri_get_userdata() returns NULL if pri is NULL.

This will reduce the horizontal space for libpri output a bit, but allows
us to see which span the message/error came from.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-04-14 01:13:22 +02:00
Brian West f263c0518e up this limit 2012-04-13 11:39:03 -05:00
Stefan Knoblich 5f38a7f857 ftmod_misdn: Remove unused timerfd code.
Timer-based b-channel tx gating won't work anyway, so remove all those
"#if 0"-ed bits of cruft.

Also remove the mISDN-specific timerfd_create() check in configure.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-04-12 13:08:57 +02:00
Anthony Minessale 62c14df322 FS-3774 --resolve 2012-04-10 16:19:23 -05:00
Anthony Minessale a40f304990 ESL-45 --resolve 2012-04-10 16:11:36 -05:00
Mitch Capper 6f87ac55d6 fs_cli: add batch mode
Signed-off-by: Travis Cross <tc@traviscross.com>
2012-04-08 16:54:40 +00:00
Travis Cross 73b473c367 remove autogenerated file libs/ldns/install-sh
Re-bootstrapping is needed after this change.  Previously CentOS 5
systems wouldn't build correctly without this file in tree, but we've
adjusted bootstrap to compensate.
2012-04-06 21:42:59 +00:00
Ken Rice a362cd846a this should work find with /bin/sh on all systems 2012-04-06 14:52:55 -05:00
Anthony Minessale c41a16d4da shutdown socket before closing to avoid blocking 2012-04-05 14:28:01 -05:00
Travis Cross aad8daffa0 libzrtp: make bootstrap work on CentOS 5 2012-04-05 18:02:53 +00:00
Travis Cross 735d98710c libzrtp: gitignore bnlib/Makefile 2012-04-05 08:18:55 +00:00
Travis Cross 9468eeb5c8 libzrtp: remove an autogenerated file 2012-04-05 07:34:32 +00:00
Travis Cross a5cbd2c650 Revert unintended changes to libs/ldns/install-sh
I hate this file; we need to do something about this.

Partially revert "fix libzrtp build"
commit 0b6023b261
2012-04-05 05:00:24 +00:00
Travis Cross 0b6023b261 fix libzrtp build 2012-04-05 04:44:49 +00:00