Commit Graph

1306 Commits

Author SHA1 Message Date
Stefan Knoblich 9257e0f344 ftmod_isdn: Port(/Fix) span signal handling, remove some dead/unused pieces and close the D-Channel on shutdown.
This fixes a NULL-call segfault in ftdm_span_trigger_signal().

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-16 23:01:21 +01:00
Stefan Knoblich a9b2ced2aa ftmod_libpri: First part of the BRI PTMP channel handling changes.
I really need to dig deeper here, some libpri events never fire for
incoming calls and i'll have to find out how mod_freetdm or the
FreeSWITCH core change states on the channel...

Anyway, incoming and outgoing calls still work for me (BRI PTMP TE),
so commit this now and let a wider audience do some more testing.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
Tested-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-16 23:01:21 +01:00
David Yat Sin a09bce346e Fix for compilation errors due to some functions defined as extern 2010-11-15 11:46:47 -05:00
Stefan Knoblich ced7c9ae43 freetdm: Another round of parameter handling fixes (ftmod_{libpri,isdn,pritap})
ftmod_pritap: Abort before overflowing spanparameters array and initialize to all zero
ftmod_isdn:   Fix overflow check, skip over parameters without name or value, initialize spanparameters array to all zero.
ftmod_libpri: Skip over parameters without name or value, initialize spanparameters array to all zero and drop "i < 10" hardcoded check.

This should fix:
	2010-11-15 09:24:34.609515 [ERR] ftmod_libpri.c:1741 Unknown parameter '', aborting configuration
	2010-11-15 09:24:34.609515 [ERR] mod_freetdm.c:3080 Error configuring FreeTDM span BRI_1

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
Reported-by: Ingmar Schraub <is@eseco.de>
2010-11-15 12:33:58 +01:00
Stefan Knoblich e98b4a6b8d ftmod_libpri: Set RDNIS
Signed-off-by: lakshmanan ganapathy <lakindia89@gmail.com>
Reviewed-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-15 11:38:45 +01:00
Stefan Knoblich c1517e99d1 ftmod_zt: B-Channels need to have audio mode disabled upon closing the channel.
Preparation for fixing channel handling for BRI PTMP (Point-To-MultiPoint) setups.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-14 23:38:16 +01:00
Stefan Knoblich 96b0ef9ce9 ftmod_libpri: Use ftdm_array_len(), remove custom ARRAY_SIZE macro.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-14 17:48:53 +01:00
Stefan Knoblich e17201bbac freetdm: Add ftdm_channel_get_state(), ftdm_channel_get_last_state() and ftdm_span_get_trunk_type_str().
Remove custom versions from ftmod_isdn and ftmod_libpri.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-14 17:48:09 +01:00
Stefan Knoblich b0cca151e6 ftmod_isdn: Major cleanup: use accessor functions, coding-style, etc.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-14 16:45:35 +01:00
Stefan Knoblich 47af9933c4 freetdm: convert ftmod_isdn to use (+ pri_spans) to use ftdm_configure_span_signaling() interface.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-14 15:44:50 +01:00
Stefan Knoblich 197e4b71d6 mod_freetdm: Really avoid overwriting the last element of spanparameters.
"if (ftdm_array_len(spanparameters) == paramindex)" is still off-by-one,
we want to stop at "ftdm_array_len(spanparameters) - 1", before we overwrite
the last (= terminating, NULL) element.

