Commit Graph

233 Commits

Author SHA1 Message Date
Anthony Minessale 1f9025d446 FS-6926 #resolve #comment please test and reopen if necessary 2014-10-16 17:57:46 -05:00
Anthony Minessale e245e90761 fix some jitterbuffer constants 2014-10-13 13:05:57 -05:00
Anthony Minessale 9bd3bd30d3 FS-6911 #resolve 2014-10-13 10:36:51 -05:00
Hristo Trendev d48057e23f account for lost frames during ptime detection
This allows the "broken ptime" detection to work correctly when packet
loss is present on the wire. In addition to the timestamps this patch
adds frame sequence tracking and corrects the timestamp difference
only as needed and according to the number of lost packets.

FS-6898 #resolve
2014-10-09 11:37:52 +02:00
Anthony Minessale f7210b2402 some more changes relates to new bypass media controls 2014-10-03 18:43:23 -05:00
Anthony Minessale b2ae5f4cc2 few bugs on recent new features 2014-10-03 15:36:23 -05:00
Jeff Lenk d52cb335db fix trivial vs2010 build errors 2014-10-02 19:47:05 -05:00
Anthony Minessale 8db31f976f fix some recovery issues with dynamic payloads 2014-10-02 18:34:00 -05:00
Anthony Minessale 10a3fa55ef %FEATURE add bypass_media_resume_on_hold and bypass_media_after_hold variables to be set to true to enable these functions on a per channel basis 2014-10-02 17:49:09 -05:00
Anthony Minessale 6bfc05b81e FS-6887 #resolve #comment new bug flag always_auto_adjust (also implicitly sets accept_any_packets) 2014-10-02 11:55:53 -05:00
Anthony Minessale 789e1481ed FS-6880 #resolve #comment I would think that in real life once the call agreed on a codec it would only offer the negotiated codecs but we can fix this to always filter for good measure. I am not sure what the ramifications are of filtering responses but I think this patch will do so as well. 2014-10-01 13:03:50 -05:00
Anthony Minessale 24084adf77 %FEATURE Add new feature to filter the SDP on bypass_media calls to remove or limit codecs.
VARIABLE: bypass_media_sdp_filter

Can be set globally or per leg on the inbound side of a bypass_media bridge.

VALID FILTERS:

remove(): Removes the specified codec if it exists in the SDP.
only():   Removes all codecs besides the one specified (providing that it exists in the sdp) (will not remove telephone-event))

EXAMPLE 1 (remove everything leaving only g729):

  <action application="set" data="bypass_media_sdp_filter=only(g729)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>

EXAMPLE 2 (remove everything leaving only g729 and also remove dtmf):

  <action application="set" data="bypass_media_sdp_filter=only(g729)|remove(telephone-event)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>

EXAMPLE 3 (remove alaw and speex):

  <action application="set" data="bypass_media_sdp_filter=remove(pcma)|remove(speex)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>
2014-10-01 01:28:10 +05:00
Hristo Trendev fbe857e6fa fix ptime from known broken endpoints on re-invite
Freeswitch tries to fix timing issues (wrong ptime) on re-invite the same way
it does for the initial invite. This results in small audio glitches, while it
sends a couple of packets with different ptime, before the timing detection
logic figures out the remote (broken) endpoint true ptime.

In order to avoid unnecessary timing changes, this patch overwrites the
advertised ptime from known broken endpoints with the ptime, which was detected
by freeswitch. It does this by checking if the sip_h_X-Broken-PTIME (1.2.x) or
rtp_h_X-Broken-PTIME (master) variables are set.

FS-6644 #resolve
2014-09-30 11:19:35 +02:00
Anthony Minessale 372455c30a FS-6829 #resolve 2014-09-19 02:28:47 +05:00
Anthony Minessale d2f8fca18a FS-6825 #resolve #comment caused by regression in commit 0732c0b0 pertaining to FS-6825 2014-09-17 20:32:18 +05:00
Giacomo Vacca 9215c93827 FS-6785 - pass and use sample rate in switch_core_session_get_payload_code() 2014-09-08 14:26:58 +00:00
Anthony Minessale 5173471b06 nm 2014-08-16 02:00:38 +05:00
Anthony Minessale cb928cdf37 fix typo 2014-08-16 01:52:03 +05:00
Anthony Minessale b2162142f3 FS-6667 #comment block sending audio when dmachine is reading 2014-08-06 01:21:34 +05:00
Anthony Minessale f629b5ed63 always start payloads at 102 to avoid webrtc funk 2014-08-02 00:59:44 +05:00
Anthony Minessale 502ddd312a FS-6702 #resolve 2014-07-29 22:17:02 +05:00
Anthony Minessale 0732c0b027 FS-6631 #resolve 2014-07-29 03:04:29 +05:00
Anthony Minessale e7700c0ac4 FS-6665 #resolve #comment This should fix it 2014-07-18 22:05:15 +05:00
Mike Jerris 6dca24bb2a Merge pull request #5 in FS/freeswitch from ~KATHLEEN.KING/freeswitch-fork:clang-warnings-werror to master
* commit '1affff9db4aaa29ab66f9f5db76f575eeabd86b5':
  Fixed a clang-3.5 missing-prototype warning and added doxygen documentation for switch_channel_set_presence_data_vals. #doxygen
  Fixed dead code.
  Fixed trucation of value warning.
  Removed a useless called to abs.
  Removed an autological-pointer-compare from src/switch_utils.c.
  Fixed trucation of value warning.
