Commit Graph

6397 Commits

Author SHA1 Message Date
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
Kapil 7b7256b55f fixing issues 2012-08-06 10:20:02 -04: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
Kapil Gupta 34000bf188 adding "interface-identifier" field to configuration 2012-08-03 12:07:02 -04: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
root 61f0237670 print modification 2012-08-01 13:21:47 -04:00
David Yat Sin d96687a352 Fix for TDM termination alarms 2012-08-01 13:18:37 -04:00
David Yat Sin 6906c00342 Merge branch 'releases.3.4' into releases.3.5
Conflicts:
	src/include/switch_channel.h
	src/switch_channel.c
2012-07-31 14:18:36 -04:00
root 0c87442dd7 adding termination service states(in-service/out-of-service) flags and
reject incoming megaco request if requested termination is not in service
2012-07-30 13:17:39 -04:00
root 22bc29b5e0 sending termination in-service/out-of-service service change for termination whenever there is alarm indication from freetdm 2012-07-30 12:32:46 -04:00
root da26b4de41 adding termination service-change code 2012-07-29 10:17:13 -04:00
David Yat Sin 2a1eb6e8fa Merge branch 'releases.3.4' of ssh://git.sangoma.com/smg_freeswitch into releases.3.4 2012-07-28 10:42:18 -04:00
David Yat Sin 4bbb8c014a Fixed compile error 2012-07-28 10:41:55 -04:00
David Yat Sin a6503b4952 Fixed compile warning 2012-07-28 09:59:47 -04:00
root 2dc5b322dd Added event system for TDM termination alarms 2012-07-27 21:31:24 -04:00
root 008bb4942b adding code for updating codec types 2012-07-27 16:11:46 -04:00
David Yat Sin 6895e46983 Fix compile warning 2012-07-27 15:02:45 -04:00
James Zhang a4255e140b freetdm: adding variables for ansi outgoing IAMs
. added called party number INN variable
           ie. <action application="export" data="freetdm_ss7_cld_inn=0"/>
         . added multiple variables to set User Service Information IE
           variables are :
              ss7_iam_usi_trans_cap
              ss7_iam_usi_code_standard
              ss7_iam_usi_trans_mode
              ss7_iam_usi_trans_rate_0
              ss7_iam_usi_trans_rate_1
              ss7_iam_usi_layer1_ident
              ss7_iam_usi_layer1_prot
              ss7_iam_usi_layer2_ident
              ss7_iam_usi_layer2_prot
              ss7_iam_usi_layer3_ident
              ss7_iam_usi_layer3_prot
              ss7_iam_usi_chan_struct
              ss7_iam_usi_config
              ss7_iam_usi_establish
              ss7_iam_usi_symmetry
              ss7_iam_usi_rate_multiplier

         . ss7_iam_usi_trans_cap is a string variable, the others are all integers
         . ss7_iam_usi_trans_cap has options of :
              - SPEECH
              - UNRESTRICTED
              - RESTRICTED
              - 31KHZ
              - 7KHZ
              - 15KHZ
              - VIDEO
           default value is SPEECH, if the parameter is wrong, set to SPEECH. If not
           set, this field is not present