NOTE: i'd prefer an "argc, argv"-style interface here

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-12 11:42:26 +01:00
Stefan Knoblich eeaab3a02e mod_freetdm: Avoid overflowing the spanparameters array of libpri spans, and make other span types use ftdm_array_len() too.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-11 23:56:55 +01:00
Stefan Knoblich 1e777c2ce9 ftmod_libpri: While we're at it, drop the cast too
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-11 22:21:18 +01:00
Stefan Knoblich e0961aee3a ftmod_libpri: Dereference facility event correctly, add debug message.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-11 22:19:32 +01:00
Stefan Knoblich a2e16ce83c ftmod_libpri: Minor cleanups in ftdm_libpri_configure_span().
Move some things around and remove 'paramindex' var (just use 'i' for that too).

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-11 00:16:25 +01:00
Stefan Knoblich 9ff4cfd569 ftmod_libpri: "ftdm libpri debug <span>" now prints the current debug flags
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-11 00:06:06 +01:00
Stefan Knoblich 1074f006a0 ftmod_libpri: Clean up misnamed parameters and variables, remove unused.
- Add alias names for parameters:
     "node"   -> "mode"
     "dp"     -> "ton"
     "switch" -> "dialect"
     "l1"     -> "layer1"

  (Switching between ftmod_libpri and ftmod_isdn is easier now.)

- Removed unused members from struct ftdm_libpri_data
  and rename misnamed ones

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-10 22:42:18 +01:00
Stefan Knoblich 3df1476a6d ftmod_libpri: Major cleanup, enhance configuration checks
- Check D and B-channel availability (could be extended to check B-channel count)

- Drop usage of spri->private_info, use spri->span instead
- Use accessor functions where possible
- Rename ftdmchan to chan where possible
- Various other cleanups

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
Tested-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-10 21:32:32 +01:00
David Yat Sin 6be15e958e freetdm:Fix for RDNIS not set 2010-11-10 10:38:05 -05:00
Moises Silva d872408922 freetdm: do not declare some sangoma ISDN functions as inline
as that does not work on gcc (Debian 4.3.2-1.1) 4.3.2
         and probably other compilers when the inlined function
         is not defined in the same compilation unit
2010-11-09 19:29:19 -05:00
Stefan Knoblich 180feff1f4 ftmod_libpri: Completely disable on_facility if AOC support is not available in libpri (= is too old).
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-10 01:28:30 +01:00
Stefan Knoblich cc8d790cfd Merge branch 'master' of ssh://git.freeswitch.org/freeswitch 2010-11-10 00:48:59 +01:00
Stefan Knoblich b1cf0d9a15 ftmod_libpri: Check if a span really has a D-Channel.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-10 00:47:16 +01:00
Moises Silva 8d66f38212 Merge branch 'master' of git://git.freeswitch.org/freeswitch
Conflicts:
	conf/autoload_configs/modules.conf.xml
	libs/freetdm/src/ftdm_sched.c
	libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
2010-11-09 12:59:48 -05:00
Moises Silva 633599021a freetdm: minor changes to ftmod_r2 2010-11-09 12:22:53 -05:00
Stefan Knoblich ff7a617098 ftmod_libpri: Bail out with an error message if libpri is too old and selected trunk type is BRI or BRI_PTMP
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-09 15:51:30 +01:00
David Yat Sin 648eb58fc1 Merge branch 'master' of git.freeswitch.org:freeswitch 2010-11-08 16:13:25 -05:00
David Yat Sin b36869498f freetdm: Fix for ftmod_wanpipe failing to compile because some structures are not
compatible with std=c99
2010-11-08 16:11:06 -05:00
Stefan Knoblich 0a8c1a04c4 ftmod_libpri: Minor cleanups.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-08 20:57:21 +01:00
David Yat Sin adc26e6316 Fixed compile error 2010-11-08 12:30:12 -05:00
David Yat Sin 25c56f6dc9 freetdm: Merged arnaldo.sng_isdn branch (changes for win32 port) 2010-11-08 12:18:08 -05:00
Stefan Knoblich 0a0e79e1fe ftmod_libpri: clarify why we enable facility conditionally
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-08 00:57:50 +01:00
Stefan Knoblich b7d9265562 ftmod_libpri: First attempt at getting AOC Facility messages going (and minor cleanups)
Requires libpri-1.4.12_beta1 or newer!
Completely untested, AOC-S/D/E ChargingRequest operations are sent to NT (DTAG BRI PTMP),
but rejected with "Unrecognized Operation".

NOTE: FreeTDM core needs support for this to be useful!
      Only AOC-E events are decoded and sent to the log.

To enable:
    Set (or add) <param name="opts" value="aoc"> in your
    libpri_spans span config.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-08 00:43:09 +01:00
