Commit Graph

4269 Commits

Author SHA1 Message Date
Anthony Minessale 632c781c1c FS-7513 FS-7509: add control for png and fix bug with null args 2015-05-28 12:47:04 -05:00
Anthony Minessale 74f25524f1 FS-7513: add some controls 2015-05-28 12:47:04 -05:00
Anthony Minessale 1c6a15fde4 FS-7513: add canvas refresh to redraw gaps on overlap enter/exit 2015-05-28 12:47:04 -05:00
Anthony Minessale 09704516d7 FS-7513: fix sticky floor lock 2015-05-28 12:47:04 -05:00
Anthony Minessale ae4686013a FS-7513: add mutex 2015-05-28 12:47:04 -05:00
Anthony Minessale 628edd1183 FS-7513: add code to track media direction to avoid assigning floor or video layers to those with no signal 2015-05-28 12:47:03 -05:00
Anthony Minessale 4584e6a8e4 FS-7513: add reset on canvas change 2015-05-28 12:47:03 -05:00
Anthony Minessale 270aba6849 FS-7513: improve reservation id and layout switching with overlap 2015-05-28 12:47:03 -05:00
Anthony Minessale 16b752a957 FS-7513: don't call force on unset 2015-05-28 12:47:03 -05:00
Anthony Minessale 9bc84051f6 FS-7513: fix possible mem leak 2015-05-28 12:47:03 -05:00
Anthony Minessale 2c4c2587ed FS-7513 FS-7509: crack at screen share 2015-05-28 12:47:03 -05:00
Anthony Minessale 84074ab804 FS-7513: cleanup 2015-05-28 12:47:02 -05:00
Anthony Minessale 7307005c56 FS-7513: clear screen on unvmute 2015-05-28 12:47:02 -05:00
Anthony Minessale 704c036593 FS-7513: change name of flag to make sense 2015-05-28 12:47:02 -05:00
Anthony Minessale e65f6bd604 FS-7513: add logo func and positioning param and vid snapshot 2015-05-28 12:47:02 -05:00
Anthony Minessale eca9107498 FS-7513: add video mute and suite of controls 2015-05-28 12:47:02 -05:00
Anthony Minessale 2c1ab14074 FS-7513: add configurable FPS for conf and default to 15 2015-05-28 12:47:02 -05:00
Anthony Minessale 98db5879bd FS-7513: remove extra mutex 2015-05-28 12:47:02 -05:00
Seven Du e868e6eec9 FS-7513: refactor reset_image, we do not need the round to even anymore, actually it causes side effects 2015-05-28 12:47:01 -05:00
Seven Du 18a896d39d FS-7513: trying to fix mutex 2015-05-28 12:47:01 -05:00
Anthony Minessale b808099f6a FS-7513: try 30 again 2015-05-28 12:47:01 -05:00
Anthony Minessale 160d3bb817 FS-7513: add mutex 2015-05-28 12:47:01 -05:00
Anthony Minessale dba3f8429d FS-7513: try out 25fps 2015-05-28 12:47:01 -05:00
Anthony Minessale 1faf602251 FS-7513: basic logo 2015-05-28 12:47:01 -05:00
Anthony Minessale 521a97935e FS-7500: check in png code and put it in the core to mature 2015-05-28 12:47:00 -05:00
Anthony Minessale e84d7b8c89 FS-7513: banner control and layout bgcolor param 2015-05-28 12:47:00 -05:00
Anthony Minessale 4afc59370a FS-7513: do banner with set rect so we don't have to keep patching it in 2015-05-28 12:47:00 -05:00
Anthony Minessale 47cb08c491 FS-7513: don't attach when you don't have video 2015-05-28 12:47:00 -05:00
Anthony Minessale a8e8f2e149 FS-7513: factor conditional back out and use fixed 30FPS timer 2015-05-28 12:47:00 -05:00
Anthony Minessale 6f39539308 FS-7513: comment demo code and set bg color with new anti-alias 2015-05-28 12:47:00 -05:00
Seven Du 90ea86bc95 FS-7506 FS-7513: refactor with rgb color space to support anti aliasing 2015-05-28 12:47:00 -05:00
Seven Du a446d8411e FS-7513: clean white spaces 2015-05-28 12:47:00 -05:00
Anthony Minessale 0b496715f9 FS-7513: dup sring before chopping it up 2015-05-28 12:47:00 -05:00
Anthony Minessale 0115fa192e FS-7513: keyframe every 10 on conf 2015-05-28 12:47:00 -05:00
Anthony Minessale b2fa835a0a FS-7513: only use timer when needed 2015-05-28 12:47:00 -05:00
Anthony Minessale 0ca774e4cf FS-7513: don't need to free that 2015-05-28 12:47:00 -05:00
Anthony Minessale d7127764e8 FS-7506 FS-7513: banner update 2015-05-28 12:47:00 -05:00
Anthony Minessale 0697db4fb4 FS-7506 FS-7513: set banner with video_banner_text variable set before calling in, NEEDS DOCS params are parsable inside a {} string 2015-05-28 12:46:59 -05:00
Seven Du 9d7eef28e6 FS-7500 FS-7513: add and use switch_img_fill 2015-05-28 12:46:59 -05:00
Seven Du c857be4547 FS-7506: improve draw_text with minimum anti aliasing 2015-05-28 12:46:59 -05:00
Seven Du ff076afaae FS-7506: utf8 support of draw text 2015-05-28 12:46:59 -05:00
Seven Du 0f28311b17 FS-7506 FS-7513: refactor switch color and implement draw_text in mod_conference 2015-05-28 12:46:59 -05:00
Seven Du ba9c2f38a7 FS-7513: round screen size to even numbers to prevent green lines on edge with 1up_top_left+5 and 6x6 layouts 2015-05-28 12:46:59 -05:00
Seven Du af034b2713 FS-7513: fix compile w/o openal 2015-05-28 12:46:59 -05:00
Anthony Minessale 39253d9fd2 FS-7513: revert 2015-05-28 12:46:59 -05:00
Anthony Minessale c9e0a389bd FS-7513: remove locking 2015-05-28 12:46:59 -05:00
Anthony Minessale 1deca68e37 FS-7513: fix math on image resizing 2015-05-28 12:46:59 -05:00
Anthony Minessale 1aa66ef30a FS-7513: do layers in order and reset when attaching 2015-05-28 12:46:58 -05:00
Anthony Minessale fcf32fd53d FS-7500 FS-7513: add video bandwidth control function and use it in mod_conference 2015-05-28 12:46:58 -05:00
Anthony Minessale 8be96b106e FS-7513: refactor some screen switching and layout stuff 2015-05-28 12:46:58 -05:00
Anthony Minessale d8ce20e6bf FS-7513: clear group when switching to standard layout 2015-05-28 12:46:58 -05:00
Anthony Minessale e14ad07a26 FS-7500: move function to core 2015-05-28 12:46:58 -05:00
Anthony Minessale 8f00bd1173 FS-7513: make group change sticky when done from cli command 2015-05-28 12:46:58 -05:00
Seven Du 7764b4ea32 FS-7513: cleanup white spaces 2015-05-28 12:46:58 -05:00
Anthony Minessale 3e323e3b09 FS-7513: add auto layout advance based on group 2015-05-28 12:46:58 -05:00
Anthony Minessale a56e65bace FS-7513: add flag to choose between encoding each frame and using central encoder per codec, add parsing for floor fields and reservation fields in layouts, add param to control bandwidth for consolidated codecs, add audio-position attr to images in layout to sync with virtual HRTF 2015-05-28 12:46:58 -05:00
Anthony Minessale fa5d6af2cd FS-7513: refactor conference video muxing to create one distinct encoder per codec used and only create one encoded frame per distinct codec, store current image used by layer on the layer so it is not destroyed before the canvas is written, refactor and rearrange some functions 2015-05-28 12:46:57 -05:00
Seven Du 58a8d5daa6 FS-7513: remove extra memset since it's already garanteed in switch_core_alloc 2015-05-28 12:46:57 -05:00
Anthony Minessale 7400d73c93 FS-7513: refactor thread 2015-05-28 12:46:57 -05:00
Seven Du 74f4b1800b FS-7513: fix copy and paste error 2015-05-28 12:46:57 -05:00
Seven Du 4b1979a119 FS-7513: fix compiler warning about uninitialized var and make sure allocated memory is filled with 0 2015-05-28 12:46:57 -05:00
Anthony Minessale a6dbc2c6f8 FS-7513: fix overlap 2015-05-28 12:46:57 -05:00
Anthony Minessale 8915516c13 FS-7513: here's a story....... of a lovely feature 2015-05-28 12:46:56 -05:00
Seven Du 7bdd80499d FS-7513: fix assert 2015-05-28 12:46:56 -05:00
Anthony Minessale 91c20769ed FS-7513: conf WIP 2015-05-28 12:46:56 -05:00
Anthony Minessale 260e277f36 FS-7513: conf WIP hard code 4x4 squares in 720p more to come 2015-05-28 12:46:56 -05:00
Seven Du bc4e9704b8 FS-7513: refactor mcu code, put everyone on a canvas and send out using a dedicated thread with a constant FPS 2015-05-28 12:46:55 -05:00
Anthony Minessale d87cfae0c9 FS-7513: more conf vid WIP 2015-05-28 12:46:55 -05:00
Anthony Minessale 387cbc9dda FS-7513: WIP CONF STUFF 2015-05-28 12:46:55 -05:00
Anthony Minessale e79a24ed2b FS-7513: more floor stuff 2015-05-28 12:46:54 -05:00
Anthony Minessale deca70c270 FS-7513: adjust floor change code 2015-05-28 12:46:54 -05:00
Anthony Minessale d2bbd50791 FS-7513: tweak locking on video read callback 2015-05-28 12:46:54 -05:00
Anthony Minessale d56a681f0a FS-7513: reduce complexity of video_bridge feature 2015-05-28 12:46:54 -05:00
Anthony Minessale 9e4eff192f FS-7513: fix vid floor logic 2015-05-28 12:46:54 -05:00
Anthony Minessale d026624631 FS-7513: restore video relationships and refactor conference to use video_read callbacks instead of its own thread and change behavior so video floor holder never sees their own video unless they are the only one with video in the conference 2015-05-28 12:46:54 -05:00
Anthony Minessale 753f49fe32 FS-7517: use start and end bits 2015-05-28 12:46:51 -05:00
Anthony Minessale f5346bfe80 FS-7517: Reset context->nalu_28_start on mark bit - This makes FU-A parsing work 2015-05-28 12:46:51 -05:00
Anthony Minessale 970064294c FS-7500: refactoring 2015-05-28 12:46:50 -05:00
Anthony Minessale 01aea82cbe FS-7519: add debug line 2015-05-28 12:46:49 -05:00
Anthony Minessale 2ea12656ea FS-7500: improvement for conf vid 2015-05-28 12:46:49 -05:00
Seven Du e3ffa73636 FS-7519 FS-7517: looks like decoders don't decode FU-A bit steams, this is a simple implementation that works with some FU-A bit streams, mod_av works better most cases 2015-05-28 12:46:49 -05:00
Seven Du 978748ed09 FS-7519: set encoder zerolatency 2015-05-28 12:46:49 -05:00
Anthony Minessale 853873725b FS-7500: factor out the write_image callback and fix the vlc video endpoint to setup and match the audio params of the A leg when bridged 2015-05-28 12:46:48 -05:00
Anthony Minessale 01fda5748c FS-7500: another round of trying to make things work 2015-05-28 12:46:48 -05:00
Seven Du 81bec5ebd0 FS-7519: add missing deps 2015-05-28 12:46:48 -05:00
Anthony Minessale 2e1bdfb24a FS-7519: add automistake for mod_av 2015-05-28 12:46:48 -05:00
Seven Du 5ce10274e1 FS-7500: use the new video function instead of start a new thread in record_fsv 2015-05-28 12:46:48 -05:00
Seven Du ba43facf91 FS-7500: fix play_fsv for WebRTC 2015-05-28 12:46:48 -05:00
Seven Du dcb9d3c99e FS-7519: rename mod_ffmpeg to mod_av 2015-05-28 12:46:48 -05:00
Seven Du 4c95ae0510 cleanup mod_ffmpeg 2015-05-28 12:46:48 -05:00
Anthony Minessale b90d24a05f FS-7513: fix video switching in conference 2015-05-28 12:46:48 -05:00
Anthony Minessale 79bc5bcda2 FS-7513: add video decode conference flag 2015-05-28 12:46:47 -05:00
Anthony Minessale fbe347ead4 add mod_ffmpeg 2015-05-28 12:46:47 -05:00
Anthony Minessale c874fe05d8 FS-7500: SQUASH ME WITH THE LAST ONE 2015-05-28 12:46:47 -05:00
Anthony Minessale b8ba1a1469 FS-7500: reduce CNG frames on video and move debug from mod_fsv to the core with a flag to enable it since the raw packet is not available anymore when you set DECODED READ flag 2015-05-28 12:46:47 -05:00
Anthony Minessale c584bf5511 FS-7500: reverse default for CF_VIDEO_ECHO to false and now it must be enabled when desired instead of disabled when not needed 2015-05-28 12:46:47 -05:00
Anthony Minessale 4dc155f164 FS-7500: add switch_core_session_raw_read to put session into raw read mode without needing a local codec var (WE SHOULD REFACTOR MUCH OF switch_ivr_* to use this...) and add echo_decode_audio option to echo app 2015-05-28 12:46:47 -05:00
Anthony Minessale a74b6f62a2 FS-7500: fix some of the debugging tools 2015-05-28 12:46:46 -05:00
Seven Du 55c5f1da1f FS-7500: fix decode_video App 2015-05-28 12:46:46 -05:00
Seven Du 3c7fc85a31 FS-7500: add more example yuv files 2015-05-28 12:46:46 -05:00
Anthony Minessale 1093139271 FS-7500: make play_yuv silent since opus echo tends to kill chrome 2015-05-28 12:46:45 -05:00
Seven Du 2d49b33002 FS-7500: fix follows the last refactor of core code 2015-05-28 12:46:45 -05:00
Anthony Minessale 0cd5658caa FS-7500: another refactoring pass, temp code still in place, WORK IN PROGRESS 2015-05-28 12:46:44 -05:00
Brian West cd98ec85e2 fix line endings 2015-05-28 12:46:43 -05:00
Seven Du 3466a2e468 FS-7500: fix and use 32bit timestamp, frame->timestamp is defined as switch_size_t and not always 32bit 2015-05-28 12:46:43 -05:00
Seven Du 055de41484 FS-7513: let the core thread to read video if vid-floor in conference already locked-hold by someone else 2015-05-28 12:46:43 -05:00
William King 4fc94e3907 FS-7500 S-7513: Few build fixes 2015-05-28 12:46:43 -05:00
Seven Du 99ed41a4bd FS-7513: Example code to use the core video thread with a custom callback
It by default remains the default behaviour

