12379 Commits

Author SHA1 Message Date
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
43733a6166 FS-6886 #comment addition of ignoring unhold as well 2014-10-02 15:48:29 -05:00
Spencer Thomason
afb00b2ecc Force rport on ADTRAN TA Devices
ADTRAN Total Access devices do not support sending the rport parameter in
the Via header. This allows us to detect the device and force rport when
using the "safe" parameter, enabling the device to be used behind NAT.

FS-6823 #resolve
2014-10-02 13:09:15 -07:00
Spencer Thomason
747322dcc6 Remove Contact header from BYE and CANCEL requests.
Per rfc3261 the Contact header is not applicable and MUST not appear in
the request.

FS-5868 #resolve
2014-10-02 12:24:46 -07:00
Anthony Minessale
9e9175321a FS-6886 #resolve 2014-10-02 11:30:13 -05:00
Anthony Minessale
eeedb8683e the other way works better revert 91ffe171b6e76f60f1e94f148176ce8556d460e6 to use high quality on stereo calls 2014-10-02 10:41:59 -05:00
Flavio Grossi
5653551904 FS-5106 fire an event when a sip client doesn't respond to option-ping
When all-reg-options-ping is enabled, this adds a new custom event to mod_sofia
(sofia::sip_user_state), which is fired when a client stops responding to such
ping packets (or when it is reachable again).

Add two needed new columns to the sip_registrations table:
  - ping_status, which is "Reachable" or "Unreachable" depending on the client
    status;
  - ping_count, which tracks the number of ping responses received and is used
    to provide some kind of hysteresis to avoid firing the event in case of
    transitory network failures.

Then ping_count is checked against two threshold values, sip-user-ping-min
and sip-user-ping-max in a similar fashion as the ping-{max,min} options for
the gateways. These two values are configurable in the profile's xml
configuration file.

Also, if unregister-on-options-fail is enabled, the client is unregistered
based on the number of OPTIONS failure which is also checked against the
sip-user-ping-{min,max} values.
2014-10-02 12:34:47 +02:00
Anthony Minessale
91ffe171b6 use OPUS_APPLICATION_VOIP always to get FEC and filtering 2014-10-01 18:33:33 -05:00
Anthony Minessale
8258180735 start jb at one frame since it now has better adaptation 2014-10-01 18:21:50 -05:00
Michael Jerris
5e11744632 fix makefile syntax errors 2014-10-01 17:52:01 -04: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
Brian West
8e408e9abe FS-6865 #resolve add XMPP priority to dingaling 2014-10-01 10:40:57 -05:00
Brian West
644b41f792 FS-6874 #resolve 2014-09-30 17:05:06 -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
Anthony Minessale
0150c862a2 FS-6854 #comment try this patch 2014-09-30 20:35:19 +05: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
Dušan Dragić
a94fbe8079 mod_gsmopen: add tab completion for api commands 2014-09-29 13:25:30 +02:00
Giovanni Maruzzelli
4ce990504e Merge pull request #52 in FS/freeswitch from ~DDRAGIC/freeswitch:gsmopen_feature_additions to master
* commit 'a9b2e061dcd1d95322d27e169ac2f0016aa628a3':
  mod_gsmopen: clean up "gsm list" output a little
  mod_gsmopen: convert reported RSSI from AT+CSQ to dBm.
  mod_gsmopen: get device manufacturer, model and firmware version info.
  mod_gsmopen: add support for reading own number from ON phonebook using AT+CNUM
  mod_gsmopen: add AT+COPS support to get operator name.
2014-09-26 10:17:14 -05:00
Giovanni Maruzzelli
9e3a375c36 Merge pull request #54 in FS/freeswitch from ~DDRAGIC/freeswitch:bugfix/FS-6820-mod_gsmopen-executing-gsm-reload to master
* commit '9423953e028f8dd319a790ba1e5fdca37ff0cb2f':
  FS-6820 mod_gsmopen: fix total interfaces count when executing gsm reload
2014-09-26 10:14:46 -05:00
Giovanni Maruzzelli
0d538cd7b1 Merge pull request #42 in FS/freeswitch from ~DDRAGIC/freeswitch:FS-6799_fix_msg_index_check to master
* commit '9cf72b541e8184b2911b0bd78f9aee71cd6d44b4':
  FS-6799 fix reading sms in index 0
