5642 Commits

Author SHA1 Message Date
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 0b6023b26140d3cc8d5d0b4da3986852b317894e
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
be4512be03 FreeTDM - ISDN fix for BRI lines with Q.921 layer going idle 2012-04-03 16:48:14 -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
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
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 f7f9a43a4056b7fb238ecfa0b7266b8c844f140f 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
Stefan Knoblich
c85271aaf5 ftmod_misdn: Improve debug log messages.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich
28ed1b5076 ftmod_misdn: Move misdn_handle_incoming() up.
Only used by misdn_read(), so move it right in front of that one.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich
6b76212324 ftmod_misdn: Decode hfcsusb MPH_INFORMATION_IND state and flags.
For diagnostic / debugging purposes.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Moises Silva
57b022c2d4 freetdm: Do not report error for DAHDI RINGER ON/OFF events, they are no-ops at the moment 2012-03-19 09:27:29 -04:00
Moises Silva
681f582b20 freetdm: Try to resolve OPENZAP-173
The token count needs to be updated after the master session token is cleared
         and before checking for other tokens
2012-03-19 09:20:44 -04:00
Moises Silva
bf652b567f freetdm: ftmod_zt - Print which DAHDI event number is failing to be processed 2012-03-18 18:54:54 -04:00
Jeff Lenk
e8fbaa77a4 FS-3997 --resolve 2012-03-14 09:26:32 -05:00
Jeff Lenk
d3078c60ec update flite to 1.5.4 fixes win64 and kal rate problem 2012-03-13 22:56:02 -05:00