Commit Graph

6855 Commits

Author SHA1 Message Date
Viktor Krykun 5af0af90ed Add zrtp_randstr2
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:58 +00:00
Viktor Krykun 4ba74ad38a Cleanup the go secure test
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:58 +00:00
Viktor Krykun 5f0b30cd7c Fix typo in comment
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:57 +00:00
Viktor Krykun c78a4dc221 Remove superfluous include
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:57 +00:00
Viktor Krykun 2cfadc6d8e Remove unused variable
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:56 +00:00
Viktor Krykun 5f19e3f1f7 Add test for zrtp_register_with_trusted_mitm
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:56 +00:00
Viktor Krykun b544076505 Rename changelog page
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:55 +00:00
Travis Cross b7fd94a53e Fix build of cmockery
cmockery.h was trying to redefine uintptr_t, but this is already
defined in stdint.h.
2013-02-11 16:41:55 +00:00
Viktor Krykun d938a6da6d Add test for some minor bugs
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:54 +00:00
Viktor Krykun 95519659b9 Clean up in libzrtp tests
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:53 +00:00
Viktor Krykun cc134b8cbe Update pointer to changelog
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:53 +00:00
Viktor Krykun e5caa9e196 Bump libzrp version
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:52 +00:00
Viktor Krykun be9e71a5e2 Log number of dirty cache entries flushed
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:52 +00:00
Viktor Krykun e4daefbadc Flush zrtp cache automatically
Add option to flush zrtp cache to persistent storage automatically
immediately after the cache is modified. See
zrtp_config_t#cache_auto_store.

Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:51 +00:00
Viktor Krykun 551938b89b Add preventative breaks to case statement
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:50 +00:00
Viktor Krykun 272b36d04b Improve whitespace and formatting
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:50 +00:00
Viktor Krykun fc98238dd6 Condense formatting of struct
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:49 +00:00
Viktor Krykun a7d0c274ab Fix spelling
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:49 +00:00
Viktor Krykun 1b15973f02 Bump libzrtp version
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:48 +00:00
Viktor Krykun 656669d241 Fix bug with sasrelay
libzrtp was forcing a new SAS rendering even when SasRelay
sashash was zero.

Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:48 +00:00
Viktor Krykun 2bfb3e7408 Update libzrtp version
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:47 +00:00
Viktor Krykun 326370ba48 Pass through void* arg in zrtp_thread_create
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:47 +00:00
Viktor Krykun 2664e0ee70 Add high-level test engine
Remove some old tests and implement a few test-cases to emulate zrtp
enrollment and sasrelay logic

Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:46 +00:00
Travis Cross a7286bff1a Improve .gitignore 2013-02-11 16:41:45 +00:00
Viktor Krykun 73fabdfea5 Refactor libzrtp unit tests
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:45 +00:00
Viktor Krykun 7bca61ff0c Remove empty README file
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:44 +00:00
Viktor Krykun 5176df4615 Remove old Windows CE tests
Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:44 +00:00
Travis Cross fc40475037 Build from the root directory
Move all the GNU build files to the root directory so that we look
like a normal *NIX-centric project.

Thanks to Viktor Krikrun for an initial patch here.  For this commit,
I ended up redoing the move from scratch to separate out this move
from other changes.
2013-02-11 16:41:43 +00:00
Viktor Krykun 670f61be4d Ignore Eclipse project
Ignore local eclipse cdt project used for libzrtp development.

Modified-by: Travis Cross <tc@traviscross.com>
Signed-off-by: Travis Cross <tc@traviscross.com>
2013-02-11 16:41:42 +00:00
Moises Silva 7c6ba6a34c OPENZAP-207 --resolve Rework the zt_read function
Break the read loop when receiving ELAST
2013-02-11 11:35:30 -05:00
Steve Underwood 2cc1f04eb0 Fixed NEON tests 2013-02-11 22:40:20 +08:00
Ken Rice 9c975033a7 FS-4844 --resolve 2013-02-07 13:16:19 -06:00
Steve Underwood 4b46a5511e Eliminated a couple of unused variable warnings in the Broadvoice codec. 2013-02-06 17:07:29 +08:00
Jeff Lenk 70a9560306 add windows vs2012 esl project and solution 2013-02-04 18:31:28 -06:00
Jeff Lenk 22eca4cf6b windows download openssl from the correct location 2013-01-31 15:53:50 -06:00
Jeff Lenk 3a30c4df33 FS-4768 MSB_LNK_warnings.diff applied 2013-01-31 15:36:08 -06:00
Anthony Minessale 1c9a10162f FS-5068 --resolve this was an edge case assert in a DNS error. You may want to check that you have valid DNS servers but this should stop the crash 2013-01-31 13:53:50 -06:00
Anthony Minessale f0bf3b917d FS-5047 --resolve This seems to be a problem in libsofia, this should fix it. 2013-01-30 17:20:19 -06:00
Ken Rice 7300fe0837 FS-4265 --resolve 2013-01-28 07:43:43 +00:00
Steve Underwood 36492e522b Minor tweak to last spandsp change 2013-01-26 03:30:21 +08:00
Steve Underwood 7e79b37c0b Make spandsp's T.38 features tolerate the non-compliant inclusion of data
in some T.38 packets from Commetrex and Cisco machines.
2013-01-26 01:54:20 +08:00
Steve Underwood 6cb3be7d8b Some cleanups of FAX modem tone handling 2013-01-19 23:55:23 +08:00
Jeff Lenk 4df19edb3a FS-4768 applied hopefully final patch(for now) to util.vbs 2013-01-18 11:16:44 -06:00
Anthony Minessale ff5b702886 FS-4971 please try this 2013-01-17 09:03:40 -06:00
Michael Jerris 63deed9fc9 fix double-destroy seg 2013-01-14 12:02:28 -05:00
Michael Jerris 41b2ce51d2 add support for RTP/SAVPF to sofia stack 2013-01-14 08:31:10 -05:00
Steve Underwood ef22570afa T.38 now gets reset as a T.31 call starts 2013-01-12 16:21:42 +08:00
Moises Silva 29bfcb16be freetdm: ftmod_pritap: Allow specifying different audio mixing modes 2013-01-11 14:52:33 -05:00
Stefan Knoblich 42bb1040de ftmod_pritap: Use strcmp() for "none" and "all" in parse_debug()
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-10 18:41:16 +01:00
Stefan Knoblich fe4d5748c6 ftmod_pritap: Hexdump I/O buffers if q921_raw debug is enabled, improve parse_debug()
Add support for "q921_all"/"q931_all" to parse_debug() ("debug" span parameter), taken from
ftmod_libpri.