However, you can setup a relationship between members to let the
member choose to see anyone else but the floor, e.g.:

  conference 3000 relate 1 2 sendvideo

In the above command member 2 will see member 1's video regardless
member 1 has video floor or not
2015-05-28 12:46:43 -05:00
Seven Du 422a1f0419 FS-7513: show relationships 2015-05-28 12:46:43 -05:00
Seven Du 48c1363476 FS-7513: force floor on member join 2015-05-28 12:46:43 -05:00
Seven Du ea2f00b3d9 FS-7500: refactor to use switch_core_video
added switch_core_codec_encode_video and switch_core_codec_decode video and add separate video implementations
the switch_core_video code depends on libvpx, wraped into the switch_ namespace like switch_apr, need to figure out how to find the correct libvpx lib in autotools
2015-05-28 12:46:42 -05:00
Seven Du 71cafe536b FS-7500: add decode_video App 2015-05-28 12:46:42 -05:00
Seven Du 74d6db8809 FS-7514: refactor timestamp code 2015-05-28 12:46:42 -05:00
Seven Du c9a13474a4 FS-7517: add play_yuv to test encoder 2015-05-28 12:46:42 -05:00
Seven Du 67334bea27 FS-7513: [mod_conference] video recording in conference
conference 3000 record /tmp/testrecord.fsv
call 9194 try to playback
mp4 should also work with the mp4 file format, will be available soon
2015-05-28 12:46:41 -05:00
Seven Du a7b6ef0888 FS-7500: [mod_fsv] fix fsv sample_count and mux of channels 2015-05-28 12:46:41 -05:00
Italo Rossi 890991cd28 FS-7569 mod_callcenter - Tracking queue strategy changes to avoid stuck members 2015-05-25 15:00:14 -03:00
Chris Rienzo 25f2f18c5f FS-7557 fix crash when doing 'limit_usage mongo foo bar' 2015-05-15 08:43:00 -04:00
Chris Rienzo 13513439ba FS-7557 mod_mongo add limit backend - still testing 2015-05-14 17:19:42 -04:00
Steve Underwood b156cbd604 A slightly mroe elegant an commented fix for the potential overflow issue in udptl.c 2015-05-12 12:00:04 +08:00
Michael Jerris dbc550a26d FS-7184: add buffer overflow check in udptl_rx_packet 2015-05-11 19:46:27 -05:00
Italo Rossi 1bc241922e FS-7464 mod_callcenter moh-sound needs to be expanded when containing variables. 2015-05-03 20:25:42 -03:00
Chris Rienzo d8d3db284c FS-7496 [mod_http_cache] lookup file extension from content-type if missing in URL 2015-04-30 16:06:19 -04:00
Brian West d29c2d74b6 FS-7496 #resolve strip url args after the file extension 2015-04-30 14:29:21 -04:00
Chris Rienzo b28f7acac1 FS-7496 Updated mime.types, added switch_core_mime_type2ext function and used it in mod_httapi. Now, file extensions defined in mime.types will be applied if mod_httapi downloads a file without one. 2015-04-30 14:24:41 -04:00
Victor Torres 69d5333bfc FS-7445 fixes cc_outbound_cid_name_prefix 2015-04-17 18:50:16 -03:00
Brian 40441413e0 Typo from previous convenience app commit 2015-04-16 07:50:07 -05:00
Brian 6a4c2b3406 convenience app 2015-04-15 17:01:12 -05:00
Chris Rienzo c6ef0558ff FS-7406 added deduplicate_dtmf application 2015-04-01 14:08:49 -04:00
Chris Rienzo 21d1e6fc4b FS-7378 play_and_detect_speech: protect against NULL result 2015-03-18 15:30:12 -04:00
Jeremy Childs 669d613777 FS7750: When using the api command group, there is no way to return the contact list separated by :_:, which is required to group call extensions that have been multiply-registered. 2015-03-06 14:39:53 -07:00
Anthony Minessale II b448953fab Merge pull request #206 in FS/freeswitch from ~ARTURZ/freeswitch:FS-7306-fs_encode-sleep-cleanup to master
* commit '921f77668f39ee9a768c0515dba054f99cf0bd75':
  FS-7306: fs_encode is sleeping to much - cleanup