Stefan Knoblich 428d05349a ftmod_libpri: Write fatal error message during span configuration to console (and to span error log).
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-07 19:55:00 +01:00
Stefan Knoblich 81515b7bd8 ftmod_libpri: Improve "ftdm libpri debug" usage information.
"all" and "none" can only be used alone,
other flags are additive.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-07 17:22:22 +01:00
Stefan Knoblich 78eff1d821 freetdm: convert ftmod_libpri (+ libpri_spans) to use new ftdm_configure_span_signaling() interface.
This fixes several issues with parameter handling (e.g. default alaw/ulaw selection being totally useless).

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-07 17:00:54 +01:00
Stefan Knoblich dc2a28c27c Merge branch 'master' of ssh://git.freeswitch.org/freeswitch 2010-11-07 15:51:53 +01:00
Stefan Knoblich 6e217401d9 ftmod_libpri: Rework debug flag handling, make BRI/BRI PTMP default to alaw too (does not work yet)
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-07 15:48:39 +01:00
Moises Silva 46a9fa3910 freetdm: add debugging msgs for zt wait errors 2010-11-06 17:14:31 -04:00
Stefan Knoblich b9391cffc2 ftmod_libpri: Fix reversed PTP/PTMP mode parameter 2010-11-06 18:28:37 +01:00
Stefan Knoblich 6ca919be61 ftmod_libpri: BRI Support requires libpri-1.4.12_beta1 or newer, add message to configure check 2010-11-06 18:12:27 +01:00
Stefan Knoblich 30fb69bbab ftmod_libpri: temporary segfault fix if libpri does not have BRI support 2010-11-06 17:58:41 +01:00
Stefan Knoblich 3d5ccf055d ftmod_libpri: Initial support for BRI and various cleanups + double locking fix
Fixes:
- Fix double locking in check_state(): remove ftdm_mutex_(un)lock calls.

New:
- Add lpwrap_init_bri() to initialize libpri in BRI mode
- Use trunk type to determine PRI/BRI and PTP/PTMP mode (no additional configuration required).
- Improve libpri detection code in configure.ac, check whether libpri is usable
  and if BRI support is available (needs more work)

Cleanups:
- Whitespace and indentation cleanups
- Rename str2* functions to parse_*
- Simplify libpri_configure_span() option parsing and bail out on error
- Add "ftdm libpri help" command that displays usage information
- Coding style cleanups and other (minor) changes

Known issues:
- BRI PTMP TE Q.921 link does not go beyond TEI ASSIGNED state,
  SABME requests are ignored by NT (EuroISDN DTAG, DAHDI-2.3.0.1, vzaphfc)

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2010-11-06 16:08:07 +01:00
Stefan Knoblich 6787710b00 FreeTDM: Update .gitignore, add files shipped with libtool (build/{libtool,lt*}.m4) and compiled test binaries 2010-11-06 16:06:42 +01:00
Arnaldo Pereira 21418b083d Merge branch 'master' of git.sangoma.com:smg_freeswitch 2010-11-06 12:50:22 -02:00
Arnaldo Pereira b912935c6c freetdm: fixed ftmod_r2 on windows and removed the wrong ftmod_r2 project from freetdm msvc file 2010-11-06 12:48:22 -02:00
Konrad Hammel fdd9944ed5 freetdm: ss7 - added support for hex characters in calling/called numbers
freetdm: ss7 - added support for no-EC present indicatiation in ACM when 64k unrestricted TMR
2010-11-05 14:24:12 -04:00
Arnaldo Pereira 5a8695d942 freetdm: added missing EX_DECLARE_DATA 2010-11-04 19:15:39 -02:00
Arnaldo M Pereira 2e3163e2bf freetdm: made ftmod_r2 windows compatible and created ftmod_r2.2008.vcproj 2010-11-04 18:26:05 -02:00
Arnaldo Pereira 2a1efb288f freetdm: added missing sleep to ftmod_r2, which is now running fine 2010-11-02 13:40:27 -02:00