Commit Graph

223 Commits

Author SHA1 Message Date
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
Anthony Minessale 656cb2ac03 add optional rtp_secure_media_suites variable clobbered by rtp_secure_media with mandatory|optional:<suites> 2014-03-06 08:17:22 +05:00
Anthony Minessale 1d733235a5 remove unused stuff from last commit 2014-03-06 07:41:39 +05:00
Anthony Minessale e5b291514c FS-5755
rtp_secure_media=mandatory
rtp_secure_media=optional
rtp_secure_media=mandatory:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
rtp_secure_media=optional:AES_CM_256_HMAC_SHA1_80
rtp_secure_media=forbidden

true implies mandatory
false implies forbidden
not set implies optional

rtp_secure_media_inbound or rtp_secure_media_outbound take precedence and are treated the same way based on leg direction
2014-03-06 07:34:47 +05:00
Anthony Minessale d3121d930e switch_false currently returns false on NULL 2014-03-05 17:36:35 -06:00
Anthony Minessale 6ae038add3 FS-5755 84c0680153 is wrong. It made optional enforce crypto. 2014-03-04 19:07:54 -06:00
Marc Olivier Chouinard 84c0680153 FS-5755 Fix regression if rtp_secure_media=false, it will force encryption. 2014-03-04 09:42:17 -05:00
Anthony Minessale 15f4bd44ca FS-5886 --resolve add NDLB_broken_opus_sdp which must be set as a global variable in var.xml or switch.conf.xml to enable broken opus mode for back compat with counterpath mobile 2014-02-28 21:57:47 +05:00
Anthony Minessale 3dad15f938 FS-5755 part 2
rtp_secure_media=true
--inbound: Accept the srongest supported offered crypto suite, MUST result in a negotiated crypto or aborts.

--outbound: offer all supported crypto suites, MUST result in a negotiated crypto or aborts.

rtp_secure_media=optional
--inbound: Accept the srongest supported offered crypto suite, fall back to no crypto if no valid ones accepted.

--outbound: offer all supported crypto suites, OPTIONAL result in a negotiated crypto falls back to no crypto.

rtp_secure_media=<suite1>,<suiteN>
--inbound:  same behaviour as rtp_secure_media=true with smaller set of acceptable suites.
--outbound: offer supplied crypto suites, same behaviour as rtp_secure_media=true with smaller set of suites.
2014-02-28 02:10:56 +05:00
Anthony Minessale 3e499da329 FS-6275 --resolve I don't think this is a problem with latest firefox + latest master but i'll ensure it with this change. Anyone into testing webrtc should always use master until an official 1.4 is released. 2014-02-26 21:35:38 +05:00
Anthony Minessale 5646957c5b FS-5937 2014-02-26 04:06:59 +05:00