2015-03-06 11:31:56 -06:00
Anthony Minessale 5a96512345 FS-7305 #resolve 2015-03-06 16:44:53 -06:00
Michael Jerris 3a70750b42 FS-7340: remove all build system references to json-c because we are no longer using it anywhere 2015-03-04 14:06:18 -05:00
Mike Jerris 3c9711f160 Merge pull request #213 in FS/freeswitch from ~MISHEHU/freeswitch:bugfix/FS-7340-mod_curl-json-api-change to master
* commit '5303101df05a01e82060df253d68d14a44f4260b':
  FS-7340: Converting the json handling to use the types and functions in switch_json.h .
2015-03-04 12:37:07 -06:00
Yossi Neiman 5303101df0 FS-7340: Converting the json handling to use the types and functions in switch_json.h .
FS-7340:  mod_curl: Missed a free.

FS-7340:  mod_curl:  Saved a few lines of code, added a check for successful allocation of cJSON structures.
2015-03-04 12:24:04 -06:00
Michael Jerris b3cb89a1fb FS-7342: regression from FS-7230 957c8fc9. Don't destroy buffers we are currently using, only create them if they are not yet created 2015-03-04 11:35:08 -05:00
Chris Rienzo e338b8865b FS-7346 #resolve #comment update mod_mongo driver to 1.1.0 2015-03-04 09:06:10 -05:00
Chris Rienzo 3cd481820e FS-7323 #resolve #comment [mod_http_cache] added http_remove_cache <url> API call to manually expire a cached URL.
Added {refresh=true} parameter that can be prefixed to URL to force refresh when using http:// https:// file formats or the http_get API.
Examples:
    http_remove_cache http://phono.com/audio/troporocks.mp3
    http_get {refresh=true}http://phono.com/audio/troporocks.mp3
    <action application="playback" data="{refresh=true}http://phono.com/audio/troporocks.mp3"/>