Passive libpri's raw dump feature is broken (e.g. I-frames missing), so
add "q921_raw" hexdump support to the pritap I/O read/write function.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-10 18:31:30 +01:00
Jeff Lenk 1c24e8fb6b FS-4768 windows add libmpg download depends 2013-01-09 11:17:38 -06:00
Steve Underwood 17a523ec33 Eliminate a warning with some compilers 2013-01-10 00:16:32 +08:00
Jeff Lenk fe4b003759 FS-4768 correct download names 2013-01-09 09:31:48 -06:00
Jeff Lenk a73fd2877a FS-4768 fix mpg123 download 2013-01-09 09:23:05 -06:00
Jeff Lenk 1a3323a9d1 FS-4768 4768-again applied 2013-01-09 09:20:28 -06:00
Stefan Knoblich bfef3e57c4 ftmod_libpri: Disable on_facility() event handler on older libpri versions
Those that lack PRI_EVENT_FACILITY (<= 1.4.10)

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-08 15:07:29 +01:00
Stefan Knoblich 221bcc9e90 ftmod_libpri: Also conditionally disable pri_set_service_message_support() call
Same as pri_maintenance_service(), use HAVE_LIBPRI_MAINT_SERVICE.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-08 15:07:29 +01:00
Stefan Knoblich 88e75bf9d7 ftmod_libpri: Add configure check for pri_maintenance_service()
Said function has been added in libpri-1.4.11 and breaks
building with older libpri versions (i.e. the passive one for ftmod_pritap).

Check for pri_maintenance_service() in configure and disable
the "maintenance" subcommand if it is not available.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-08 15:07:29 +01:00
Stefan Knoblich 2bb859e2b4 ftmod_misdn: Fix brown paperbag logic bug in handle_b_channel_event()
Yeah, right, discard the incoming audio data when the b-channel is active...

Reverse the check, so ftdm_read() on an active mISDN b-channel will
be able to read audio data from the RX socketpair and not kill
the call from repeatedly timing out in poll().

Fixes:
    [WARNING] mod_freetdm.c:775 Too many timeouts while waiting I/O in channel FreeTDM/1:1/XX device 1:1!
    [ERR] mod_freetdm.c:820 clearing IO in channel FreeTDM/1:1/XX device 1:1!

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-07 18:04:00 +01:00
Stefan Knoblich 95ac0ecc2f ftmod_misdn: Retry recvfrom() in case of EAGAIN
epoll_wait() on the B-channel socket may indicate pending messages, but
recvfrom() returns EAGAIN. Retry a few more times (up to 5 retries)
to get the pending message.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-07 13:35:38 +01:00
Stefan Knoblich f2c325bf3e ftmod_misdn: Fix %lx vs.__u64 format string error
Fixes:
      src/ftmod/ftmod_misdn/ftmod_misdn.c:924:3: error: format '%lx' expects
      argument of type 'long unsigned int', but argument 13 has type '__u64'
      [-Werror=format]

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
Reported-by: hyper_ch #freetdm @ irc.freenode.net
2013-01-06 13:47:06 +01:00
Jeff Lenk 6d4e0862bc FS-4768 update windows to mpg123-1.14.4 2013-01-05 15:48:07 -06:00
Jeff Lenk 40cbc5c0e5 FS-4768 rest of garmts changes mostly cosmetic 2013-01-04 14:10:51 -06:00
Jeff Lenk dd25e7ea36 FS-4768 part of garmts changes 2013-01-04 13:53:05 -06:00
Jeff Lenk e381422fc0 FS-4768 download changes for openssl 2013-01-04 07:22:40 -06:00
Jeff Lenk 99a8052096 FS-4768 windows fix long term initial build problem 2013-01-02 16:11:34 -06:00
Steve Underwood f9d4e290cf Tiny mismatch with current code 2013-01-02 22:44:14 +08:00
Steve Underwood c6c03827b8 T.31 now has basically functional T.38 mode - needs more testing, though
Various modules which lacked routines to get at the sub-structures now
have them.
The tests have been tweaked so they only access internals where essential.
2013-01-01 23:07:55 +08:00
Jeff Lenk 5788195fd7 FS-4768 fix compile error on other platforms 2012-12-30 08:58:44 -06:00
Jeff Lenk dc2c11f13f FS-4768 initial add of vs2012 build support 2012-12-29 14:57:15 -06:00
Steve Underwood e22ce3e611 Improved detection of machines that need fixed point support 2012-12-25 03:14:59 +08:00
Brian West 1ea1773b5d clean up my mess now 2012-12-20 20:21:43 -06:00
Brian West 68913681a4 git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00
Brian West 59205c7678 sigh... git you failed 2012-12-20 20:15:24 -06:00
Brian West 17294cb608 grr more 2012-12-20 20:14:35 -06:00
Brian West c7005ef138 woops 2012-12-20 20:13:58 -06:00
Brian West d67b96af8a i've tested, now you can too 2012-12-20 20:08:42 -06:00
Moises Silva 56846c02c6 freetdm: ftmod_analog_em: If the destination number DTMF was already generated, do not generate it again
This bug was cause when answer-supervision is used because now we do not move from DIALING to UP
         as soon as the line is ringing, but instead we wait for the CAS bit change
2012-12-20 12:18:24 -05:00
Jeff Lenk ca78de0192 FS-4950 --resolve vs2008 project 2012-12-20 08:34:57 -06:00
Moises Silva 27a8ec93de freetdm: Added Analog E&M outbound call answer supervision
You must add answer-supervision=yes in your freetdm.conf.xml
         Also added dial-timeout parameter which was previously hard-coded
2012-12-18 22:55:14 -05:00
Moises Silva 6e9dc465cc freetdm: ftmod_analog_em: Fix incorrect read length 2012-12-18 14:24:00 -05:00
Moises Silva 6f5438eded freetdm: ftmod_zt:
Handle driver events while reading media

         ftmod_analog_em:
         Initialize read data len to avoid crashing when
         the freetdm read function does not read anything
2012-12-18 14:23:31 -05:00
Michael Jerris c3e3f818e8 more pedantic standards? 2012-12-18 11:01:51 -05:00
Michael Jerris 216ca57338 missed uncommenting header 2012-12-17 22:53:52 -05:00
Michael Jerris a4923bbe54 add PL_strtok_r 2012-12-17 22:50:49 -05:00
Anthony Minessale 86487ed459 remove listed missing files 2012-12-17 20:12:31 -06:00
Michael Jerris 9d44329b2c builds with warnings, still not linking 2012-12-17 21:28:13 -05:00
Michael Jerris ab3ac5ed99 not building yet 2012-12-17 21:13:00 -05:00
Michael Jerris 0f00946782 add sipcc to tree for sdp parser 2012-12-17 20:15:23 -05:00
Michael Jerris 4773bbbf4f .gitignore 2012-12-17 10:48:21 -05:00
Steve Underwood 4bc10ab1dc T.31 now gets somewhere in T.38 mode, although it still needs more work so
it functions properly in T.38 + ECM mode.
2012-12-12 22:01:58 +08:00
Steve Underwood 68b8f5f2a7 Various tweaks to T.31 modem, prior to getting T.38 really working with T.31 2012-12-12 03:59:51 +08:00
Steve Underwood 38bf6342fa Various tweaks to spandsp, including starting to add some genuine ARM
optimisations.
2012-12-12 03:23:27 +08:00
Anthony Minessale 03c5901c23 FS-4837 --resolve this should work with no addtl patches reopen if it doesn't work 2012-12-07 11:15:33 -06:00
Anthony Minessale 8e78ca69e5 add some missing macros to typically disabled stun code 2012-12-07 08:42:54 -06:00
Raymond Chandler 86862b24af attempt to fix detection of libdl for sqlite 2012-12-03 23:12:55 -05:00
Anthony Minessale 435443c9f6 fix build 2012-11-29 10:40:47 -06:00
Anthony Minessale bce107b5fc FS-4883 --resolve I can add this but if it leads to issues in the loaded code we may not have resoures to investigate 2012-11-29 09:00:03 -06:00
Moises Silva a7f8e4259e OPENZAP-201 --resolve 2012-11-26 14:26:41 -05:00
Moises Silva b64cc02390 freetdm: ftmod_zt - Declare tone mode at the top to avoid compilation errors 2012-11-19 10:24:25 -05:00
Moises Silva db673a043f freetdm: ftmod_zt - Integrated HW DTMF support 2012-11-18 23:57:52 -05:00
Jeff Lenk c7e8dce247 FS-4828 --resolve 2012-11-17 21:38:07 -06:00
Michael Jerris a9017b4d4d FS-4649: --resolve fix ifdefs for opengl headers 2012-11-15 08:39:10 -05:00
Steve Underwood dfce47f26d Relaxed the constraints for declaring a clean end of call on FAX receive. If we
get an EOP, we no longer worry whether the final stages tidy up. This helps
tolerate the increasing number of VoIP calls which hang up before the audio has
flushed down the line.