2014-09-26 10:13:44 -05:00
Brian West
7c89c21153 FS-6860 #resolve this was fixed once but was lost in the last sync 2014-09-26 09:00:09 -05:00
Brian West
f5b9bef319 Merge branch 'master' of ssh://stash.freeswitch.org:7999/fs/freeswitch 2014-09-25 15:10:51 -05:00
Brian West
0767191769 FS-6803 try this, less is more 2014-09-25 15:10:11 -05:00
Anthony Minessale
f7de058acd FS-6854 #resolve 2014-09-25 21:44:02 +05:00
Chris Rienzo
7d7223e931 FS-6842 #resolve mod_graylog2: added send-uncompressed-header param- set to true for logstash support 2014-09-23 16:40:46 -04:00
Anthony Minessale
9e72c8477f fix possible buffer overrun in websocket uri and sync the ws.c between sofia and verto (missing code from last commit) 2014-09-24 01:09:44 +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
Anthony Minessale
1bb0b8e16d fix leak in lua when script does not execute properly in xml_binding handler 2014-09-23 03:57:04 +05:00
Dušan Dragić
a9b2e061dc mod_gsmopen: clean up "gsm list" output a little
Replace tabs with spaces and add two columns, operator and imei.
2014-09-21 20:14:13 +02:00
Dušan Dragić
4aa7c98d5a mod_gsmopen: convert reported RSSI from AT+CSQ to dBm.
Add to gsmopen_dump and events.
2014-09-21 20:14:12 +02:00
Dušan Dragić
13a595a15e mod_gsmopen: get device manufacturer, model and firmware version info. 2014-09-21 20:14:05 +02:00
Dušan Dragić
79d962f38e mod_gsmopen: add support for reading own number from ON phonebook using AT+CNUM 2014-09-21 20:04:04 +02:00
Nathan Neulinger
1f5bb3470d mod_skinny: avoid truncation of non-null-terminated strings in protocol 2014-09-17 11:13:15 -05:00
Anthony Minessale
295fcce8a8 add buffer_seconds param to shout filehandles to override the original default of 1 and remove previous code to attempt to buffer several seconds of audio in the open routine. Any experiencing jittery playback from slow shout destinations should add {buffer_seconds=N} to the file path to increase the amount of time allotted for buffering when no audio is discovered on the wire 2014-09-17 04:54:38 +05:00
Anthony Minessale
b2917e06db improve ssl errors 2014-09-17 02:14:43 +05:00
Seven Du
36addd5b61 bytes is signed 2014-09-16 19:15:12 +08: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
Nathan Neulinger
04269fdf19 mod_skinny: additional logging 2014-09-15 16:42:31 -05:00
Peter Wu
8e4423f126 Document Dbh.test_reactive, return saner values
In the FreeSWITCH core, the return value of switch_case_db_test_reactive
is ignored, but it is usable in LUA modules (and other bindings via
SWIG). The LUA API example[1] shows how to check the return value, but
that example miserably fails if the database did not exist before.

Changes:

 - Document the expected behavior of the test_reactive function.
 - Assert that test_sql and sql_reactive are both given. If either
   query is not given, the caller is using the wrong API.
 - When SCF_AUTO_SCHEMAS is cleared, use the return value of the
   test_sql execution. Does anybody use this? Why not remove it?
 - Do not unconditionally return SWITCH_FALSE when test_sql fails,
   instead allow it to become SWITCH_TRUE when reactive_sql passes.
 - Remove the unnecessary test_sql check for SCDB_TYPE_CORE_DB
   (this is now enforced through an assert check). (+reindent)
 - Clarify the error message of drop_sql, prepending "Ignoring" to
   the "SQL ERR" message.
 - LUA: Do not print "DBH NOT Connected" if the query fails. This was
   the initial source of confusion.

 [1]: https://confluence.freeswitch.org/display/FREESWITCH/Lua+API+Reference
2014-09-15 15:39:08 +02:00
Dušan Dragić
f262dbce94 FS-6821 mod_gsmopen: fix interface name in log
Fix interface name for logs emitted from mod_gsmopen.cpp during startup
2014-09-14 13:06:31 +02:00
Dušan Dragić
9423953e02 FS-6820 mod_gsmopen: fix total interfaces count when executing gsm reload 2014-09-14 12:24:19 +02:00
Anthony Minessale
efe0ebd318 FS-6818 #resolve 2014-09-12 18:49:58 +05:00
Dušan Dragić
d5f9de4fa3 mod_gsmopen: add AT+COPS support to get operator name.
For now expose the info in gsmopen_dump and events.
2014-09-11 22:33:28 +02:00
Travis Cross
5bd35471f7 Add var to suppress Privacy: none header
Apparently the MetaSwitch guys incorrectly interpret `Privacy: none`
as `Privacy: id`.

ref: RFC 3325

Reported-by: Stéphane Alnet <stephane@shimaore.net>

FS-6817 #resolve
2014-09-11 19:56:19 +00:00
Anthony Minessale
7144b25254 obey sip_copy_custom_headers on bye 2014-09-12 00:37:19 +05: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
Travis Cross
bb84b0534c Check for libpq in core before building mod_cdr_pg_csv 2014-09-10 22:29:24 +00:00
Anthony Minessale
ce5d21106e FS-6761 #resolve 2014-09-11 03:29:07 +05:00
Ken Rice
30283b7f6b Revert "fix libpq location detection"
This reverts commit e2b1ee26ae50d0e9fba8a19be1514f57a59c12e9.
2014-09-10 16:27:16 -05:00
Ken Rice
e2b1ee26ae fix libpq location detection 2014-09-10 15:04:50 -05:00