Commit Graph

5557 Commits

Author SHA1 Message Date
Stefan Knoblich 2de175b574 ftmod_libpri: Improve output of ftdm libpri api 'invalid span' error messages.
No more "invalid span", now it's either "'foo' not a libpri span" or
"'foo' span not found" which makes it a lot more useful.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-18 23:58:01 +01:00
Stefan Knoblich 5897ec5992 ftmod_libpri: Print usage if 'ftdm libpri' has no arguments.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-18 23:58:00 +01:00
Anthony Minessale a19352aa23 FS-3688 revert 2011-11-18 17:01:03 -06:00
Steve Underwood 4c0bc25864 4 RCPs were being sent in ECM mode, instead of the specified 3. 2011-11-19 00:43:00 +08:00
Anthony Minessale 2fae5dfadd FS-3688 please do clean build and test make current or the equiv 2011-11-17 11:44:10 -06:00
Michael Jerris 4936b11cc8 remove log message being sent 100s of times a second until someone can figure out what is causing it 2011-11-10 22:59:43 -05:00
Michael Jerris 2be49bdf79 remove log message being sent 100s of times a second until someone can figure out what is causing it 2011-11-10 22:11:42 -05:00
Moises Silva b9ad924e83 freetdm: ftmod_zt - Fix references to ftdmtel that should be Zaptel/DAHDI (screwed up during OpenZAP -> FreeTDM renaming) 2011-11-10 15:16:07 -05:00
Moises Silva 0153f603cb freetdm: fix pri tap progress event handling 2011-11-09 11:16:58 -05:00
David Yat Sin 8558ec9f0a Added support for freetdm_isdn.send_cid_name 2011-11-09 11:01:32 -05:00
Anthony Minessale 599a4543bf FS-3672 --resolve 2011-11-07 10:33:38 -06:00
Anthony Minessale e3ade44512 FS-3671 --resolve 2011-11-07 10:30:04 -06:00
Stefan Knoblich 992eafd049 [6/6] srtp: Rename AUTOMAKE_OPTS to AUTOMAKE_OPTIONS
The latter is a well known automake variable, used
to set (per-Makefile) automake options and supported
since the beginning of time (= automake 1.4).

The former is a made-up variable that doesn't really
do anything.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-04 14:22:28 +01:00
Stefan Knoblich 21c5cf5d47 [5/6] libteletone: Rename AUTOMAKE_OPTS to AUTOMAKE_OPTIONS
The latter is a well known automake variable, used
to set (per-Makefile) automake options and supported
since the beginning of time (= automake 1.4).

The former is a made-up variable that doesn't really
do anything.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-04 14:21:37 +01:00
Stefan Knoblich 87eebb2d1e [4/6] libdingaling: Rename AUTOMAKE_OPTS to AUTOMAKE_OPTIONS
The latter is a well known automake variable, used
to set (per-Makefile) automake options and supported
since the beginning of time (= automake 1.4).

The former is a made-up variable that doesn't really
do anything.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-04 14:20:54 +01:00
Stefan Knoblich 2474436935 [3/6] codec2: Rename AUTOMAKE_OPTS to AUTOMAKE_OPTIONS
The latter is a well known automake variable, used
to set (per-Makefile) automake options and supported
since the beginning of time (= automake 1.4).

The former is a made-up variable that doesn't really
do anything.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-04 14:20:13 +01:00
Stefan Knoblich f4ea8abf70 [2/6] silk: Rename AUTOMAKE_OPTS to AUTOMAKE_OPTIONS
The latter is a well known automake variable, used
to set (per-Makefile) automake options and supported
since the beginning of time (= automake 1.4).

The former is a made-up variable that doesn't really
do anything.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-04 14:19:10 +01:00
David Yat Sin 3ecddde752 Support for sending Caller ID Name on 4ESS/5ESS 2011-11-03 19:37:05 -04:00
Michael Jerris 85e5abc1f9 revert patch that breaks build.
commit 7f5ff26fcd
Author: Travis Cross <tc@traviscross.com>
Date:   Wed Nov 2 18:04:26 2011 +0000

    remove libs/ldns/install-sh as it's being auto-generated