A few little cleanups.
2012-11-14 21:53:17 +08:00
Anthony Minessale 18f20e24bf fix bad return vals on sending messages when under stress 2012-11-13 17:56:31 -06:00
Matteo Brancaleoni 8c58a10999 ftmod_libpri: Rework handling of peer-initiated hangup events
Use peerhangup flag variable to track whether a hangup has been
initiated by the peer or libpri itself (e.g. Layer 2 timeouts).

These changes fix a couple of problems with hangup events not being
handled properly in some situations:

  - Call abort caused by incoming RESTART on a channel in use
  - T309 timeout after L2 loss
  - Improved hangup handling in libpri-side on_hangup() event handler
    and state_advance() (FreeTDM side)

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-11-12 22:54:27 +01:00
Moises Silva 9bc3dfc874 fretdm: little white lie 2012-11-09 16:53:39 -05:00
Michael Jerris db20df2300 FS-4817: --resolve netbsd portability fixes 2012-11-09 09:27:47 -05:00
Anthony Minessale e8f3e42f8b FS-4779 try this patch 2012-11-08 09:52:20 -06:00
Anthony Minessale 6627dc8696 fix some contention issues under really high load...That doesn't mean you need to push it this hard and bug me about it =p 2012-11-07 14:53:16 -06:00
Anthony Minessale b19ce17cb2 regression from 2494448846 2012-11-05 13:36:20 -06:00
Michael Jerris 306c2fa205 don't skip sending cid number if there is a + in it 2012-11-05 15:12:38 -05:00
Anthony Minessale e884de5b07 add NUTAG_RETRY_AFTER_ENABLE() tag to lib sofia and use it in mod_sofia to disable processing retry-after headers on a per-call basis 2012-11-02 13:54:54 -05:00
Jeff Lenk 98bbb9affe mostly trivial windows fixes for last several commits - anthm pthread_self in mod_dptools is not in scope for windows? commented out. 2012-11-01 21:59:18 -05:00
Ken Rice 3c249b012e FS-4003 --resolve add IPv6 support to ESL client library, thanks to Steven Ayre 2012-11-01 22:39:16 +00:00
Anthony Minessale 2494448846 FS-4781 --resolve I added some more code to the jb for seq but I still think the timestamp is more reliable than the seq since we can't know if the rtp is passing over a media proxy who may preserve the timestamps but still rewrite the seq, its more likely the ts shows the more accurate order of the rtp stream 2012-11-01 09:00:43 -05:00
Anthony Minessale 7ade45164a FS-4776 --resolve 2012-10-31 11:46:17 -04:00
Anthony Minessale 0343b3ae8f FS-4777 --resolve 2012-10-31 11:45:09 -04:00
Michael Jerris d5d107d281 FS-3473: --resolve do not use asm optimizations on newer broken apple compiler until we can figure out the correct fix for this 2012-10-30 10:43:38 -04:00
Moises Silva d39269b217 freetdm: ftmod_pritap - Fix memory corruption due to freeing a call
pointer that was still in use
2012-10-29 15:34:08 -04:00
Moises Silva 87a1d78e42 freetdm: ftmod_pritap - Use a single thread per every pair of spans tapping a single line 2012-10-29 15:33:59 -04:00
Moises Silva aeb07172b0 freetdm: ftmod_pritap - Do not print an error when the crv is no longer in use
since this is a valid code path
2012-10-29 15:33:50 -04:00
Moises Silva e4e6fa65d0 freetdm: ftmod_pritap - Lock the channel during call setup
Destroy the peer before the master channel
2012-10-29 15:33:41 -04:00
Moises Silva d88e79e632 freetdm: ftmod_pritap - Use uint8 for flags (I smell a bug somewhere with bitfields) 2012-10-29 15:33:31 -04:00
Moises Silva 7d5a4a7172 freetdm: ftmod_pritap - Destroy call references as soon as possible 2012-10-29 15:33:22 -04:00
Moises Silva 3cb1fd267f Try to fix pritap segfault 2012-10-29 15:33:09 -04:00
Moises Silva 0a92094995 freetdm: ftmod_pritap - Add interface type parameter (cpe/net) 2012-10-29 15:32:57 -04:00
Moises Silva d2a73cc0e4 Updated ftmod_pritap.c to send SIGEVENT_UP when the tapped line is answered 2012-10-29 15:32:16 -04:00
Michael Jerris fae4dd51ad FS-3992: --resolve fix OSX platform detection for spidermonkey on 10.7 and later 2012-10-29 13:26:26 -04:00
Matteo Brancaleoni 3d090357cf ftmod_libpri: Always send PROGRESS messages with PROGRESS INDICATOR IE
PROGRESS without PROGRESS INDICATOR IE is invalid according to Q.931,
so always call pri_progress() with info flag set, even if we do not
have media yet.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-10-29 11:58:22 +01:00
Seven Du 3ef548eeb5 fix compile, please review 2012-10-27 08:24:01 +08:00
Anthony Minessale 63e2044a7e modify sofia debug code to print file, line numbers and function name 2012-10-26 14:15:14 -05:00
Anthony Minessale fa9a0ed704 FS-2746 found this assert in a BT on the conf box 2012-10-24 12:34:03 -05:00
Anthony Minessale 6d75c36f69 Merge branch 'master' of ssh://git.freeswitch.org/freeswitch 2012-10-23 13:15:14 -04:00
Anthony Minessale 5f469ad2bd FS-4753 --resolve this should properly detect it everywhere 2012-10-23 13:14:51 -04:00
Moises Silva 542e7153fc freetdm: Fix compilation with old libpri.h where AOC is not available 2012-10-23 13:01:40 -04:00
Moises Silva 004ebe4f12 OPENZAP-196 Fix casting issue - Apparently this fixes libpri BRI issues 2012-10-23 13:00:16 -04:00
Anthony Minessale 87c2bb552f FS-4751 I am leaving out the one for devel-bootstrap.sh because I am not sure it should be /usr/pkg/bin/bash 2012-10-23 12:23:19 -04:00
Anthony Minessale 986fede6b0 make a way to get the jitter buffer down to the codecs 2012-10-18 15:29:00 -04:00
Anthony Minessale 50cd5c28f5 add originated_legs and originate_causes to A leg when present in an originate to detail the B leg data 2012-10-18 13:23:05 -04:00
Mathieu Rene 1276387c24 fix segfault 2012-10-18 12:48:27 -04:00
Jeff Lenk a8a2d1406e FS-4445 start enabling windows IPV6 support 2012-10-17 22:36:47 -05:00
Jeff Lenk 77eabbbdf7 FS-4694 --resolve 2012-10-17 09:17:16 -05:00
Anthony Minessale c51aebf621 FS-4694 --resolve 2012-10-16 19:03:29 -04:00
Jeff Lenk faefb06606 FS-4724 -- resolve update gitignore for xmlrpc 2012-10-16 07:02:11 -05:00
Steve Underwood 245c6fc6ce spandsp should now compile in fixed point mode, although the performance of
the modems will still suck on a fixed point machine.
2012-10-15 23:29:33 +08:00
Jeff Lenk 6b6c83a718 FS-2746 --resolve large xmlrpc update thanks garmt 2012-10-13 11:37:25 -05:00
Jeff Lenk a6b2a420d0 windows fix for initial build. Not quite sure why this was never noticed before. 2012-10-11 23:00:04 -05:00
Steve Underwood cfce1fd240 The FAX modem receive synchronisation algorithms have been changed to prevent
occasional false recognition of a fast modem when its really the V.21 modem.
This was sometimes messing up T.38 gateway operation.
2012-10-11 20:16:45 +08:00
Seven Du 0263ce9247 FS-4695 fix apple build, seems there's no pthread_setschedprio on Mac, not sure if windows has the same problem in apr/threadproc/unix/thread.c 2012-10-08 09:03:34 +08:00
Stefan Knoblich 1d605ef47b FreeTDM: Add ftdm_clamp_safe()
"Safer" version of ftdm_clamp(), that swaps min/max parameters if
vmin happens to be larger than vmax, making sure the output will
always satisfy vmin <= x <= vmax.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-10-06 16:50:55 +02:00
Stefan Knoblich 90691b36c4 FreeTDM: Remove trailing whitespace at end of ftdm_{copy,set}_string()
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-10-06 16:50:55 +02:00
Jeff Lenk 5620d6d063 windows fixes for priority - needs to be revisited when apr and pthread versions support calls. 2012-10-01 20:34:15 -05:00
Anthony Minessale ece61bb7d3 bump date to trigger build 2012-10-01 12:25:10 -05:00
Anthony Minessale 0f477d1586 increase pri in sofia 2012-10-01 12:25:10 -05:00
David Yat Sin 15ef8925c3 Fix for Q.921 not always recovering 2012-09-27 23:48:18 -04:00
Anthony Minessale 90f3ab4099 fix thread priority code, this has never worked until today 2012-09-27 13:38:02 -05:00
Anthony Minessale 5b0115676c add void to declarations 2012-09-27 09:19:51 -05:00
Robert Jongbloed cf0f483aab Assuming, just because it is MSVC, that the standard integers are not defined, is not correct. Need to test for define _STDINT as well as later versions of MSVC (>= VS2010) do have stdint.h 2012-09-27 10:16:14 +10:00
Stefan Knoblich 8075b01569 Fix error in switch_core_screen_size() and screen_size() fallback code.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-26 17:21:05 +02:00
Jeff Lenk d77dfdbbf2 FS-4219 --resolve windows revision display human thanks Peter 2012-09-26 08:16:28 -05:00
Jeff Lenk b15468d1aa OPENZAP-192 --resolve 2012-09-26 08:11:52 -05:00
Michael Jerris ee50ed23ab FS-4645: --resolve fix build error in fs_cli 2012-09-25 14:19:00 -04:00
Anthony Minessale 03c981bf72 add smaller banner for teeny tiny terminals 2012-09-24 14:59:09 -05:00
Michael Jerris 4ff9b2f102 revert fb2ffbafe2 2012-09-24 15:38:06 -04:00
Travis Cross 59d3823ed2 Update .gitignore 2012-09-23 07:49:26 +00:00
Travis Cross fb2ffbafe2 Add configure flags to moderate the ClueCon nags
The default remains the same: we show the huge ClueCon nag banner on
startup and in fs_cli.