2015-02-25 09:43:38 -05:00
Brian West a41505f66b FS-7313 #resolve any further issues in this code it will just be removed 2015-02-23 16:38:20 -06:00
Italo Rossi e4f22c82fc https://freeswitch.org/jira/browse/FS-7126 fix variable expansion in translate api when there is no session involved. 2015-02-23 13:45:25 -03:00
Brian West 17585e831a FS-7307 #resolve dont session log in an api command as there is no session 2015-02-23 09:48:08 -06:00
Artur Zaprzała 921f77668f FS-7306: fs_encode is sleeping to much - cleanup 2015-02-23 11:18:57 +01:00
Anthony Minessale 609c02955f fix the thing the guy mentioned on irc 2015-02-21 00:49:18 -06:00
Brian West 957c8fc910 FS-7230 #comment try this #resolve 2015-02-20 12:41:48 -06:00
Anthony Minessale b66aa6af92 FS-7306 #comment fix both ways 2015-02-20 18:10:01 -06:00
Mike Jerris 1c3f3e2d39 Merge pull request #182 in FS/freeswitch from ~CXREG/freeswitch-memcache-file:eavesdrop_bridge_single_leg to master
* commit '2890afc9184b142c931a98fff267d408e807b862':
  FS-7285 allow eavesdrop to bridge only one leg
2015-02-20 11:27:12 -06:00
Anthony Minessale f4aaeedb0c FS-7306 #resolve 2015-02-19 23:06:41 -06:00
Brian West 9fe512805b FS-7301 #comment set the tx-reinvite-packet-count to 400, seems we are too fast for the remote in this case which is causing your failure #resolve 2015-02-19 14:43:58 -06:00
Marc Olivier Chouinard 01b01c5e37 Merge pull request #194 in FS/freeswitch from ~ARTURZ/freeswitch:FS-7298-race-condition-when-callcenter-member to master
* commit '0df4085c3dbd3a4bfbc602153e86b7b1b7f0f617':
  Fix race condition when callcenter member cancels the call.