2011-11-03 12:28:18 -04:00
Travis Cross 7f5ff26fcd remove libs/ldns/install-sh as it's being auto-generated 2011-11-02 18:06:01 +00:00
Anthony Minessale 032155c51e FS-3658 remember to date > libs/sofia-sip/.update when you patch sofia lib 2011-11-02 08:59:23 -05:00
Anthony Minessale 6fe6d8d7b7 FS-3649 --resolve i think this is a build issue try this patch 2011-11-01 11:52:24 -05:00
Stefan Knoblich 91ef437bd5 FreeTDM: Add ax_compiler_vendor.m4 to acinclude.m4
This fixes a "AX_COMPILER_VENDOR: command not found" error on
systems with older autotools versions (CentOS 5.x in this case).

Not a problem on newer auto* toolchains, they either ignore
acinclude.m4 completely or handle it in a different way.

(In fact, acinclude.m4 is not even needed for the one on CentOS 5,
 but we'll keep it for now.)

Tested-on: CentOS 5.7 x86_64 autoconf 2.59 / automake 1.9.6 / libtool 1.5.22
Tested-on: Gentoo 20111031 x86_64 autoconf 2.68 / automake 1.11 / libtool 2.4
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-01 15:37:51 +01:00
Jeff Lenk 4349ec00df upgrade lame for windows to lame-3.98.4 2011-10-31 14:38:41 -05:00
David Yat Sin 5ee015610c freetdm: Added some code to differentiate between wanpipe_wait returning FTDM_TIMEOUT and FTDM_FAIL on transmit 2011-10-31 10:25:07 -04:00
Travis Cross 05c06443e7 .gitignore some libraries regardless of version number 2011-10-30 08:52:43 +00:00
Marc Olivier Chouinard d185978f8d mod_freetdm/libpri: Fix problem with some destination using early-media for IVR. FS wasn't switching to accept the media of the early media provided in some type of ISDN msg. This fix it for the situation I've experienced. 2011-10-28 15:18:58 -04:00
Brian West da10fe86a1 really now 2011-10-28 16:51:02 -05:00
Jeff Lenk 8aad82d653 FS-3647 --resolve fs_cli crash on windows 2011-10-28 08:41:17 -05:00
Travis Cross 26cd927cb0 fs_cli: only enable new features on supported terminals
This is a workaround to an issue where editline counts non-printable
control characters.  See issue FS-3606.
2011-10-27 15:15:59 +00:00
Michael Jerris cbc92936f3 allow ;; seperated commands in fs_cli -x 2011-10-26 15:35:03 -04:00
Stefan Knoblich ec72d8d7fc FreeTDM: Rework libpri detection code to accept a custom installation prefix.
Example: --with-libpri=/usr/local

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-26 19:41:07 +02:00
Jeff Lenk 58487c6551 FS-3614 --resolve Fix mod_dingaling build on Windows (VS2008), after recent SSL changes. 2011-10-18 08:53:11 -05:00
Anthony Minessale f506e19e15 FS-3471 making this the new default and patching libdingaling to use it exclusively with openssl, now we actually have single thread for gtalk an no gah noodlez 2011-10-17 12:30:51 -05:00
Anthony Minessale 4bd305e57d FS-3612 --resolve cool, thanks 2011-10-17 08:56:10 -05:00
Jeff Lenk 1afda8fb39 FS-3601 --resolve fix fs_cli for recent changes with windows 2011-10-07 09:03:09 -05:00
Jeff Lenk f0efbd3f08 FS-3599 --resolve correct windows compiler warnings 2011-10-07 08:38:48 -05:00
Stefan Knoblich 5a96ebdaa3 FreeTDM: Escape $(srcdir) in configure.ac variable
Silencing a "configure:xxxx: srcdir: command not found" error message.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-06 11:08:42 +02:00
Stefan Knoblich 7f17ad7f92 ftmod_misdn: Change last commit to set -D_GNU_SOURCE instead.
This fixes all build errors.
(Stand-alone build of FreeTDM worked fine, for some
 i-don't-really-want-to-know strange reason).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-01 14:05:14 +02:00
Stefan Knoblich 473aab18eb ftmod_misdn: Add -D_BSD_SOURCE to get u_int and friends.
Needed for the mISDN/mISDNif.h header structs, linux/types.h only
provides them for kernel code:

In file included from src/ftmod/ftmod_misdn/ftmod_misdn.c:51:
/usr/include/mISDN/mISDNif.h:296: error: expected specifier-qualifier-list before 'u_int'
/usr/include/mISDN/mISDNif.h:306: error: expected specifier-qualifier-list before 'u_int'
/usr/include/mISDN/mISDNif.h:339: error: expected ')' before 'nr'
...

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-01 13:31:16 +02:00
Travis Cross b8eaec001a whitespace cleanup 2011-09-27 05:57:49 +00:00
Jeff Lenk 16a0a2ed6d another windows fix for fs_cli changes 2011-09-26 21:41:35 -05:00
Travis Cross 02481cabbf fs_cli: comply with -Wwrite-strings 2011-09-26 22:00:08 +00:00
Travis Cross 8056125077 fs_cli: fix siptrace output
This partially reverts commit 991b83d23c.
2011-09-26 21:34:52 +00:00
Jeff Lenk 1244e55632 another fs_cli windows fix 2011-09-26 11:47:26 -05:00
Jeff Lenk 34827a892c fix fs_cli for windows after recent changes - may need more work 2011-09-26 09:15:12 -05:00
Travis Cross 23c981df68 update and improve libs/.gitignore 2011-09-24 06:05:13 +00:00
Travis Cross a2d6a041eb fs_cli: ask less of the terminal; fix ctrl-l behavior 2011-09-24 03:07:34 +00:00
Travis Cross fe60938686 fs_cli: exclude last character in buffer on redisplay 2011-09-23 22:40:02 +00:00
Travis Cross 682ed52cf7 fs_cli: do not assume that LineInfo buffers are null-terminated
man editline(3el) says that they're not.

[take #2, originally was 48acc0cd38]
2011-09-23 22:24:58 +00:00
Travis Cross 4dbd950d70 fs_cli: be a bit more defensive 2011-09-23 21:44:55 +00:00
Travis Cross 7bcd1fe79e fs_cli: handle cursor positioning better 2011-09-23 21:25:42 +00:00
Travis Cross 0571e81a4b Revert "fs_cli: do not assume that LineInfo buffers are null-terminated"
This reverts commit 48acc0cd38.
2011-09-23 17:42:54 +00:00
Travis Cross 991b83d23c fs_cli: use buffered printers 2011-09-23 17:14:28 +00:00
Travis Cross 481e71970f fs_cli: style 2011-09-23 16:58:41 +00:00
Travis Cross 6724d7af97 fs_cli: clear the CLI before inserting function key commands 2011-09-23 01:25:43 +00:00
Travis Cross d410c84336 fs_cli: vanity 2011-09-23 01:25:43 +00:00
Travis Cross c7ec19d6f0 fs_cli: implement configurable prompt, input, and output coloring
In .fs_cli_conf, set:

  prompt-color => blue
  input-text-color => red
  output-text-color => yellow
2011-09-23 01:25:43 +00:00
Travis Cross a79f1f4202 fs_cli: implement CLI prompt redrawing
The CLI prompt and any text-in-progress now stays cleanly below log
messages and other received output from FS.

This also implements hardcoded prompt coloring.
2011-09-23 01:25:43 +00:00
Travis Cross 244bb73f7c fs_cli: fix off-by-one error 2011-09-23 01:25:43 +00:00
Travis Cross 48acc0cd38 fs_cli: do not assume that LineInfo buffers are null-terminated
man editline(3el) says that they're not.
2011-09-23 01:25:43 +00:00
Travis Cross e87af9011a fs_cli: fix misplaced assert 2011-09-23 01:25:43 +00:00
Travis Cross 73d7e5a364 fs_cli: tell el_init() about stdin and stderr 2011-09-23 01:25:42 +00:00
Travis Cross 05046e005e fs_cli: fix default location of CLI history
Modern linux systems don't write volatile information to /etc.
2011-09-23 01:25:42 +00:00
Travis Cross 1e93151b79 fs_cli: ignore leading spaces on the CLI 2011-09-23 01:25:42 +00:00
Travis Cross ee94dac7cb fs_cli: refactor allow_ctl_c handling
This way we don't have to lie about whether we're connected to achieve
our intended result.
2011-09-23 01:25:42 +00:00
Travis Cross 4ae6cce43c fs_cli: make sure we find a match even if we cannot write to stdout 2011-09-23 01:25:42 +00:00
Travis Cross cbe8b9d55d fs_cli: fix segfault if a pressed function key is not bound 2011-09-23 01:25:42 +00:00
Travis Cross 712853d900 fs_cli: do not print extra newline on function key press 2011-09-23 01:25:42 +00:00
Travis Cross 5d1e95021c fs_cli: use nanosleep 2011-09-23 01:25:42 +00:00
Travis Cross e0db2c0e10 fs_cli: refactor out read_config() 2011-09-23 01:25:41 +00:00
Travis Cross 41937b04c6 fs_cli: refactor out stdout_writeable() 2011-09-23 01:25:41 +00:00
Travis Cross a511dcee94 fs_cli: make some stylistic improvements 2011-09-23 01:25:41 +00:00
Travis Cross a78ec2588a fs_cli: cleanup whitespace and reindent 2011-09-23 01:25:41 +00:00
Anthony Minessale 7333d46d5b add new chatplan concept and mod_sms. Apps for chat messages: copy new base freeswitch.xml and chatplan dir if you are upgrading on existing config base 2011-09-21 14:31:18 -05:00
David Yat Sin 8df1872fbe freetdm:Support for transmission of Caller ID Name on NI-2 2011-09-19 13:51:41 -04:00
Anthony Minessale 2ad4f00c9f add missing break on begin detect 2011-09-19 08:08:55 -05:00
Stefan Knoblich 975ac0ac70 FreeTDM: Fix private/libteletone*.h includes
libteletone headers include each other, use #include ""
to look in the local dir rather than the include search path.

Unbreaking all of my (still) external FreeTDM projects.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-09-19 15:55:07 +02:00
Anthony Minessale 379c9fc41d fix messup in dtmf change 2011-09-16 17:23:15 -05:00
Anthony Minessale f7b40140bb fix messup in dtmf change 2011-09-16 17:07:48 -05:00
Anthony Minessale 995d7dcb02 dont clear token on SIGEVENT_STOP for ISDN legs, save it for the hangup handler 2011-09-16 16:44:15 -05:00
Anthony Minessale 42ff14d22a use index in this loop instead of the max val for the iteration 2011-09-16 15:53:49 -05:00
Anthony Minessale 8a3c292534 fix seg in recent change 2011-09-16 14:52:14 -05:00
Anthony Minessale dbd5d2575e fix build on freetdm 2011-09-16 14:50:46 -05:00
Anthony Minessale 7bc6e8f183 better version of last patch 2011-09-16 13:27:38 -05:00
Anthony Minessale 81575eadb5 hack so openzap only finds its own teletone includes 2011-09-16 12:31:49 -05:00
Anthony Minessale 44822df63d we need to fix this build system it masks errors 2011-09-16 12:13:25 -05:00
Anthony Minessale a65794fb5e FS-3570 receive side, update libteletone to track duration so it is less likely to double detect and push api changes down to freetdm 2011-09-16 10:06:04 -05:00
Moises Silva 25417d3ea8 freetdm: Verify that the uuid that is being hung up is still attached to the FreeTDM device
This avoids hanging up a device that is no longer attached to the session, in the
         weird situation where the FreeSWITCH core takes an awful lot of time (more than 3 seconds)
         to come around to acknowledge the SIGEVENT_STOP signal.
2011-09-15 19:42:39 -04:00
Moises Silva aa0a6c9222 freetdm: print span/chan identifiers on hangup 2011-09-15 13:50:42 -04:00
Moises Silva b06f58a14b freetdm: do not warn on io status changes, leave as debug messages 2011-09-14 10:46:32 -04:00
Moises Silva 4ed900eb92 freetdm: add debug stacktrace to track spurious channel_on_hangup call 2011-09-12 18:13:10 -04:00
Moises Silva 23aba09f1b freetdm: mod_freetdm - fix len data type for 64bit systems 2011-09-12 15:48:28 -04:00
Moises Silva 4cdf9f2491 freetdm: ftmod_wanpipe - Added misc IO debugging code (define WP_DEBUG_IO to use) 2011-09-12 15:23:21 -04:00
Moises Silva 6c5132a507 freetdm: - Clear the IO flag when FreeSWITCH hangs up before notifying freetdm
- Misc fixes to log messages to aid debugging
         - Added ftdm ioread command to read media from the channel
         - Modified the ftdm_channel_open() API to return FTDM_EBUSY if the channel is already open
2011-09-12 15:21:23 -04:00
Stefan Knoblich f4facb0f65 [FreeTDM] Add missing newline in "Failed to configure span" error message in ftdm_configure_span_channels().
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-09-12 13:07:50 +02:00
Moises Silva fb69d37592 freetdm: fix small bug reported in freeswitch-dev where the call_id member of sigmsg
is not being set for SIGEVENT_START event
2011-09-08 12:51:48 -04:00
Stefan Knoblich 09a61f5025 [FreeTDM] Add (experimental) ftmod_misdn
Add I/O plugin for mISDN stack that is included in the linux kernel
since version 2.6.27.

The in-kernel mISDN stack uses a socket based interface (AF_ISDN),
data and control commands are exchanged via datagram messages.

This makes writing a driver that doesn't use a separate (per-span)
thread to handle all incoming events a bit tricky, because responses
to control messages and incoming data are mixed and interfacing
with the synchronous FreeTDM I/O API is problematic.

B(*)/D-channel handling:

The current version uses misdn_wait() to poll() for activity on
the non-blocking channel sockets and misdn_read() to receive and
handle all pending events up to the first PH_DATA_IND (data) message
(which is what the caller of the read method is actually after).

In case no data has been received, misdn_read() returns FTDM_SUCCESS
with *datalen = 0, which is OK for all the signalling modules tested
(ftmod_libpri and (out-of-tree) ftmod_isdn).

To send data, misdn_write() is called, which just sends a PH_DATA_REQ
message to the mISDN channel socket.

(*) B-channels use a per-channel timerfd as a timing reference for
'ready-for-write' poll()ing in misdn_wait().

This is a workaround for a limitation of mISDN sockets, which do not
support POLLOUT waiting on b-channel sockets (in a useful way).

Sending/receiving of data works the same way as on d-channels, otherwise.

The module has received some minimal testing using a beronet
single-port HFC E1 and a HFC4-S quad-port BRI card on linux-3.0.x.

--- Limitations ---

 - Only the most basic features have been implemented (alarms,
   sending/receiving data/audio).

 - Spans are limited to E1 and BRI/BRI_PTMP trunk types.

 - D-Channels only work on 16 for PRI and 3 for BRI.

 - NT/TE mode information is not available from freetdm.conf /
   at configure_span()-time so the module assumes TE mode,
   which should be only a problem for cards that can change
   the port configuration (pin-out) from software.

 - Current design (b-channel timerfd / misdn_wait()/_read()/_write())
   should be fine for most SoHo use-cases
   (scalability / cpu usage / timing precision).

--- Requirements ---

 - mISDNif.h header (/usr/include/mISDN/mISDNif.h), provided by mISDNuser
   (http://isdn.eversberg.eu/download/lcr-1.7/mISDNuser-20100525.tar.gz).

 - Linux kernel with mISDN and timerfd enabled (>= 2.6.27)
   and libc with timerfd support.

mISDN options can be found in the:

"Device Drivers" -> "ISDN support" -> "Modular ISDN driver"

section of make menuconfig. Timerfd is usually enabled by default.

The FreeTDM configure script will check for missing mISDNif.h
header and timerfd support and print a message.

You should see the following in the summary screen on success:

	ftmod_misdn........................ yes

NOTE: Forcing mISDN support using the "--with-misdn" configure option,
      will cause the configure script to fail on the first missing
      dependency.

--- Usage ---

To use the module, make sure you have mISDN support in the kernel
(kernel modules loaded or kernel with built-in mISDN running),
the "misdn_info" application shipped with mISDNuser will output
a list of available mISDN ports on your system, e.g.:

Found 5 ports
  Port  0 'hfc-4s.1-1':      TE/NT-mode BRI S/T (for phone lines & phones)
                              2 B-channels: 1-2
                                B-protocols: RAW HDLC X75slp
  ...

  Port  4 'hfc-e1.2':        TE/NT-mode PRI E1  (for phone lines & E1 devices)
                             30 B-channels: 1-15 17-31
                                B-protocols: RAW HDLC X75slp

NOTE: ftmod_misdn will print an error message if mISDN support is not available,
      or if there are no ports installed.

- Example freetdm.conf settings

[span misdn BRI_1]
trunk_type => BRI_PTMP
b-channel => 0:1,2
d-channel => 0:3

[span misdn PRI_1]
trunk_type => E1
b-channel => hfc-e1.2:1-15,17-31
d-channel => hfc-e1.2:16

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-09-08 00:16:02 +02:00
Jeff Lenk 482b319512 FS-3544 --resolve 2011-09-06 21:27:13 -05:00
Anthony Minessale 1c775c3bf0 finish up last commit 2011-09-06 15:07:51 -05:00