2012-07-27 11:53:00 -04:00
Mathieu Rene a668b9ddf6 automatically fail new tdm channel if ftdm_start_only is true 2012-07-27 11:06:23 -04:00
root 3350403d04 commit from testbox 2012-07-27 11:22:29 -04: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
David Yat Sin b10e73131e Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-26 16:43:29 -04:00
David Yat Sin 258900818a freetdm: Added thread to service events when there is no signalling module on a span 2012-07-26 16:43:18 -04: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
root f57825f1fe Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 23:16:53 -04:00
David Yat Sin 5dc8412f44 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 23:16:42 -04:00
David Yat Sin a4bb00023c Reverted back clear-channel, used existing FTDM_SIGTYPE instead 2012-07-25 23:16:32 -04:00
root 491737fd4d Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 21:27:06 -04:00
Mathieu Rene 039c18638c allocate recv buffer for tdm 2012-07-25 21:26:53 -04:00
root cde7e0408a Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 21:16:52 -04:00
Mathieu Rene f85347cf72 add logging before uuid_bridge, set frame->codec from tech_pvt->read_codec 2012-07-25 21:16:46 -04:00
root a0d984c9c6 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 21:16:23 -04:00
Mathieu Rene 4d3038c9e4 add logging before uuid_bridge, set frame->codec from tech_pvt->read_codec 2012-07-25 21:16:14 -04:00
root 6b774cf35a Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 21:07:02 -04:00
Mathieu Rene 0494df1ac4 give the tdm channels their caller profile so switch_ivr_uuid_bridge doesn't piss its pants off 2012-07-25 21:06:47 -04:00
root 7fdfd70e26 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 20:50:42 -04:00
Mathieu Rene f7e94c45d3 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-07-25 20:50:37 -04:00
Mathieu Rene c6fecc1ee8 go in consume media right away 2012-07-25 20:50:18 -04:00
Mathieu Rene ae84538819 mark tdm channel as answered immediately 2012-07-25 20:49:33 -04:00
root c92c727fee Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 20:45:42 -04:00
David Yat Sin 7972837f76 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 20:41:16 -04:00
David Yat Sin 3c38278134 Added new channel type clear-channel for channels that do not have a signalling module 2012-07-25 20:41:01 -04:00
root 3de6b0d20c Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 20:04:48 -04:00
Mathieu Rene 706c662f4b fix crash on chan open failure 2012-07-25 20:04:35 -04:00
root aa40cc9acf Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-25 19:56:58 -04:00
Mathieu Rene 5284f5d134 missing goto fail 2012-07-25 19:56:25 -04:00
root 63b2654b54 commit -- fix stash pop err 2012-07-25 19:47:41 -04:00
Mathieu Rene 4950c32dd5 properly git rid of span_id 2012-07-25 19:37:47 -04:00
Mathieu Rene 87569c0ba9 properly git rid of span_id 2012-07-25 19:37:16 -04: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
Mathieu Rene 898a183a0e missing crtp init in mod_freetdm.c -- start implementing media modify 2012-07-25 18:57:32 -04:00
Mathieu Rene 6cf298a746 use span name instead of id. implement termination choose for tdm. 2012-07-25 17:18:18 -04:00
David Yat Sin 8b0fbe605c Merge branch 'releases.3.5' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3
Conflicts:
	.gitignore
	conf/insideout/autoload_configs/modules.conf.xml
	conf/vanilla/autoload_configs/modules.conf.xml
	src/mod/endpoints/mod_sofia/mod_sofia.h
	src/switch_rtp.c
2012-07-25 11:15:18 -04: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
Mathieu Rene 909d464abd add/sub done but untested, mod remains. this commit also adds a message handler inside the rtp endpoint so it can properly flush streams, setup jitter buffering, and honor uuid_debug_audio requests 2012-07-19 17:51:25 -04: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
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
David Yat Sin 4ead147e10 chlog:Support for send-connect-ack parameter 2012-07-06 12:15:48 -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
David Yat Sin 3ad41603d0 Merge branch 'releases.3.4' of ssh://git.sangoma.com/smg_freeswitch into releases.3.4 2012-07-04 17:52:37 -04: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
James Zhang 64f33c25da ss7: fix on last fix, make enough memory for bad encode cases 2012-07-04 10:09:19 -04:00
James Zhang edd718d258 ss7: fix a wired crash on remind ticket 4972
- change dynamic memory allocation/deallocation to char array
2012-07-04 10:00:23 -04: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
David Yat Sin 24a458683a Skip filling locPtyNum if caller_data->loc.digits is NULL 2012-06-29 12:54:09 -04:00
James Zhang 80f72823b3 ss7: add ss7_iam_nature_connection_hex to support Nature of Connection
Indicator in IAM message.
     - ss7_iam_nature_connection_hex is the channel variable to carry
       HEX value from/to IAM message
     - X-FreeTDM-IAM-NATURE-CONN-HEX is the x-header string to carry
       HEX value from/to sip invite message
     - This IE is 8 bit hex, which turns into 2 chars
     - Only Satellite indicator, Continuity check indicator, and Echo
       control device indicator are supported. Spare value are not taken.
       Spare value is always set to all zero.
     - example:
       To set 00010101 (bit H-A), set X-FreeTDM-IAM-NATURE-CONN-HEX string
       value to 15 in the sip invite message to NSG.
       When NSG send out sip invite, if the incoming IAM message comes with
       Nature of Connection IE, NSG will put X-FreeTDM-IAM-NATURE-CONN-HEX
       in the invite x-header. For example, if the IE value is 00001010 in
       the IAM, NSG will send X-FreeTDM-IAM-NATURE-CONN-HEX with value string
       of "0A".
     - Two characters are madatory. "0A" must be specified rather than "A". If
       invalid format or characters are found, this x-header will be ommited.
     - Valid characters include 0-9, A-F, and a-f