2015-02-18 15:02:50 -06:00
Brian West 3ad1628ff0 FS-7230 #resolve #comment please update 2015-02-18 09:21:00 -06:00
Artur Zaprzała 0df4085c3d Fix race condition when callcenter member cancels the call. 2015-02-18 14:26:02 +01:00
Michael Jerris 302a339fdf FS-7294: Enable -Werror when building with clang compiler #resolve 2015-02-17 12:20:33 -05:00
Dave Olszewski 2890afc918 FS-7285 allow eavesdrop to bridge only one leg
Add channel variables eavesdrop_bridge_aleg and eavesdrop_bridge_bleg,
and if one is set to true on the eavesdrop channel, bridge that leg from
the target.  If neither is specified, bridge both.
2015-02-14 14:45:15 -08:00
Anthony Minessale 5904bec1b6 FS-7236 refactor to fix audio problem from 7c6367052c 2015-02-12 16:44:55 -06:00
Chris Rienzo 30917dd19c FS-7265 #resolve #comment [mod_mongo] add mongo_find_n API 2015-02-11 11:55:46 -05:00
Mike Jerris 7c6367052c FS-7236: fix mutex use before init error caused by 27c8622 2015-02-09 11:23:58 -06:00
Michael Jerris 9e15c4e5b5 FS-7236: fix code before declaration 2015-02-05 12:45:14 -05:00
Anthony Minessale 27c8622eab FS-7236 #resolve 2015-02-05 16:53:07 -06:00
E. Schmidbauer 521b303701 change event header 'call-direction' to 'presence-call-direction' 2015-02-03 16:37:38 -05:00
Michael Jerris dc071a1345 FS-7214: [mod_memchace] fix seg caused by bad command argument bounds checking for flush and deleete 2015-01-29 10:41:51 -06:00
Brian West b2c6d70cc8 FS-7208 #comment _undef_ as the header and/or ident will make it be an empty string which is the same you were doing on your local builds #resolve 2015-01-29 08:25:01 -06:00
E. Schmidbauer 01dcb74f33 FS-7187 add switch_cache_db_create_schema() to test for SCF_AUTO_SCHEMAS flag 2015-01-22 15:41:22 -05:00
Anthony Minessale f770b318cf FS-7106 #resolve 2015-01-21 18:59:05 -06:00
Anthony Minessale 59a9669485 prevent crash when calling mediaStats JSON function in certian circumstances 2015-01-13 21:49:41 -06:00
Simon Ditner 85b8631d62 Add conference member data to floor event
Between v1.2 and v1.4, member data was factored out. This makes it so
that one can not determine who the originator of a floor change event
is.

With this change, the meta data related to the conference member whom
initiated the floor change event is added to the event.

See FS-7136
2015-01-06 12:43:16 -05:00
Brian West 1965b3b18d FS-7106 #resolve Fix concurrency issue 2014-12-30 09:06:32 -06:00
Aron Podrigal 2cad5a6940 more whitespace cleanup 2014-12-29 13:24:21 -05:00
Aron Podrigal 6be85bbef5 fixed indentation 2014-12-27 23:44:03 -05:00
Aron Podrigal ff2729c370 cleanup 2014-12-27 23:10:43 -05:00
Travis Cross 750b1dd807 Allow streaming binary data from mod_memcache
Previously data returned from `memcache get` would be truncated at the
first NULL byte.

By using raw_write_function here to stream the returned memcache
value, we allow mod_memcache to be used for audio and other arbitrary
binary data.

Dave has a format module planned that relies on this.

Thanks-to: Dave Olszewski <dolszewski@marchex.com>

FS-7114 #resolve
2014-12-28 00:42:01 +00:00
Aron Podrigal 3e11bf0d22 cond api return -ERR on all syntax errors 2014-12-25 10:34:37 -05:00
Travis Cross bca7216fdd Run dos2unix on mod_expr HTML files 2014-12-25 10:38:10 +00:00
Travis Cross 65e678ba1d Fix mod_expr `clamp` function
The clamp(v,a,b) function wraps v around the interval [a,b).

However prior to this commit, `clamp` was ignoring the third argument
and using the second argument again in its place.  This resulted in a
division by zero.  Hence `clamp` didn't work at all.

Even if the arguments were treated correctly, `clamp` incorrectly
multiplied rather than added whenever v < a.  This would have produced
bogus results.  (Thanks to Shona McNeill for pointing this out.)

Note that as implemented, `clamp` is undefined for b >= a.

These errors are present in the last upstream C version, v2.7.
They've been corrected in the C++ version that upstream now maintains
instead.

Thanks-to: Shona McNeill <prufrax@googlemail.com>

FS-7070 #resolve
2014-12-25 10:18:31 +00:00
Aron Podrigal 625c95a5b1 FS-5945 - cond api improved 2014-12-24 21:22:23 -05:00
Mike Jerris 85ff3ae3f7 Merge pull request #80 in FS/freeswitch from ~TCSEKE/freeswitch-fs-4930:master to master
* commit '83acda04131c17469fd0fbe0cb4597c15466bfe5':
  file_string write failover FS-4930
2014-12-22 13:34:59 -06:00
William King 0a0b9262b4 Build fix for gcc 4.9 fixing a variable set but not used error 2014-12-20 14:46:21 -08:00
Anthony Minessale 5fcff501b6 FS-7093 %FEATURE #resolve #comment added to master 2014-12-20 18:29:44 -06:00
Dmitriy N. Borisov 42ecb3390e list_users tipo correction 2014-12-19 11:04:54 +03:00
Moises Silva d786490584 Fix timestamps in mod_bert broken by the cpu improvements refactoring 2014-12-18 02:04:05 -05:00
Aron Podrigal ca2d2c9b66 FS-5945 - cond api escape special charactars 2014-12-15 14:23:33 -05:00
Moises Silva 17574a88e4 Add bert stats to mod_bert::lost_sync event
The following values can be read from the event:

