script calling session:getVariable() with a null variable
name will cause FreeSWITCH to segfault.
This change checks whether varname parameter to
switch_channel_get_variable_dup is non-NULL.
DTMF-Source may have the following values:
APP : injected by application (send_dtmf, etc)
ENDPOINT : detected by endpoint signaling (like SIP INFO)
INBAND_AUDIO : detected by start_dtmf, spandsp_start_dtmf, etc
RTP : detected as 2833/4733 telephone event
UNKNOWN : unknown source
One possible use of this header is to determine telephone events
are being received, and if so, disable inband detection.
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"/>
While reviewing code I noticed some dead code. It was not possible to
default to the channel variable because the parameter could not be
both full and empty.
If the parameter is not a non zero length string then the code looked
like it was intending to default to the channel variable
'presence_data_cols'. If neither of these are the case it is a noop.
By enabling the dead code, you now have access to set the
'presence_data_cols' in the dialplan or scripts like lua.
We hangup the channel after receiving 10 SRTP packets in a row with a
bad auth tag or that are replayed. Prior to this commit we were
indicating a normal clearing. When doing interop and looking first at
packet traces, this made freeswitch's behavior look surprising. With
this commit we'll indicate more loudly what's happening.