2012-06-27 12:31:35 -04: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
James Zhang 607da0f56c ss7: adding ss7_iam_fwd_ind_hex as x-header and channel variables in hex format.
Read the forward call indicator IE and print it into channel variable
     ss7_iam_fwd_ind_hex. If this variable exists, put it in the x-header.
     This implementation takes bits of A, CB, D, E, F, HG, I from the hex
     value. Bits of KJ, L, P-M are not taken and set to 0.
     The hex value is H-A-P-I, H is the highest bit to A, and next is P-I.
     I is the lowest bit in the whole field, and H is the highest bit in
     the whole field. Refer to Q.763 chapter 3.23.
2012-06-22 17:05:15 -04:00
Mathieu Rene 294ab3880f fix conflict 2012-06-21 10:40:57 -04:00
Mathieu Rene 79702bc0d2 start implementing command handlers 2012-06-20 21:34:04 -04:00
David Yat Sin b44bcd5763 Added core spanflag CLI command 2012-06-20 16:28:00 -04:00
David Yat Sin b980f47097 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-06-20 13:21:22 -04:00
David Yat Sin 8da3d119ab Added display of M2UA signalling channels for CLI command show status 2012-06-20 13:20:35 -04:00
Mathieu Rene 1720e4f072 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-06-20 12:31:07 -04:00
Mathieu Rene 43ffafcb4b wrong operand to sizeof 2012-06-20 12:30:37 -04:00
Mathieu Rene 166249b0b9 Check in TDM and RTP controllable channels (incomplete) 2012-06-20 12:30:08 -04:00
kapil 7b97ff470f adding "xmlshow m2ua <m2ua_interface_name> clusterstatus" CLI command. 2012-06-20 13:53:51 +05:30
kapil 2512694e43 removing warnings 2012-06-20 12:12:28 +05:30
David Yat Sin a54ec05fdb fix for compilation error on 64-bit 2012-06-20 02:06:31 -04:00
David Yat Sin 6aa8c9b80d freetdm: Improvements to ftdm core flag CLI command 2012-06-19 22:35:37 -04:00
David Yat Sin 0a9f34aa09 Fixed compile issues again on 32-bit 2012-06-18 15:27:45 -04:00
David Yat Sin 0cefb8d633 Fixed compile issues again on 32-bit 2012-06-18 15:01:08 -04:00
David Yat Sin 56c8534827 Fixed compile issues again on 32-bit 2012-06-18 14:34:12 -04:00
David Yat Sin 32106afc43 Fixed compile issues again on 32-bit 2012-06-18 12:51:38 -04:00
kapil 3b4c725b1c fixing cli issues 2012-06-18 17:41:05 +05:30
kapil 6b542763d9 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c
2012-06-14 15:45:51 +05:30
kapil 69197b1d0c fixing cli issues 2012-06-14 15:40:57 +05:30
David Yat Sin 2112375e07 re-adjusted parameter names 2012-06-12 20:19:37 -04:00
David Yat Sin 143fb61bdb re-adjusted parameter names 2012-06-12 20:12:27 -04:00
David Yat Sin feaadd2f43 re-adjusted parameter names 2012-06-12 19:29:07 -04:00
David Yat Sin 055dc8bc4b re-adjusted parameter names 2012-06-12 19:15:14 -04:00
David Yat Sin 8880793174 Removed include for switch_utils.h 2012-06-12 18:47:53 -04:00
David Yat Sin ba17ae3f10 Fix for compile warnings 2012-06-12 18:32:58 -04:00
David Yat Sin bdaead271d Fix for compile warnings 2012-06-12 18:18:14 -04:00
David Yat Sin b22a4b566a Fix for some compile warnings 2012-06-12 18:07:42 -04:00
kapil 58dc659fbb adding code based on modified xml and cli code changes (rename the m2ua cli command to
"xmlshow" and adding cli code to show sctp state also in m2ua peerstatus command)
2012-06-12 18:43:01 +05:30
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
David Yat Sin 91f9374a9f Added code to treat sngss7_config section (same as sng_isup) 2012-06-11 13:23:37 -04:00
Travis Cross b735735ea1 gitignore a symlink we're creating in ldns 2012-06-11 18:06:00 +00:00
kapil 8102c1603c adding src/peer port into xml config 2012-06-11 18:45:56 +05:30
kapil 69bada7025 removign sctp/peer id from <m2ua_interface> config xml block 2012-06-11 12:43:08 +05:30
David Yat Sin 07a1093cf4 Fix for NFAS when one of the d-channels are down 2012-06-06 20:41:48 -04: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
kapil e4bd524b7d adding peerstatus and logging enable/disable CLI command 2012-06-05 21:33:13 +05:30
Jeff Lenk a065cf8631 FS-4219 --resolve correct windows version 2012-06-05 08:44:22 -05:00
kapil 2b5875a258 adding M2UA/NIF CLI commands 2012-06-05 17:12:16 +05:30
kapil 117cbc1bf5 adding SCTP status CLI command 2012-06-04 22:52:26 +05:30
David Yat Sin eb0404d025 Merge remote branch 'fsorig/master' into releases.3.5
Conflicts:
	build/modules.conf.in
	libs/freetdm/mod_freetdm/mod_freetdm.c