However, if you pass --disable-huge-cluecon-nag, no banner will be
shown.

If you pass --enable-modest-cluecon-nag, a modest text-based ClueCon
reminder will be shown instead.
2012-09-23 07:49:26 +00:00
Moises Silva fff6e50a9b freetdm: Fix E&M answer procedure for DAHDI 2012-09-19 20:03:09 -04:00
Brian West 98063854c6 This already has a new line in it 2012-09-19 15:54:38 -05:00
David Yat Sin 7018a15bf1 fix for compile warning 2012-09-19 15:25:38 -04:00
Anthony Minessale d22e0caf15 trigger update on sofia lib for new patch 2012-09-19 13:06:33 -05:00
Anthony Minessale cd6ead9178 add libks (kitchen sink) as a new lib to collect random cool cross platform BSD licensed C funcs 2012-09-19 12:44:34 -05:00
David Yat Sin aa8f48c7e3 Fix for compile warning 2012-09-18 23:14:27 -04:00
David Yat Sin 2aa5b78514 freetdm: Fix for DL re-establishment on NFAS 2012-09-18 23:11:05 -04:00
Anthony Minessale 016550f218 FS-4627 --resolve 2012-09-18 18:42:09 -05:00
Stefan Knoblich 715c538922 ftmod_misdn: Handle incoming PH_CONTROL_IND messages on b-channels
Also add a few more PH_CONTROL_IND message types.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-17 21:43:59 +02:00
Stefan Knoblich bc414df510 ftmod_misdn: Discard incoming audio data if b-channel is not active
Silences the "Device or resource busy" error messages caused by the RX pipe
filling up.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-17 21:40:59 +02:00
Stefan Knoblich e561709f5a mod_freetdm: Use new SWITCH_DEFAULT_CLID_NUMBER constant
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-17 21:32:18 +02:00
Brian West fdf7623f90 freetdm_outbound_npi is actually useful. 2012-09-17 10:14:32 -05:00
Jeff Lenk 3b5aa066c7 FS-4623 --resolve 2012-09-16 14:21:30 -05:00
Stefan Knoblich dd4a995b34 ftmod_libpri: Default disable NT-mode idle b-channel restart
Some people, it seems, were having sleepless nights from the
log messages this feature produces every 15 minutes.

