Commit Graph

20710 Commits

Author SHA1 Message Date
Ken Rice 394a59c512 FS-4042 fix a file path 2012-03-29 16:14:54 -05:00
Anthony Minessale 67b65f95d0 FS-4038 --resolve 2012-03-29 12:13:59 -05:00
Anthony Minessale 221b82f1e9 FS-4053 try this 2012-03-29 11:36:07 -05:00
Steve Underwood 13fbaf7e0f Tweaks for spandsp 2012-03-29 23:33:11 +08:00
Anthony Minessale 7c7967fbae FS-4055 --resolve this was caused by corrupted db data, this patch will prevent it in the future 2012-03-29 10:07:34 -05:00
Anthony Minessale 175b6b223a FS-4049 working 2012-03-28 18:45:01 -05: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
Anthony Minessale d5e7e8491c FS-4049 alt patch 5 2012-03-28 16:00:11 -05:00
Anthony Minessale c4c46eece7 FS-4049 alt patch 4 2012-03-28 15:42:36 -05:00
Anthony Minessale c909ed6cf1 FS-4049 alt patch 3 2012-03-28 15:10:58 -05:00
Anthony Minessale 1932f852ee FS-4049 alt patch 2 2012-03-28 14:51:09 -05:00
Anthony Minessale cf47982e0e FS-4049 alt patch 2012-03-28 14:29:39 -05:00
Anthony Minessale 973a39e07f FS-4049 revert 2012-03-28 14:28:05 -05:00
Anthony Minessale 09bb0bab6a FS-4050 --resolve 2012-03-28 13:52:43 -05:00
Anthony Minessale 80b18bb266 FS-4049 2012-03-28 13:41:48 -05:00
Anthony Minessale fb1d45b4bb FS-4049 try this 2012-03-28 12:43:13 -05:00
Anthony Minessale ce75bf5aaa FS-4025 --resolve 2012-03-28 12:26:29 -05:00
Anthony Minessale 2baed0ab00 FS-4016 --resolve 2012-03-28 12:24:19 -05:00
Anthony Minessale 185f08ca56 revert 19d3e64636 2012-03-28 11:57:21 -05: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
Anthony Minessale 2c8ca5cfdb add sync 2012-03-27 18:48:16 -05:00
Anthony Minessale 6f6765b8f2 start one msg thread per cpu by default 2012-03-27 16:48:30 -05:00
Anthony Minessale ed19343618 enhance 722f1060 with windows specific way 2012-03-27 16:32:56 -05:00
Anthony Minessale 07122bd17c FS-4032 --resolve please try to avoid the whitespace changes by using git diff -w 2012-03-27 15:53:09 -05:00
Ken Rice 2b6aa7fd04 FS-4015 --resolve 2012-03-27 15:40:05 -05:00
Anthony Minessale 859a332602 FS-4045 try this patch 2012-03-27 15:23:12 -05: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 46810f58d3 FS-4049 try this 2012-03-27 13:08:49 -05:00
Anthony Minessale 2da9450a8b FS-4048 --resolve 2012-03-27 10:18:08 -05:00
Anthony Minessale d308694201 after f7f9a43a40 missing a bunch of code changes 2012-03-26 16:41:49 -05:00
Anthony Minessale a239914926 addition to a6a3ff1dc5 2012-03-26 10:53:39 -05:00
Ken Rice 3e3acf2fa7 make configs work from in the source tree if needed 2012-03-26 10:48:03 -05:00
Ken Rice 100135fc8d fix vm-sync target 2012-03-26 10:45:43 -05:00
Jeff Lenk 80dda3567d FS-4046 --resolve windows xml vanilla thanks 2012-03-26 08:34:42 -05:00
William King c31a799dd6 This line shouldn't have been in the last commit. The vlc write support is not ready yet. 2012-03-24 14:11:49 -07:00
William King 6ef6d2419e mod_vlc adding faster response time to files. No longer has a one second delay before audio starts to play. 2012-03-24 14:09:24 -07:00
William King e4788c1d88 Cleaning up docs and moving the docs to the wiki. 2012-03-24 12:09:16 -07:00
Jeff Lenk ebb636f340 fix path with prebuilt windows installers 2012-03-24 12:55:32 -05:00
Travis Cross 8edfd01066 merge conf/ reorganization, CentOS spec update, and CI scripts 2012-03-24 05:16:47 +00:00
Ken Rice 4f10c4135c ci/centos: add erlang module support files 2012-03-24 05:15:11 +00:00
William King 29426bc23e ci: add debian source package building script 2012-03-24 05:15:11 +00:00
Ken Rice 3b4023c6d3 ci: add continuous integration helper scripts 2012-03-24 05:04:41 +00:00
Ken Rice e7d047242f centos: rework CentOS spec files
* break out modules
 * conform to FHS
 * support CentOS v5
2012-03-24 04:52:58 +00:00
Ken Rice 08d8a1a79b bump FS version to 1.1.beta1 2012-03-24 04:52:58 +00:00
Ken Rice cac6c262bb conf: add config files to module directories
The idea here is that the config files in the module directories will
serve as the canonical documentation of all module configuration
options.
2012-03-24 04:51:08 +00:00
Ken Rice f65140661c conf: add config styles: curl, insideout, sbc, softphone 2012-03-24 04:48:34 +00:00