2012-05-31 13:57:42 -04:00
David Yat Sin e05bd3fae8 Some changes to ss7 variables to be more consistent 2012-05-30 13:10:04 -04:00
kapil a3995ad16e Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-05-30 20:22:08 +05:30
kapil f1f78a8653 adding m2ua stack free code while unloading freetdm module 2012-05-30 20:20:58 +05:30
Kapil 889a0be2b3 issue fix 2012-05-30 16:41:31 +05:30
kapil 69501d091c adding M2UA configuration/alarm handling code 2012-05-30 12:31:25 +05:30
kapil d3c8429af9 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-05-30 07:47:07 +05:30
kapil 076d9fbe67 M2UA xml configuration parsing code 2012-05-30 07:45:59 +05:30
Anthony Minessale 8bb55ed4bf abstract out originate_signal_bond to a function to avoid confustion and regressions 2012-05-29 13:10:15 -05:00
Kapil a941cad15d adding M2UA SG open endpoint request code 2012-05-29 15:06:25 +05:30
James 91dfa062bf ss7: adding iam_fwd_ind_HEX channel variable to set forward indicator
IE's heximal value.
     - add <action application="export" data="freetdm_iam_fwd_ind_HEX=2301"/>
       to dialplan with expected hex value. If the outgoing ftdm channel's
       forward indicator needs to be changed, "export" needs to be put in the
       incoming channel's dialplan to set this variable value accordingly.
     - this implementation takes bits of A, CB, D, E, F, HG, I from the hex
       value. Bits of KJ, L, P-M are not taken from the hex.
     - How to calculate hex value with wanted bits:
       . the hex value is H-A-P-I, H is the highest bit to A, and next is P-I.
         I is the lowest bit in the whole field, and H is the highest bit in
         the whole field. Refer to Q.763 chapter 3.23.
       . use a text pad to fill in the bits with 0 and 1. eventually fill all
         the 16 bits
       . copy the binary value into a calculator and convert it to hex