sync_lost_percent - Error percentage within the analysis window
sync_lost_count - How many times sync has been lost
cng_count - Counter of confort noise packets
err_samples - Number of samples that did not match the sequence
2014-12-15 00:21:03 -05:00
Moises Silva 42acb62120 Improve mod_bert cpu efficiency
* Use memmem() and memcmp() for pattern checks
* Use a static pre-built buffer for the write frame
2014-12-15 00:21:03 -05:00
Marc Olivier Chouinard e1cb0e8632 Merge pull request #127 in FS/freeswitch from ~ITALOROSSI/freeswitch:mod_callcenter-queue-list-count-by-state to master
* commit 'f63f8686bc8da391b3c46b24e10571215c8b377f':
  FS-7049 - Documentation for state optional paramenter in callcenter_config queue list and count
  fix FS-7049 - Count and list agents based on their state
2014-12-11 21:01:03 -06:00
Italo Rossi f63f8686bc FS-7049 - Documentation for state optional paramenter in callcenter_config queue list and count 2014-12-11 23:43:03 -03:00
Marc Olivier Chouinard df6ea843e4 Merge pull request #133 in FS/freeswitch from ~HDIOGENES/freeswitch-fs-7018-2:master to master
* commit '1bcdb49bced4be339d73532181fe6fa3938d0bd8':
  Fix JIRA (FS-7018): mod_callcenter's longest-idle-agent strategy is unfair
2014-12-11 17:16:47 -06:00
Anthony Minessale 5ca609e637 factor channel count into flush len 2014-12-08 20:36:25 -06:00
Humberto Diógenes 1bcdb49bce Fix JIRA (FS-7018): mod_callcenter's longest-idle-agent strategy is unfair 2014-12-04 16:12:20 -03:00
Italo Rossi 80649df65c fix FS-7049 - Count and list agents based on their state 2014-12-02 22:57:43 -03:00
Mike Jerris 74f243bc3b Merge pull request #95 in FS/freeswitch from ~ITALOROSSI/freeswitch:master to master
* commit 'f87c335e8a49da7b0a2b6f19b45f285f6355e2e0':
  Only waiting for agent channel to hangup.
2014-11-19 15:32:19 -06:00
Brian West 7c0da5cc40 FS-6957 fix regression 2014-11-17 10:36:03 -06:00
Michael Jerris 250234da76 FS-5800: [mod_curl] add support for additional curl auth methods 2014-11-17 11:01:35 -05:00
Michael Jerris f198d82bac FS-5666: [mod_redis] add ignore_connect_fail config setting to not kill the call when redis is down when using redis backend for limit 2014-11-17 10:29:47 -05:00
Travis Cross f1df8d6096 Allow setting CURL timeout from curl API command
Previously the `timeout` option to the curl API command set only
`CURLOPT_CONNECTTIMEOUT` -- the maximum amount of time that curl will
wait to connect to the server.  If the server accepted the connection
but then never replied, curl would wait essentially forever.  There
was no way to set `CURLOPT_TIMEOUT` -- the maximum amount of time the
entire request operation is allowed to take.

With this change, the `timeout` option sets `CURLOPT_TIMEOUT`.  We've
earlier added a `connect-timeout` option to set
`CURLOPT_CONNECTTIMEOUT`.

This is a change to existing behavior.  However, it's likely that this
is what people expected it to do all along.  The curl application
call, for example, accepts both `curl_connect_timeout` and
`curl_timeout` channel variables, with the latter setting
`CURLOPT_TIMEOUT`.

If people really were relying on this odd behavior, we'll rename the
option with the new behavior to something else and come up with a
transition plan.
2014-11-16 19:31:00 +00:00
Travis Cross 1ee325df48 Add `connect-timeout` option for curl API command
This option sets the maximum number of seconds that curl will wait to
connect with the server.

Right now this is a synonym for the `timeout` option.
2014-11-16 19:31:00 +00:00
Chris Rienzo dd61232163 FS-6979 #resolve #comment mod_http_cache: added base-domain config to s3 profiles so mod_http_cache can access self hosted s3 compatible service.
Example configuration:

  <profiles>
    <profile name="s3">
       <!-- Credentials for AWS account. -->
       <aws-s3>
          <!-- 20 character key identifier -->
          <access-key-id><![CDATA[AKIAIOSFODNN7EXAMPLE]]></access-key-id>
          <!-- 40 character secret -->
          <secret-access-key><![CDATA[wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY]]></secret-access-key>
          <base-domain><![CDATA[example.com]]></base-domain>
       </aws-s3>
       <!-- Domains that this profile applies to -->
       <domains>
          <domain name="bucket.example.com"/>
          <domain name="bucket2.example.com"/>
       </domains>
    </profile>
  </profiles>
2014-11-13 10:20:02 -05:00
Nathan Neulinger dbc5571594 FS-6983 wrap new curl TLS macro usage with ifdefs 2014-11-11 16:26:44 -06:00
Anthony Minessale 33d37ce0f5 PLIV-13 #resolve 2014-11-11 14:51:19 -06:00
Anthony Minessale 0c68bb6d89 FS-6957 #resolve 2014-11-11 13:37:46 -06:00
Mike Jerris bf7c161d36 Merge pull request #68 in FS/freeswitch from ~HRISTO/freeswitch:interrupt-conf-moh to master
* commit '94278b5e545b58bad784a95da6181fc5f299457f':
  allow enter and exit sounds to interrupt the MOH in a wait_mod conference