Default disable the feature, because i hate repeating myself
over and over, explaining them this is a non-issue and intended
behaviour and how to disable it in the config.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-16 14:07:55 +02:00
Jeff Lenk 84bace0701 freetdm trivial build warnings on windows 2012-09-14 16:52:05 -05:00
Jeff Lenk 6b8e177c58 fix strange code analysis error 2012-09-14 14:55:52 -05:00
Jeff Lenk fd60ef6db4 windows missing copy for libjpeg vs2008 2012-09-14 14:15:18 -05:00
Jeff Lenk d8cada59ee windows fix for recent tpl additions to switch_event.c
and revert a search and replace error for libtiff building
2012-09-14 12:14:09 -05:00
Jeff Lenk 2e9b4c23de FS-4618 --resolve 2012-09-14 07:38:03 -05:00
Anthony Minessale 4985a41f27 add tpl to tree (please check win build) 2012-09-13 15:01:01 -05:00
Anthony Minessale 5a956890af update json lib in core and ESL and re-apply old patches 2012-09-13 12:54:31 -05:00
David Yat Sin 4c3c4c5a28 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2012-09-13 12:35:19 -04:00
David Yat Sin eb7b98c699 freetdm: Fix for HW DTMF events not passed to signalling module in transfer mode 2012-09-13 12:34:49 -04:00
Steve Underwood 831e5dd4d9 Add image squashing feature to the FAX engine so a superfine image or fine
image can be sent to a machine which has those resolutions inhibited.
2012-09-14 00:24:19 +08:00
David Yat Sin 83d7f4282c Fix for compilation errors 2012-09-13 00:00:26 -04:00
Stefan Knoblich 210e501782 mod_freetdm: Remove duplicate assignment.
curr is getting set in the for() statement (again). Use that, remove
the other line setting it.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-13 01:02:31 +02:00
Stefan Knoblich 42c76fa81b mod_freetdm: Coding style and whitespace clean up.
No functional changes.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-13 01:01:19 +02:00
Stefan Knoblich b9a45c75f4 mod_freetdm: Remove duplicate code block in channel_on_hangup(), after merge.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-13 00:58:49 +02:00
David Yat Sin 9297863a4d Fix for compile warnings 2012-09-12 13:13:51 -04:00
David Yat Sin 4340c4d74c Merged latest FreeTDM code from Sangoma's repo
Merge remote branch 'smgfs/master'

Conflicts:
	build/modules.conf.in
	configure.in
	libs/esl/fs_cli.c
	libs/freetdm/mod_freetdm/mod_freetdm.c
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_logger.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c
	src/include/switch_types.h
	src/mod/applications/mod_commands/mod_commands.c
	src/mod/applications/mod_spandsp/mod_spandsp.c
	src/mod/endpoints/mod_opal/mod_opal.cpp
	src/mod/endpoints/mod_opal/mod_opal.h
	src/mod/endpoints/mod_sofia/mod_sofia.h
	src/mod/endpoints/mod_sofia/rtp.c
	src/switch.c
	src/switch_core.c
	src/switch_rtp.c
2012-09-12 11:05:39 -04:00
David Yat Sin c425955670 Merge branch 'nsg-4.3' 2012-09-11 15:01:26 -04:00
David Yat Sin 848db87c26 Merge branch 'releases.3.5' into nsg-4.3 2012-09-11 14:56:22 -04:00
David Yat Sin fcbfc69466 mod_media_gateway now specifies physical channel when opening TDM terminations 2012-09-11 14:45:57 -04:00
Stefan Knoblich 143c599066 mod_freetdm: Add missing break in on_clear_channel_signal() FTDM_SIGEVENT_UP case statement.
FTDM_SIGEVENT_UP was falling through to FTDM_SIGEVENT_PROGRESS_MEDIA, which
does (almost) the same, so no harm, but still fix it.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-11 18:13:33 +02:00
Stefan Knoblich adfb2ca385 mod_freetdm: Whitespace, indentation and coding-style clean up.
No functional changes.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-11 18:13:33 +02:00
Stefan Knoblich a478a5de04 ftmod_libpri: Skip channels marked in use during NT-mode idle restart.
Channels can be in DOWN state but reserved by an incoming call
(FTDM_CHANNEL_INUSE flag). Additionally check the flag in on_timeout_t3xx()
and skip those channels.

Reported-by: privi #freetdm @ irc.freenode.net
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-11 11:09:40 +02:00
David Yat Sin c0e4ca47bc Freetdm: ISDN fix for link not always recovering after T1/E1 alarm 2012-09-11 01:22:31 -04:00
Jeff Lenk d8fc88ea75 FS-4605 --resolve 2012-09-10 19:34:04 -05:00
Steve Underwood d26293e591 Some tweaks to spandsp 2012-09-09 01:08:15 +08:00
Stefan Knoblich 17329d04ad ftmod_libpri: Print warning message in lpwrap_stop_timer(), if timer is not on the active list
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-07 00:04:40 +02:00
Stefan Knoblich a035182582 ftmod_libpri: Append new lpwrap timers in correct order.
List is sorted in ascending order of expiration time,
fix the if clause in lpwrap_start_timer().

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-07 00:02:32 +02:00
David Yat Sin f49ee5ebf9 FreeTDM: Added function to listen for mg-tdm-dtmfremoval command to disable/enable DTMF removal per channel 2012-09-06 16:53:58 -04:00
Steve Underwood cc73cb6544 Some tweaks to spandsp tests. Make spandsp write TIFF files more like the
TIFF/FX spec says, even though no software seems to care.
2012-09-07 00:41:41 +08:00
Nenad Corbic 0c49449746 Changed MTP2 events from ERROR to WARN 2012-09-05 23:06:08 -04:00
Nenad Corbic c260bc4b8a Update mtp2 loglevels
Alignment loss - wanring
Alignment up - info
2012-09-05 18:03:08 -04:00
Moises Silva 15fa227699 freetdm: Fix ss7 logger broken compilation 2012-09-05 02:26:39 -04:00
Stefan Knoblich 4ffcb7c9ef ftmod_libpri: Improve RESTART handling, add PTP NT idle channel restart and T316.
Do not try to send RESTART on BRI PTMP spans, libpri will just print
an error and do nothing, causing the channels to be stuck in RESTART
forever.

Add T316 (RESTART ACK timeout), which is not implemented by libpri.
The default timeout is 30 seconds (Q.931 recommends 2 minutes, but
that is a little long and libpri layer 2 is being stupid) and the
restart attempt limit to 3 (instead of 2).

Periodically send RESTART on idle b-channels in PTP NT mode.
Default interval is 15 minutes, feature can be disabled by setting
"idle_restart_interval" to 0 in the span configuration.

Allow timeout / interval values to have an additional time unit
suffix for convenience reasons, the default (no unit specified)
is milliseconds, valid units include:

	w (week), d (day), h (hour), m (minute), s (second)

Only full integers are accepted, no fractional numbers, valid examples:

	2w   = two weeks
	37m  = 37 minutes
	1h   = 1 hour

Combinations of multiple numbers and units (e.g. "1w5d") are not supported.