2012-05-28 17:07:52 -04: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
David Yat Sin e91e4d6816 renamed sip_h_X-FreeTDM-Access-Transport to sip_h_X-FreeTDM-Access-Transport-URLENC 2012-05-18 09:57:51 -04:00
kapil 4a99dc7fc7 added code to ftdm_sangoma_ss7_run api to avoid code execution for M2UA
SG
2012-05-18 12:24:27 +05:30
kapil 23ca7f8fed adding m2ua stack config/control code 2012-05-18 12:05:25 +05:30
James Zhang ce46a57b85 ss7: Adding support of Access Transport IE in IAM message
Adding sip x-header and channel variable to set the value
     of Access Transport IE
2012-05-17 17:56:50 -04: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
David Yat Sin 67c43a0759 Initial commit 2012-05-04 18:42:59 -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
David Yat Sin 5226489c39 Merge branch 'releases.3.4' into releases.3.5
Conflicts:
	libs/freetdm/mod_freetdm/mod_freetdm.c
	libs/freetdm/src/ftdm_state.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c
2012-04-26 16:13:26 -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
James Zhang 4f5a6557fc freetdm: fix queue full problem
- restore flushing queue when channel state goes to down
2012-04-18 10:52:01 -04: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
James Zhang e2f1b4ab27 freetdm: fix REL receiving leg always stay in TERMINATING stae in
native bridge mode
         - This is supposed to be included in commit of
           b324f86797. Somehow it's
           not included in that commit. Without this change, the
           REL receiving leg always stay in TERMINATING state when
           received an incoming REL message.
2012-04-16 13:48:35 -04: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
James cd2d67ace1 freetdm: fixed group block/unblock state dead lock when signal link
is down and recovered later
         To re-produce this bug:
             1. do CGB on one side
             2. unplug signaling link cable
             3. plug signaling link cable back
             4. do CGU on the blocking side
             5. cic state stay in RESTART for ever
         Fix this problem by sending cic to SUSPENDED state after
         receiving/sending CGU message
2012-04-13 17:26:48 -04:00
Brian West f263c0518e up this limit 2012-04-13 11:39:03 -05:00
James Zhang a796c6849c freetdm: fixed no ACM/CPG sending in some situations after native bridge
- clear up ACM_SENT & CPG_SENT flag in DOWN state in native
           bridge state machine
2012-04-13 11:18:53 -04: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
James Zhang 8d1c382632 freetdm: INR/INF implementation
- fill in IEs in INF according to INR request
         - print debug information if IE requested but not supported
2012-04-11 15:14:29 -04:00
James Zhang 16d4f1f063 freetdm: INR/INF implementation
- When NSG receives INR from network, send back INF with calling
         party category information IE and calling number information IE.
         - Introduced a new global setting of "force-inr" for testing
         purpose. Stinga generated INR/INF packets are not acceptable by
         trillium stack since it misses call related information in the
         packets. If configure force-inr to true in freetdm.conf.xml, when
         NSG receives an incoming IAM, it'll send out INR packet regardless
         of incoming IAM's IEs, and keep waiting for INF response from the
         calling side.
         - T.39 timer is introduced in order to handle INR timeout. The
         default value of T.39 is 12 seconds and is configurable according
         to spec.
         - Only supports calling number IE and calling party category IE in
         current fix. The customer only needs the calling number IE right now.
         In ISUP spec, there are 6 optional IEs. NSG only supports calling
         party number and calling category information IE since the other
         IEs are not configurable in freetdm.conf.xml or included in IAM
         message.
         - In collect state, INR/INF implementation needs to work with existed
         SAM messages. If NSG sent out INR and wait for SAM, collect state
         check both INF received and enough dialed numbers received. If one
         of these conditions are not met, it'll stay in collect state and wait
         until either conditions met or timeout. After received INF and enough
         dailed number, state moves to dailing and proceed as regular calls.