2014-11-07 08:09:05 -06:00
Mike Jerris 9939671b50 Merge pull request #102 in FS/freeswitch from ~AMARUS_CAMERON/freeswitch:mod_fifo-outbound_per_cycle_min to master
* commit '1944f9a5ee63ec51bed1bfb900072d168a81d004':
  FS-6968 Changes to mod_fifo.c to add outbound_per_cycle_min
2014-11-07 08:06:54 -06:00
Aaron Paolozzi 1944f9a5ee FS-6968 Changes to mod_fifo.c to add outbound_per_cycle_min 2014-11-06 19:21:58 -05:00
Chris Rienzo 0e9e8a9bd6 Renaming mod_spandsp's cadence + tone detection APPs and APIs (start_tone_detect / stop_tone_detect) to
spandsp_start_tone_detect and spandsp_stop_tone_detect to resolve conflict with mod_dptools'
tone_detect/stop_tone_detect APPs.
2014-11-06 14:46:56 -05:00
Hristo Trendev 94278b5e54 allow enter and exit sounds to interrupt the MOH in a wait_mod conference
This patch does the following:
* only starts MOH if no other file (sync or async) is currently playing
* adds a variable "conference_permanent_wait_mod_moh" that controls the
  behavior of how the enter and exit sounds interact with the MOH when
  wait_mod is set. When the variable is set, the MOH keeps playing and
  the enter and exit sounds are mixed with the MOH. When the variable
  is unset, then any playing MOH is first stopped, then the enter or
  exit sound is played and the MOH is started again.

This functionality is useful in case the enter and exit sounds are
used to announce the name of the caller, who is joining or leaving a
conference.

FS-5159 #resolve
2014-11-06 19:32:17 +01:00
Mike Jerris fbe81ff886 Merge pull request #69 in FS/freeswitch from ~HRISTO/freeswitch:conference-flags to master
* commit '3695bdd9e4e0d925ab7296d2f4ce120bf656f623':
  set conference flags from a dial plan variable or via +flags{ }
2014-11-05 16:25:40 -06:00
Brian West 8478874ab9 FS-6831 while you can already unset by calling set with var=, same with set in dialplan this is a convience function similar to our unset in dialplan 2014-11-05 09:44:24 -06:00
Anthony Minessale 8f3c157f12 FS-6957 #resolve 2014-11-03 11:32:40 -06:00
Italo Rossi f87c335e8a Only waiting for agent channel to hangup.
If the member do an attended transfer this loop stops and
the agent is set to Available state again, when in fact he still
busy with other channel.