New span configuration parameters:

	idle_restart_interval		(milliseconds / time unit suffix /
					 0 = disabled)

	t316 / restart_timeout		(milliseconds / time unit suffix)
	t316_limit / restart_attempts	(number of max. attempts)

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-05 00:42:32 +02:00
Stefan Knoblich 1a47eb933b ftmod_libpri: Reset timer parameters in lpwrap_run_expired() before invoking the callback.
Allowing us to restart the timer from the callback with lpwrap_start_timer().

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-05 00:42:32 +02:00
Anthony Minessale ff3631b474 sigh 2012-09-04 11:13:52 -05:00
Anthony Minessale 07684b2dcb forgot one 2012-09-04 11:13:52 -05:00
Anthony Minessale 52f98724c0 make tiff work on older automistake 2012-09-04 11:01:36 -05:00
Anthony Minessale fbdc05d030 fix build (need make spandsp-reconf) 2012-09-04 11:03:53 -05:00
Jeff Lenk 8c9ddd95ed tiff add missing file required by makefile.am 2012-09-03 22:39:25 -05:00
David Yat Sin 3a57b0bed6 Merge remote branch 'fsorig/master' into nfas
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c
2012-09-03 22:34:13 -04:00
David Yat Sin b0f6e0384d freetdm - ISDN:Fix for invalidating logical span id = 0 for nfas 2012-09-03 22:26:03 -04:00
Steve Underwood 12b5bde226 Merge branch 'master' of git.freeswitch.org:freeswitch 2012-09-04 08:59:43 +08:00
Steve Underwood 7c6f6e306c Added a free space function to the T.31 modem in spandsp, so the app doesn't
need to probe around inside the modem.
2012-09-04 08:58:43 +08:00
Stefan Knoblich f012b7abf8 ftmod_libpri: Major rework of runtime thread, lpwrap event loop, restart b-channel handling and some new features.
Add per b-channel private data (ftdm_libpri_b_data_t), move the q.931 libpri
call pointer into it and use channel->call_data to make it accessible.

Use ftdm_channel_wait() instead of select() to wait for I/O events on
the D-Channel and rewrite the timeout handling, adding support for custom
timers that can be added to the b-channel private data and started/stopped
with lpwrap_timer_start()/_stop().

The (sorted) list of active lpwrap timers is protected by the timer_mutex,
which is initialized in the now unified lpwrap_init_pri() (see below) and
destroyed in the new lpwrap_destroy_pri() function.

Unify lpwrap_init_pri() and lpwrap_init_bri(). Use the span type to select
BRI/PRI and Point-to-Point vs. Multipoint settings.

Use the new custom lpwrap timer API to implement T302 (aka overlap receiving
digit timeout). The default T302 timeout is 3000 miliseconds and can be set
via the "digit_timeout" or "t302" span configuration parameter
(0 = disable timer, valid range = 3000 ... 30000 miliseconds).

The lpwrap_pri_init() changes made it neccessarry to rewrite the span runtime
thread event loop. The d-channel initialization and libpri event handler
registration have been moved out of the event loop. The b-channel restart
handling in the event loop has been left as-is, pending a further clean up in
the future.

Rename on_info() to on_information() and add a new on_keypad_digit() event
handler to convert incoming KEYPAD DIGIT messages to channel DTMF events
(only useful on BRI PTMP NT-mode).

The channel restart handling has been improved to distinguish between locally
triggered and restarts caused by the remote end (= incoming RESTART messages).
Restarts on the D-Channel now use pri_restart(), causing a Q.921 reset on
the span.

Large patch, i'd have loved to split this into smaller pieces and actually
test some of the bits more toroughly (restart handling), but some people
are f*cking annoying, so here it is.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-09-03 20:35:48 +02:00
Steve Underwood f3cd4f41a0 Tweak 2012-09-03 14:39:44 +08:00
Steve Underwood 1790a8a97a Changed tiff-4.0.2 to demand autoconf 2.63 or later (which is common) rather
than 2.64 (which is currently a lot less common). This change seems to have
no negative effect, but allows builds to succeed on things like Centos.
2012-09-03 13:10:52 +08:00
Jeff Lenk e4e044e310 FS-4566 --resolve Show fs_cli banner in color(windows) 2012-09-02 21:57:20 -05:00
Steve Underwood 4d56c4c5f2 tiffconf.h is generated by a build, so it shouldn't have been put in the repo. 2012-09-03 07:52:08 +08:00
Steve Underwood cbb28e2ae0 Start introducing some meaningful TIFF/FX stuff 2012-09-02 22:10:04 +08:00
Steve Underwood 01646651ab Handle the TIFF/FX better now we have tiff-4.0.2 in the repo. 2012-09-02 21:45:08 +08:00
Steve Underwood b989f8d3eb The tiff-4.0.2 distribution's configure.ac seems to have two lines missing
AC_PROG_LIBTOOL
m4_include(m4/acinclude.m4)
Adding these and taking out all the Makefile.in files from the tiff-4.0.2
directory seems to sort out the build issues.
2012-09-02 14:38:13 +08:00
Steve Underwood 4ad110aa5b None of the tiff-4.0.2 Makefile.in files were added before, and it built OK for
me. That's not happening for everyone, so let's add them all, just like the
tiff-4.0.2 distribution package.
2012-09-02 12:55:09 +08:00
Jeff Lenk 3f64fe91cb windows fix for libtiff on last commit 2012-09-01 15:52:19 -05:00
Steve Underwood 92fea4a896 Those damn tiff-3.8.2 entries seem to be everywhere 2012-09-01 23:37:46 +08:00
Steve Underwood 495fd99d5d Patched the new libtiff-4.0.2 code to support TIFF/FX tags and the extra
compression and colour profile codes that go with them.
2012-09-01 21:50:47 +08:00
Steve Underwood d1ceeeb7f2 Added missing .update file for tiff-4.0.2
Hopefully made the last of the tiff-3.8.2 -> tiff-4.0.2 changes in the build files
2012-09-01 21:32:34 +08:00
Steve Underwood 1603dc70e2 This should have moved us from tiff-3.8.2 to tiff-4.0.2 . The windows builds
will need rechecking.
2012-09-01 18:45:56 +08:00
Steve Underwood a2b5af5669 Added tiff-4.0.2 as the first step in moving from libtiff 3.8.2 to libtiff 4.0.2 2012-09-01 17:59:43 +08:00
Kapil 4569bbec22 redmine task# 5692 fix, changing log level for link error cases 2012-08-31 11:54:24 -04:00
Steve Underwood 9a862b6667 More cleanups of the FAX modems 2012-08-29 10:10:13 +08:00
Anthony Minessale 7d38669801 fix wrong len in ESL sendMSG method 2012-08-28 12:04:50 -05:00
Steve Underwood 72c073c6cb Bring fax_modem handling in the fax_tester code into line with the upstream code 2012-08-28 15:32:00 +08:00
Steve Underwood 1b3710d5d0 This update brings the fax modem handling into line with the upstream code 2012-08-28 13:32:43 +08:00
Steve Underwood 11cc977391 More cleanups of fax modem stuff 2012-08-27 23:04:05 +08:00
Jeff Lenk 59e1d56cb5 spandsp windows build fix 2012-08-26 16:04:36 -05:00
Steve Underwood 2733e21cd5 More tweaks to spandsp 2012-08-27 00:41:19 +08:00
Steve Underwood e1be1639de Tweaks 2012-08-26 22:53:24 +08:00
Steve Underwood 0e4fb82ecf Tweaks 2012-08-26 22:18:26 +08:00
Steve Underwood acf7c40717 More tweaks 2012-08-26 22:07:01 +08:00
Steve Underwood 3b9dac029e Tweaks 2012-08-26 20:58:54 +08:00
Steve Underwood 124a0742d4 Tweaks 2012-08-26 20:45:49 +08:00
Steve Underwood fe5ac498f7 More tweaks 2012-08-26 20:39:33 +08:00
Steve Underwood dbec2dcbaf More tweaks 2012-08-26 20:28:48 +08:00
Steve Underwood 3b4aafe945 More tweaks 2012-08-26 20:24:20 +08:00
Steve Underwood e60d204a59 More tweaks 2012-08-26 20:11:39 +08:00
Steve Underwood 7f40c5fb41 More tweaks 2012-08-26 19:37:14 +08:00
Steve Underwood ac9656015a More fax modem tweaks 2012-08-26 19:30:42 +08:00
Steve Underwood 887c373c92 Tweaks 2012-08-26 18:12:44 +08:00
Steve Underwood 8cb975f345 Various fax_modems.c related improvements 2012-08-26 15:43:15 +08:00
Stefan Knoblich 7da8e15e96 FreeTDM: Remove oz{rename,replace}.sh scripts.
Remnants from the olden days of the big OpenZAP migration.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-24 20:49:53 +02:00
Stefan Knoblich 5b499e8a59 ftmod_misdn: Use a per-span I/O thread to handle B-channel data.
Move the B-channel message handling into a per-span I/O thread,
to solve most of the problems caused by the intermixed data + control
socket interface of mISDN, missing write poll() support on
mISDN B-channels and the FreeTDM I/O model. This eliminates most of
the audio problems (except for a few minor glitches).