2012-04-11 11:20:32 -04: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
Travis Cross c307b67e35 libzrtp: add .gitignore files 2012-04-05 04:26:27 +00:00
Anthony Minessale 92fb339434 FS-4071 --resolve 2012-04-04 16:18:53 -05:00
Travis Cross 79c214d442 libzrtp: remove old convenience script 2012-04-04 20:59:02 +00:00
Travis Cross 68d44c2e01 libzrtp: add bootstrap script 2012-04-04 20:54:56 +00:00
Travis Cross bf71d26c73 libzrtp: add acinclude.m4 file with AX_PREFIX_CONFIG_H macro 2012-04-04 18:53:44 +00:00
David Yat Sin e3369119e0 Merge branch 'master' into releases.3.5 2012-04-03 18:16:36 -04:00
David Yat Sin 27e4cdb4dd Merge branch 'fsorig'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c
2012-04-03 18:08:49 -04:00
David Yat Sin be4512be03 FreeTDM - ISDN fix for BRI lines with Q.921 layer going idle 2012-04-03 16:48:14 -04:00
James Zhang 339c45b2cb freetdm: Add documentation for SS7 native bridge 2012-04-03 11:27:25 -04:00
James Zhang b324f86797 freetdm: Clean up SS7 native bridge code to separate the call control, queuing and
resource-cleanup responsibilities clearly between the 2 channels involved in the bridge

   - Each channel is responsible for clearning its own peer_data and event queue
     at the end of the call (when moving to DOWN state)

   - Each channel dequeues messages only from its own queue and enqueues messages
     in the peer's queue, with the only exception being messages received before
     the bridge is stablished (IAM for sure and possible SAM messages) because
     if the bridge is not yet stablished the messages must be queued by the channel
     in its own queue temporarily until the bridge is ready

   - When the bridge is ready it is the responsibility of the incoming channel to
     move the messages that stored temporarily in its own queue to the bridged peer queue

   - During hangup, each channel is responsible for moving itself to DOWN. The procedure
     however differs slightly depending on the hangup conditions

     If the user requests hangup (ie, FreeSWITCH) the request will be noted by setting the
     FTDM_CHANNEL_USER_HANGUP flag but will not be processed yet because call control is
     driven only by the link messages (so no hangup from ESL or command line allowed)

     When REL message comes, the channel receiving it must move to TERMINATING state and:

           - If the user has not hangup yet (FTDM_CHANNEL_USER_HANGUP flag not set) then
             notify the user via SIGEVENT_STOP and wait for the user to move to HANGUP
             state by calling ftdm_channel_call_hangup() before sending RLC

           - If the user did hangup already (FTDM_CHANNEL_USER_HANGUP flag is set) then
             skip user notification and move to HANGUP state directly where the RLC message
             will be sent

   - On HANGUP state the RLC is sent and the channel is moved to DOWN, final state
     The peer channel will forward the REL message and wait for RLC from the network, when
     RLC is received the channel can move straight to DOWN itself because the peer channel
     is completing its own shutdown procedure when it received the REL message
2012-04-03 11:23:49 -04:00
David Yat Sin d730df77e4 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2012-04-02 18:00:38 -04:00
David Yat Sin 38143e3035 freetdm - ISDN added check to treat calling number 0000000000 as empty calling number 2012-04-02 18:00:27 -04:00
Anthony Minessale 647740e9a4 cleanup after yourself 2012-04-02 16:20:40 -05:00
Anthony Minessale afdf50d423 stop sched thread quicker on global destroy 2012-04-02 15:33:45 -05:00
Anthony Minessale 972504a3ca unset logger on global destroy 2012-04-02 15:00:35 -05:00
Anthony Minessale b80a3a3439 set session loglevel as well in fs_cli when doing 'console loglevel info' also now implies '/log info' locally 2012-04-02 11:58:00 -05:00
Travis Cross d2edcad66e Merge Phil Zimmermann's libzrtp as a FreeSWITCH library
Thanks to Phil Zimmermann for the code and for the license exception
we needed to include it.

There remains some build system integration work to be done before
this code will build properly in the FreeSWITCH tree.
2012-03-31 23:42:27 +00:00
James Zhang 8a589435de freetdm: Adding condition to parse sip headers only for non-freetdm channels.
This fixes an issue where ss7 native bridge was accidentally enabled
         any time two freetdm channels were bridged regardless of the freetdm_native_sigbridge
         variable value.