This was happening, for example, when a member calls support queue, then
the support operator do an attended transfer to sales queue, while the sales
operator is talking the member that was transferred, the sales queue will
send calls to the operator, which is not expected.
2014-11-03 12:02:03 -03:00
Anthony Minessale 30e793a7ef fix missing paren in logic for hard mute enter muted mode 2014-10-29 12:16:32 -05:00
Anthony Minessale 5488757917 FS-6950 #resolve 2014-10-28 15:01:08 -05:00
Anthony Minessale d1e529aefd Add new hard_mute control to allow apps to request low level mute e.g. from the rtp stack level. Its used in mod_conference to avoid reading audio while muted and possibly reduce some transcoding load 2014-10-27 15:13:42 -04:00
Thomas Kleffel f5f6d15709 add command 'action' with types 'reboot', 'reset', 'dialeddel', 'misseddel', 'receiveddel' 2014-10-14 23:26:48 +02:00
Thomas Kleffel 412f214809 Fix url encoding for snom remote commands (required to make # key work) 2014-10-14 22:31:40 +02:00
Marc Olivier Chouinard 2ca349a3f8 FS-6910 #resolve Multiple entry with the same first, last name or extension in the directory would only return 1 entry. Fix issue where group by would produce multiple row of count(*) result. Using distinct instead wouldn't solve the issue in SQLITE because of a bug, so solution is to use a subselect. 2014-10-14 09:53:12 -04:00
Anthony Minessale 2514de94d2 fix obvious seg in setting a record file name to every participant and not checking for the recording member which does not have a session 2014-10-07 12:48:58 -05:00
Markus von Arx eaaf9468df FS-6897: uuid_send_info enhancement that allows setting the Content-Type of the SIP INFO message 2014-10-07 10:59:37 +02:00
Michael Jerris afd6875d6b FS-6781: #resolve #comment lets change this to always do confirm to match the other place where we set this 2014-10-03 16:53:38 -04:00
Michael Jerris 0d1f5d09b3 add way to globally disable system commands by setting global var disable_system_api_commands=true 2014-10-03 12:17:33 -04:00
Jeff Lenk ae5d86515a FS-6884 #comment these were mostly simple warnings 2014-10-02 19:20:35 -05:00
Tamas Cseke 83acda0413 file_string write failover FS-4930 2014-10-02 09:16:01 +02:00
Hristo Trendev 3695bdd9e4 set conference flags from a dial plan variable or via +flags{ }
This patch allows conference flags to be set dynamically from the
dial plan by either passing them to the conference application in
the +flags{ } string or by setting the "conference_flags" dial plan
variable.

The +flags{ } string is currently used to set *user* flags only.
This patch changes this by allowing the +flags{ } string to contain
conference related flags as well (for example wait_mod). It shouldn't
be a problem to pass both types of flags via +flags{ } as long as
the user and conference flag names are kept unique.

FS-5099 #resolve
2014-09-30 11:31:03 +02:00
Brian West 0767191769 FS-6803 try this, less is more 2014-09-25 15:10:11 -05:00
Travis Cross 0cc7bc8db6 Add missing CURLOPT_NOSIGNAL options
To work correctly in a multi-threaded environment, curl needs to be
used with CURLOPT_NOSIGNAL set to 1.  If it's left at zero, the
default, then curl will use signals to deal with timeouts which will
often result in a crash.

ref: http://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Multi-threading
ref: http://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html
ref: http://stackoverflow.com/questions/9191668/error-longjmp-causes-uninitialized-stack-frame
ref: https://bugzilla.redhat.com/show_bug.cgi?id=539809
ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570436
2014-09-23 00:04:21 +00:00
Seven Du f78007766b don't reset when video floor is locked
when video floor is locked by a member, changing audio floor on del_member
will cause the video floor lock cleared unexpectedly, this commit fixes that.
2014-09-16 19:15:12 +08:00
Travis Cross 622e0e1a6f Check for null hash on increment of mod_hash limit
When we specifically release all limits on a channel we destroy the
hash table stored in the "limit_hash" private channel data but we
don't destroy the private data as it will be reclaimed as part of the
session.  If limit increment is called after the limit release we can
reuse that channel private, but we need to check whether the hash
table is null first.  Fortunately this makes the code look better
anyway.

FS-6775 #resolve
FS-6783 #resolve
2014-09-11 17:47:57 +00:00
Anthony Minessale ce5d21106e FS-6761 #resolve 2014-09-11 03:29:07 +05:00
Moises Silva 89e8e14a9f Improvements to mod_bert
* Honor the timer name variable

* Added mod_bert::in_sync event when the stream is in sync
2014-09-09 04:07:13 -04:00
Moises Silva 25c6276fea Added cng counter to the bert test app 2014-09-09 04:07:13 -04:00
Moises Silva 557a4a8580 Treat CNG as a silent frame in mod_bert 2014-09-09 04:07:12 -04:00
Moises Silva 58e47748ca Only use a timer if bert_timer_name is specified, otherwise time based on input 2014-09-09 04:07:12 -04:00
Moises Silva cf2fd15211 Add BERT events for timeout and out of sync in mod_bert 2014-09-09 04:07:12 -04:00
Moises Silva 3248e06b91 Add timer to mod_bert to avoid relying on remote RTP for timing 2014-09-09 04:07:12 -04:00
Moises Silva ef694513df Improvements to mod_bert
* Added BERT stats channel variables

* Check if the channel is going down when out of sync to avoid flagging it
  as out of sync, if the channel is going down it is expected to have some errors
2014-09-09 04:07:12 -04:00
Moises Silva a84ce1dd3c Improvements to mod_bert
* Improve bert input debug
* Check for SFF_CNG and ignore those frames
2014-09-09 04:07:11 -04:00
Moises Silva d3b214a672 Improvements to mod_bert
* Use digital milliwatt as the test sequence pattern
* Add debug IO files (enabled using bert_debug_io_file variable)
2014-09-09 04:07:11 -04:00
Moises Silva a60876b165 Use a triangle wave in mod_bert 2014-09-09 04:07:11 -04:00
Moises Silva 66a9e12aa8 Improvements to mod_bert
* Calculate sampling error rate over a time window

* Create the following variables to control bert testing behavior:
  bert_timeout_ms - Milliseconds to wait for bert sync before timing out
  bert_window_ms - Window of time to calculate sampling error rate percentage
  bert_max_err - Max percentage of error tolerated before going out of sync
  bert_hangup_on_error - Hangup when error occurs (Timeout or going out of sync)
2014-09-09 04:07:11 -04:00
Moises Silva fa3a1a0bdd Added mod_bert module 2014-09-09 04:07:02 -04:00
Andrew Cassidy 6753ccf65d Missed one of the variable changes! 2014-09-08 19:18:43 +01:00
Brian West bb8e4bd1bb FS-6803 #resolve 2014-09-08 11:25:52 -05:00
Travis Cross 57bd4eb9bd Add `valet_park ... auto out ...` to syntax string
FS-5992 #resolve
2014-09-04 20:40:53 +00:00
Michael Jerris 56e4afb209 FS-6595: Enable pause_play and file_seek for conference member fnode #resolve 2014-09-04 15:56:15 -04:00
Travis Cross 7d11e19983 Check for null hash or private while holding lock
What if the hash were destroyed by one thread holding the lock while
another thread was waiting for the lock?  The waiting thread would
have already checked that the hash was non-null and would proceed on
that assumption after acquiring the lock.

With this commit we check only after acquiring the lock.

ref: FS-6783
ref: FS-6775
2014-09-03 19:45:45 +00:00
Travis Cross 82a28e76e4 Re-fix memory leak
After consideration, this still looks correct.

Thanks-to: Anthony Minessale <anthm@freeswitch.org>

ref: FS-6783
ref: FS-6775
2014-09-03 19:44:43 +00:00
Travis Cross 8c0a1d17e2 Reintroduce memory leak in mod_hash to avoid crash
ref: commit 3e24b3e2c2
ref: FS-6783
ref: FS-6775
2014-09-03 18:16:11 +00:00
Giovanni Maruzzelli 5c15e85ce4 mod_spandsp: added SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE on application errors 2014-09-03 15:52:50 +02:00
Travis Cross acb439ca03 Avoid leaking memory while iterating hash tables
`switch_core_hash_first` allocates an iterator on each call that is
never freed except when the hash table is empty.

By using `switch_core_hash_first_iter` we allocate only one iterator,
and that iterator is freed after the last item is processed.
2014-08-30 03:49:51 +00:00
Travis Cross df559e0aac Add back goodness refactored out 2014-08-30 01:32:57 +00:00
Travis Cross 9481d9843c Fix comment spelling 2014-08-30 01:19:09 +00:00
Travis Cross 6f2eac6876 Fix comment spelling 2014-08-30 00:52:16 +00:00