A unix stream socket pair is used as a bi-directional pipe replacement
(the pipe code is still included in this commit, but will be removed later),
with the RX and TX buffer sizes carefully tuned to avoid excessive buffering
(= latency) and a deadlock situation between the write() call in ftdm_write()
and the code in misdn_span_run() that needs a minimum amount of data in the
TX buffer, before sending out a PH_DATA_REQ to the mISDN socket
(see misdn_span_run() comments for more details).

The minimum size for pipes is PAGE_SIZE (4k), which is ~500 ms worth of
audio. A socket pair RX/TX buffer size of 3k, seems to hold a maximum
amount of around 500 bytes data in practice, giving us a much lower
maximum latency than a unix pipe. (The socket pair might be replaced by a
custom ring buffer / fifo data structure to get even more fine grained
control of the maximum latency.)

The newly introduced span_start / span_stop callbacks in
ftdm_io_interface_t are used to start / stop the I/O thread. The callback
functions will wait up to 10 seconds for the thread to successfully
start up or shut down (using a mutex + condition var).

NOTE: Using any of the locking ftdm_span_() functions in the I/O will cause
      a deadlock between the I/O thread (trying to lock span->mutex) and the
      thread calling ftdm_start()/_stop() (holding the span->mutex).
      (The I/O thread currently uses direct span member access to avoid this.)

The I/O thread uses the epoll(7) family of functions for event handling.
An epoll context is created on startup and all B-channel sockets are
registered (READ, PRI and ERR). Before entering the event loop,
the I/O thread will send a signal on the condition variable, to
indicate it has completed the startup procedure.

Incoming b-channel and command pipe events are handled by the event loop.
Payload of incoming PH_DATA_IND frames (= audio data) is sent to the
rx_audio_pipe_in end of the b-channel's socket pair and, if enough data is
available, a PH_DATA_REQ of the same size is sent to the b-channel mISDN socket
to transmit audio.

A MISDN_CMD_STOP command on the event pipe will wake up the I/O thread and
cause it to shut down. All b-channels will be unregistered from the epoll context
and the epoll fd closed. The I/O thread terminates itself after signalling the
successfull shutdown on the condition variable.

TODOs:
    - Move D-Channel into I/O thread too

    - Custom FIFO/ring buffer for data (even lower latency)

    - Improve epoll() code (per-channel struct w/ callback, for epfd.data.ptr)

    - Use mISDN DSP for audio (e.g. tone generator, dtmf detector, echo cancel)

    - Use a per-port / span control socket to execute channel commands
      synchronously, or add misdn_commands (queue?) that can be used that way

    - Name I/O threads 'mISDN-%SPAN_NAME%', e.g. 'mISDN-M_BRI1'
      (= add ftdm_thread_set_namef(thread, fmt, ...) / ftdm_thread_set_name(thread, name))

TL;DR: "tweak", solves "booboo" with audio

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-24 18:03:31 +02:00
Jeff Lenk 72d67cdbd8 FS-4219 --resolve 2012-08-24 08:24:18 -05:00
Stefan Knoblich a4216351c0 ftmod_libpri: Implement channel hunting in NT-mode.
Hunt for a free channel for incoming calls that do not
preselect a channel (pevent->ring.channel == -1).

Verify the preselected channel for calls that do specify a channel
and in case the channel is already taken, hunt for a free one,
or abort with an error message (if the preselection was exclusive).

TE-mode channel selection is the same as before
(there's still room for improvement, though, but i'll save that for later).

The MSN/DDI filter code is moved into the TE-mode section (only useful there).

The duplicate ring detection had to be reworked. We now store the
call reference (CRV) in caller_data->call_reference of the selected channel
and do a CRV -> channel look up with find_channel_by_cref()
at the top of on_ring().

NOTE: This is only lightly tested (NT/TE mode), i'd either have to
      write a lot of custom code to check it toroughly or the need for
      a scriptable ISDN stack...

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-24 00:36:34 +02:00
Stefan Knoblich 716f4c0675 ftmod_libpri: Check for '#' key to leave overlap receiving state.
Same as ftmod_isdn, '#' key ends overlap receive and moves the incoming
call to RING state.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-23 22:26:49 +02:00
Kapil Gupta 917609df1b removing "raw_ftdm_chan_open" API as we have M2UA sig type 2012-08-23 10:59:21 -04:00
Steve Underwood fa5569caac A line got deleted somewhere along the line. I didn't do it, honest.
Its them damn gremlins.
2012-08-21 20:09:59 +08:00
Kapil Gupta 12e61692dd adding signaling FTDM_SIGTYPE_M2UA type 2012-08-17 19:05:12 -04:00
Jeff Lenk bdb73beb8e FS-4526 --resolve 2012-08-17 19:46:54 -05:00
Jeff Lenk 0807b39c8d FS-4543 --resolve thanks Peter 2012-08-17 19:31:47 -05:00
Steve Underwood e399c69765 Fixed a typo in the fixed point image translate code 2012-08-17 18:36:29 +08:00
Moises Silva f3160f9ecf freetdm: ss7 - Fix bug where TDM alarms are not delivered when the span is in M2UA mode 2012-08-16 19:08:34 -04:00
kapil 106e17f7a2 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-08-16 16:43:00 -04:00
kapil 583bd7a811 Added debugging to confirm echo_cancel event works 2012-08-16 16:42:17 -04:00
Anthony Minessale f454b79b9b fix color coding to be OS appropriate 2012-08-16 13:04:33 -05:00
Nenad Corbic a24706aed6 Changed EC ENABLE/DISABLE failure from ERROR to WARNING.
As some installations have no ec. I will have to test
without ec and confirm that we handle that case gracefully.
2012-08-16 02:06:10 -04:00
Mathieu Rene e07d588d10 turn on echo cancellation and turn it off in mg_notify 2012-08-16 01:29:43 -04:00
Mathieu Rene a7d51f5f4f turn on echo cancellation and turn it off in mg_notify 2012-08-16 01:28:32 -04:00
Robert Jongbloed cd21b67c1d Updated mod_opal to latest stable OPAL version.
Enhancements to trace logging, include threads and context ID.