2012-03-30 16:50:00 -04:00
Steve Underwood 13fbaf7e0f Tweaks for spandsp 2012-03-29 23:33:11 +08:00
Stefan Knoblich a856d81a06 ftmod_misdn: More reworking of b-channel audio tx handling.
Use the amount of audio data received in misdn_read() to determine how many
bytes we need to send to the b-channel (= how much free space is left
in the b-channel tx queue). (This is how libosmo-abis and LCR handle it too.)

A pipe is used as a poll()-able audio tx buffer (filled in misdn_write()):
FTDM_WRITE wait requests are currently poll()-ed on the input side of the pipe,
whereas FTDM_READ and _EVENT requests are poll()-ed on the b-channel socket itself.

For every N-bytes of audio data read from the b-channel in misdn_read(),
we try to get as much out of the tx pipe, convert it into the ISDN_P_B_RAW
format and send it to the b-channel socket.

If there's less than N-bytes left in the pipe, we fill the remaining buffer
with silence to avoid buffer underflows.

B-Channel handling overview:

  - misdn_wait(FTDM_WRITE) on audio pipe

  - misdn_write() put audio data into pipe

  - misdn_wait(FTDM_READ) for next incoming mISDN
    message on b-channel socket

  - misdn_read() handle mISDN event, for PH_DATA_IND:

      - Write data into channel buffer and convert
        to a/u-law using misdn_convert_audio_bits()

      - Try to fetch N-bytes from audio pipe

      - If not enough bytes in pipe: fill remaining space with silence

      - Convert audio to raw format

      - Send to b-channel (PH_DATA_REQ)

Known problems / bugs / further investigation:

   1. Bridge aborted by "Write Buffer 0 bytes Failed!" error from switch_core_io.c.
      This is "fixed" by _not_ setting the b-channel sockfd to non-blocking mode.

   2. Audio glitches (maybe caused by FTDM_WRITE misdn_wait() handling or blocking I/O on sockfd?)

   3. misdn_read() EBUSY error messages from sending data to b-channel sockfd after enabling channel.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-28 23:49:55 +02:00
Steve Underwood 7b9e4ff674 Various updates to spandsp tests
spandsp logging now passes an opaque pointer to the logging routine, to
increase flexibility. Right now the pointer is set to NULL in all calls.
2012-03-28 23:36:30 +08:00
Steve Underwood c1203b5863 Tweak spandsp tests 2012-03-28 21:45:20 +08:00
Steve Underwood 3e2bea0f1c Lots of little improvements to the spandsp test suite 2012-03-28 21:43:13 +08:00
James Zhang a2db3c24b3 freetdm: fixing more potential null pointers in native bridge mode. 2012-03-27 18:00:24 -04:00
Ken Rice c1f3ff998f opps missed an include 2012-03-27 14:24:58 -05:00
Ken Rice a1ed759b1c try to make compiler -Werror hush 2012-03-27 14:11:41 -05:00
Ken Rice 57fac728c6 make compiler stop complaining 2012-03-27 13:58:27 -05:00
Anthony Minessale d308694201 after f7f9a43a40 missing a bunch of code changes 2012-03-26 16:41:49 -05:00
Stefan Knoblich e3698c2067 ftmod_misdn: Make sure misdn_read() doesn't loop forever and improve logging etc.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich ff4b395956 ftmod_misdn: Rework channel de-/activation and activate d-channel early.
The former fixes a strange "bug" with hfcsusb, where a b-channel deactivation
on a inactive channel (caused by a reset cycle) would cause the port to
lock up and stop processing events.

NOTE: this still needs to be investigated further, but this workaround will
      at least prevent it from breaking completely.

We'll now keep track of the channel activation state and not send any
PH_ACTIVATE_REQ / PH_DEACTIVATE_REQ requests, if the channel already has the
desired state.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich a2f3ef7460 ftmod_misdn: Reserve some space for the mISDN message header in misdn_write().
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich f2841e0280 ftmod_misdn: misdn_write() workaround for signalling drivers that do not use write polling.
Wait till the channel is actually ready to send data.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich fc1e1a91f2 ftmod_misdn: Stop using timerfd for b-channel write polling.
Use POLLIN on the socket instead, the b-channel should be able
to write when there is something to read.

Several other projects handle it this way, e.g. libosmo-abis.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00