2014-07-14 17:38:21 -05:00
Anthony Minessale 831d5892b9 preserve timer name for recovery 2014-07-03 23:50:14 +05:00
Kathleen King 89f7196a6e Fixed trucation of value warning.
There was a parameter mismatch between abs(), which expects an int,
and atol() which returns a long. Since max_drift is defined as an int,
there is no need to pars q as a long rather than an int.
2014-07-03 10:53:19 -07:00
Anthony Minessale b9a51bbf91 FS-6632 Trying to actually use opus in stereo broke pretending to use it in stereo 2014-06-25 21:19:07 +05:00
Anthony Minessale faeb00368e verto bug fixing in codec negotiation and some stereo codec stuff 2014-06-20 01:41:28 +05:00
Anthony Minessale c0e7e7b88c add reset function to clear some state data in the rtp session 2014-06-14 07:05:00 +05:00
Anthony Minessale c375e336bc add debugging 2014-06-13 06:06:14 -04:00
Anthony Minessale 4ffbf23ffa stereo refactoring 2014-06-13 01:49:16 -04:00
Anthony Minessale 0d7b1ff42a chrome now requires longer ice password 2014-05-29 15:46:31 -04:00
Travis Cross dcf633b1dd Revert workaround of gcc-4.6.3-14+rpi1 ARM bug
The correct fix is to use gcc-4.7 or newer.  If the compiler borked
this, one should trust nothing else it produces.

Revert "FS-6524,FS-6494: the compiler for rpi seems to be strangely
mis-optimizing this if/else block. Yes, its already set to this value,
but without the else block, it 'magically' hits the if blocks above,
unless you sleep, print a log, or add the else"

This reverts commit 1ca1d63795.
2014-05-22 01:03:24 +00:00
Anthony Minessale bedf8327b6 FS-6418 FS-6427 add profile param NDLB-proxy-never-patch-reinvites to solve both issues 2014-05-21 03:31:50 +05:00
root 1ca1d63795 FS-6524,FS-6494: the compiler for rpi seems to be strangely mis-optimizing this if/else block. Yes, its already set to this value, but without the else block, it 'magically' hits the if blocks above, unless you sleep, print a log, or add the else 2014-05-20 16:20:36 -05:00
Travis Cross 4ec5e5af47 Refactor if blocks
Since the first branch doesn't need to do anything, we invert it and
pull a sub-branch out a level into the main conditional.
2014-04-30 23:23:06 +00:00
Travis Cross ae3cf0a1a9 Remove dead assignment
...now this code needs refactoring.
2014-04-30 23:22:13 +00:00
Anthony Minessale d0de8c0bc6 add heartbeat_use_scheduler variable to force the heartbeat to use the scheduler rather than the media stream and also make it auto-chage between modes when going in and out of the media path 2014-04-29 04:20:51 +05:00
Brian West de7d5a9e07 Resolve key length issue with AES GCM 128/256 2014-04-08 11:04:41 -05:00
Anthony Minessale 72c52052dc FS-6436 2014-04-08 20:30:23 +05:00
Michael Jerris 340b697e1b FS-6341: --resolve add 3pcc invite w/o sdp support for 100rel/PRACK 2014-03-17 12:27:42 -04:00
Anthony Minessale 0fa6cc6f01 FS-6340 --resolve 2014-03-11 11:38:31 -05:00
Anthony Minessale 8d2c6b354e According to https://code.google.com/p/webrtc/issues/detail?id=2768 ; The Chrome WebRTC engine reserves payload 98 and 99, IKR? So, to avoid taking a nasty spill down the stairs and subjecting ourselves to further school absences, we'll just start our payload space at 102 when making WebRTC calls....... 2014-03-07 20:24:16 +05:00
Anthony Minessale b8e4a66dd2 another crypto regression 2014-03-07 08:34:39 +05:00
Anthony Minessale 5aa955b5c9 also means forbidden on recovering calls 2014-03-07 07:11:32 +05:00
Anthony Minessale 87e0dda3d3 no var set on outbound meands forbidden and on inbound it means optional 2014-03-06 20:05:02 -06:00
Anthony Minessale fcef3ad4b1 FS-6319 --resolve 2014-03-06 19:37:11 -06:00
Anthony Minessale 46c5268e09 FS-6319 2014-03-07 06:35:02 +05:00
Anthony Minessale bd4a0d8cbc add a way to tell mod_conference when the rate of the channel has changed due to a codec change so it can reset the resampler and codecs internally 2014-03-07 05:17:47 +05:00
Brian West f7be96396b add missing flags after refactor 2014-03-06 10:49:43 -06:00