Changed default opal_conf.xml to allow more than just G.711 uLaw and not to clutter log file with debug logs.

Added to opal_conf.xml item for "disable-transcoding".

Updated build/buildopal.sh to use correct ./configure items for PTLib, allow for something other than standard install directory for PTLib/OPAL and be able to easily bind to a specific release of PTLib/OPAL.
2012-08-16 14:23:48 +10:00
Anthony Minessale bb69310259 FS-4079 FS-4540 please update to this version 2012-08-15 22:51:41 -05:00
Kapil Gupta fd39c5b44a renaming CONFIG_ERROR macro to LOAD_ERROR 2012-08-15 16:11:13 -04:00
Kapil Gupta 4f8e843610 adding code to check return type of "ftdm_start_span" API 2012-08-15 14:26:09 -04:00
Stefan Knoblich 548222f9f3 FreeTDM: Add span start/stop callbacks to ftdm_io_interface.
Callbacks are invoked from ftdm_span_start/_stop().
I/O is started before SIG and shut down in reverse order.

This is needed for ftmod_misdn, to move the mISDN message handling
into a separate thread (solving the mISDN socket vs. FreeTDM API issues).

With these callbacks, the I/O thread can be started after the span I/O configuration
has been (successfully) completed and stopped before destroying the span.

NOTE: Both SIG and I/O callbacks are called with the span mutex locked,
so threads created or destroyed synchronously in either of the custom
start/stop functions, can not use ftdm_span_*() functions that lock
the span mutex (e.g. ftdm_span_get_channel_count()).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-15 13:34:22 +02:00
Stefan Knoblich 431f7dd6bf spandsp: Fix libjpeg checks for --enable-builtin-tiff builds.
The --enable-builtin-tiff option appends libs/tiff-3.8.2/libtiff/libtiff.la
to LIBS, causing the AC_CHECK_LIB([jpeg]...) check to fail, because
libtiff.la does not exist at configure time.

Temporarily store tiff and jpeg libs in TIFF_-/JPEG_LIBS variables and
append them to LIBS after all library checks have run.

Example error output:
    configure:20049: checking for jpeg_start_compress in -ljpeg
    configure:20074: cc -o conftest -O2 -pipe -fno-strict-aliasing    -L/usr/local/lib conftest.c -ljpeg  -lm  /usr/home/ports/net/freeswitch-core-devel/work/freeswitch-1.2.1/libs/tiff-3.8.2/libtiff/libtiff.la >&5
    cc: /usr/home/ports/net/freeswitch-core-devel/work/freeswitch-1.2.1/libs/tiff-3.8.2/libtiff/libtiff.la: No such file or directory

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-15 12:52:28 +02:00
Mathieu Rene bd84a23f51 set tdm pre buffer len to 200ms by default, and set it to 0 before fax calls 2012-08-14 16:22:31 -04:00
Steve Underwood 0b763a6286 Merge branch 'master' of git.freeswitch.org:freeswitch 2012-08-14 22:33:17 +08:00
Steve Underwood e30406cea6 Improvements to image translation 2012-08-14 22:32:30 +08:00
Jeff Lenk 3d9d42b798 FS-4517 --resolve 2012-08-13 21:31:46 -05:00
Jeff Lenk a293512f60 FS-4219 --resolve 2012-08-13 21:30:10 -05:00
Anthony Minessale fa5113557b stub for mod_html5 2012-08-13 15:20:41 -05:00
Anthony Minessale 61ab0b8878 libwebsocket inline configure 2012-08-13 14:29:04 -05:00
Anthony Minessale a05e414c41 fix libwebsocket build 2012-08-13 14:15:06 -05:00
Steve Underwood 5f12c3dc1c Improvements to T.4 end of image handling, and the related tests.
A lot of tiny tidy up edits
2012-08-12 22:11:06 +08:00
Steve Underwood e69a5a3037 Various little tweaks
A bug in end of image handling fixed, which could mean some T.85 images would
screw up.
2012-08-11 18:32:00 +08:00
Stefan Knoblich 2ad2b6d31b ftmod_isdn: Avoid stack smashing buffer overflow in isdn_tones_run().
The len variable can, in certain situations (large burst of incoming non-SLIN audio),
exceed the size of the on-stack frame buffer, which causes ftdm_buffer_read_loop() to
overwrite the dt_buffer pointer.

Use ftdm_min() to make sure len (after conversion to SLIN units) isn't larger
than the frame buffer size.

Also adds are couple more code comments.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-10 17:16:05 +02:00
Stefan Knoblich 036063d2a9 mod_freetdm: Fix typo.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-08-10 17:16:05 +02:00
Jeff Lenk 659c06d356 FS-4219 -- resolve windows version string. thanks Peter 2012-08-10 07:47:10 -05:00
Jeff Lenk 6e8736bb06 FS-4504 vs2008 pro still need express 2012-08-09 13:42:21 -05:00
Steve Underwood d3c89bae34 Fixed a misplaced #endif that only causes trouble when you hit the right
combination
2012-08-09 22:19:49 +08:00
Steve Underwood d1b45ae65b A couple of typos in spandsp
Improvements to image flattening in spandsp's image translate code
2012-08-09 21:58:22 +08:00
Jeff Lenk 3389f32363 FS-4504 - tweak 2012-08-08 21:29:06 -05:00
Jeff Lenk e9ce6ae0e9 FS-4504 vs2010 only - plus mod_sofia fix - anybody want to help with 2008 2012-08-08 21:18:06 -05:00
Michael Jerris 6fa2fd3678 add ws 2012-08-08 17:05:01 -05:00
Moises Silva 16692837c1 freetdm: Process OOB events even in M2UA mode 2012-08-08 09:58:41 -04:00
Steve Underwood 9a26b3a8a7 Fixed harmless typos in comments 2012-08-08 21:31:45 +08:00
Steve Underwood 42c5ab08d3 Image translate moves forward a little, towards colour support 2012-08-08 21:26:06 +08:00
Steve Underwood bb96d091fc Tweaks 2012-08-08 21:16:38 +08:00
Steve Underwood 65ffaa8ca9 Someone's been doing something odd to t30.h :-\ 2012-08-08 19:46:31 +08:00
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