15100 Commits

Author SHA1 Message Date
Travis Cross
0a388d0104 Suppress spurious warning in phrase macro playback
Prior to this commit, if anything at all went wrong in
switch_ivr_phrase_macro_event() we would generate a warning like this:

  [WARNING] switch_ivr_play_say.c:348 Macro [macro_name]: 'pattern_name' did not match any patterns

This is clearly misleading.  The natural thing to do on seeing that
message is to verify that the language files are there, and that the
pattern really does exist in that macro.  But none of that was usually
the problem.  The message would be generated if the language wasn't
found, or if the channel had gone away, for example.

With this commit, we verify that we actually tried looking for the
pattern before displaying the warning about the pattern not matching.
2014-04-09 05:30:33 +00:00
Travis Cross
622a5d7ef2 Avoid playback on dead channels in voicemail
For years we've been generating spurious messages like:

  [WARNING] switch_ivr_play_say.c:348 Macro [voicemail_ack]: 'saved' did not match any patterns

This would happen when the caller hangs up during the playback of
certain prompts in the voicemail system where we weren't checking the
return value of vm_macro_get().  Looking closely at the log, it's
clear we were calling down into switch_ivr_phrase_macro() long after
the channel was gone.

The message above is also misleading -- switch_ivr_phrase_macro()
would have been able to find that pattern just fine, but it never
actually looked because the channel was gone.  We'll clean up that
message in a follow on commit.
2014-04-09 05:30:26 +00:00
Chris Rienzo
9f9262486a mod_rayo: fix memory corruption in dial, input, output 2014-04-07 12:37:24 -04:00
Anthony Minessale
84123800ef send muted members as recvonly on RFC4575 data 2014-04-07 20:51:51 +05:00
Anthony Minessale
e6b8b3e4f2 fix seg in complete del with no arg 2014-04-07 01:05:07 +05:00
Anthony Minessale
d7c3ec582d FS-5832 regression.... After this change the sticky completes were deleting. This should correct it 2014-04-06 03:52:08 +05:00
Brian West
fb61a66770 swig 2014-04-05 13:42:59 -05:00
Anthony Minessale
d621262db1 fix seg in alias del 2014-04-05 21:09:49 +05:00
Anthony Minessale
9836564352 FS-6403 --resolve
This commit also reverts 2 previous attempts to fix this very rare race issue spanning back to 2009

62ce8538974f727778f1024d0ef9549e438704fe Patch from MOC
3a85348cdfd0fd7df63a2a150790722c2d294b36 FS-2302 mutex added around switch_xml_toxml()

The real problem was switch_xml_toxml_buf() was actually temporarily modifying the xml structure being searialized to make it appaer to be a root structure then serializing it and restoring the pointers.  This caused a non-threadsafe operation when some other thread was scanning the same xml structure.

This patch removes the modification and instead passes a new arg to switch_xml_toxml_r indicating to treat the structure as if it were a root structure.

This bug has been present since the induction of xml into FS.

Conflicts:
	src/switch_xml.c
2014-04-03 20:32:21 +05:00
Brian West
1936bdd410 FS-6422: --resolve obvious copy and paste error 2014-04-03 07:21:59 -05:00
Anthony Minessale
51e2d9bf84 FS-6421 --resolve 2014-04-02 16:43:54 -05:00
Anthony Minessale
693eea0d03 FS-6310 hold up, revert 2014-03-31 17:32:30 -05:00
Anthony Minessale
05f2f2cd14 FS-6310 --resolve try this version 2014-03-31 17:03:21 -05:00
Anthony Minessale
ffe0cf67ff FS-6413 stable-version 2014-04-01 01:24:16 +05:00
Raymond Chandler
cbcd1fec96 FS-5845 more leaks found by mikej 2014-03-25 22:45:42 -04:00
Seven Du
b96946822d add missing break, please review 2014-03-19 08:21:32 +08:00
Chris Rienzo
15e181780d FS-6374 --resolve mod_rayo sendfax was using uninitialized memory pool 2014-03-18 15:21:45 -04:00
Chris Rienzo
468dc29ae0 mod_rayo: some bugfixes to pause-when-offline 2014-03-14 17:23:27 -04:00
Chris Rienzo
818bf3c6e3 mod_rayo: add new config pause-when-offline - will pause inbound calling if there are no online clients to handle calls. This is useful if you want FS to respond 503 to options ping when there are no online rayo clients. Default behavior is to disable this param. 2014-03-14 15:50:21 -04:00
Chris Rienzo
5269931bfd mod_rayo: fix regression in ACL 2014-03-14 14:33:53 -04:00
Chris Rienzo
b1dbf0f5bb mod_rayo: add remote IP and port to xmpp stream logging 2014-03-14 14:24:53 -04:00
Anthony Minessale
2d35604369 FS-6350 --resolve Parse params out of user portion of caller_id and save them to sip_name_params
Conflicts:
	src/mod/endpoints/mod_sofia/sofia.c
2014-03-14 13:19:11 -05:00
Anthony Minessale
90da4deb1e do not retry so fast on failed outbound subs 2014-03-14 12:56:01 -05:00
Chris Rienzo
b52529acce FS-6345 --resolve mod_unimrcp: don't start input timers if start of speech was detected 2014-03-12 23:15:19 -04:00
Chris Rienzo
a1a457a7d6 FS-6281 mod_rayo: don't add timestamp to presence event that already has one. 2014-03-12 21:54:08 -04:00
Chris Rienzo
9495f2534d FS-6281 --resolve mod_rayo timestamp presence events 2014-03-10 20:10:49 -04:00
Chris Rienzo
64d2f8b765 mod_rayo: improve error messages when joining to b-leg that is missing 2014-03-10 17:15:31 -04:00
Simon Wunderlich
3fe85c7870 mod_skinny: make 7925g work
Cisco 7925G seem to work only with the correct conference_id2 and
rtptimeout set, so add protocol 11 definition fields and set
conference_id2 correctly.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Nathan Neulinger <nneul@neulinger.org>
2014-03-10 15:25:36 -05:00
Simon Wunderlich
624f034fac mod_skinny: remove unknown field from access_status
Cisco 7925g send access status message with just 8 byte of payload data.
Since we don't interpret the unknown 3rd field anyway, remove it. This
will prevent the first register to fail.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Nathan Neulinger <nneul@neulinger.org>
2014-03-10 15:25:06 -05:00
Simon Wunderlich
1607d16251 mod_skinny: wait up to 5 seconds for OpenRecvChannelAck
WiFi phones like the 7925g may take longer than just one second to
acknowledge the open receive message. Increase the timeout to 5 seconds.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Nathan Neulinger <nneul@neulinger.org>
2014-03-10 15:25:02 -05:00
Chris Rienzo
e3ce737ff9 FS-6334 --resolve mod_rayo: deadlock when creating input voice component 2014-03-10 15:53:56 -04:00
Anthony Minessale
3584902ae1 PLIV-5 --resolve httpapi cache not working for some urls 2014-03-10 12:20:44 -05:00
Chris Rienzo
455941d369 FS-6282 mod_rayo: fix memory leak in previous commit 2014-03-09 11:41:01 -04:00
Chris Rienzo
2ad7aa23bc FS-6282 mod_rayo: allow outbound call JID to be assigned by client 2014-03-09 11:41:01 -04:00
Anthony Minessale
c4a5042c92 don't refuse invites on established sessions due to session limits
Conflicts:
	src/mod/endpoints/mod_sofia/sofia.c
2014-03-07 23:48:29 +05:00
Travis Cross
9b9bc8b796 Fix minor edge case in switch_split_user_domain
If the input started with 'sip:sips:' it would have been incorrectly
parsed.
2014-03-06 06:05:16 +00:00
Chris Rienzo
0ca287890a FS-6304 mod_rayo- fix race condition on outbound calls 2014-03-05 08:52:26 -05:00
Travis Cross
a7ef0919e7 Improve channel variable name to srtp_allow_idle_gaps
This was momentarily called force_send_silence_when_idle, but that was
non-obvious as you had to set that value to true to be able to not
send silence when idle.  This name describes the purpose much better.
2014-03-04 02:09:33 +00:00
Travis Cross
b6a10585bb Avoid repeating ourselves in generating silence
We were handling the "send silence but not comfort noise" case in both
silence_stream_file_read and switch_generate_sln_silence.  This
changes the former to rely on the latter.
2014-03-04 02:09:28 +00:00
Travis Cross
6f11c1636b Add force_send_silence_when_idle channel variable
If set to true, this prevents us from overriding the value of
send_silence_when_idle.  When that is unset or set to zero and SRTP is
engaged, we typically override the value because many devices can't
handle gaps in the SRTP stream.

This variable is mostly for testing whether particular devices can
handle this behavior.  Use at your own risk.
2014-03-04 02:07:30 +00:00
Travis Cross
8fe324c404 Preserve value of send_silence_when_idle if possible
In commit 55d01d3defed4bfdc74704dbea0da9548a97a979 we set
send_silence_when_idle to -1 rather than 400 when SRTP is engaged.
But this left no way to enable white noise silence when desired.

When SRTP is engaged we can't simply not send RTP because it breaks
too many devices.  So we need to prevent send_silence_when_idle from
being unset or being set to zero.  This change allows it to be set to
other values so as to feed white noise rather than all zeros into the
codec.
2014-03-04 02:07:24 +00:00
Travis Cross
5d6b793623 Fix handling of send_silence_when_idle==0 in switch_ivr_sleep
When the channel variable send_silence_when_idle was set to zero,
switch_ivr_sleep was calling SWITCH_IVR_VERIFY_SILENCE_DIVISOR on it
anyway, causing it to be set to 400.  The only way to get the behavior
of not sending silence when idle was to unset the variable completely.

This corrects the behavior such that setting the value to zero has the
same effect as leaving it unset.
2014-03-04 02:06:32 +00:00
Chris Rienzo
3072573c84 FS-6296 --resolve mod_rayo: fixed crash on <prompt> bad request 2014-03-03 19:01:47 -05:00
Anthony Minessale
de758448e4 add timeout <seconds> to mod_curl api call 2014-03-03 22:58:56 +05:00
Travis Cross
30d1684d69 Make OS X's lame UNIX happy with mod_mongo Makefile
Apparently OS X ships a sed that requires an argument to -i.
2014-03-03 15:41:33 +00:00
Travis Cross
09079098d1 Output newline after json output in mod_json_cdr
In UNIX, text files by definition end with a newline.
2014-03-03 01:27:31 +00:00
Travis Cross
3bd9c60f8e Handle too-short write(3)s in mod_json_cdr
write(3) can write fewer bytes than was requested for any number of
reasons.  The correct behavior is to retry unless there is an error.

If there is an error, try to unlink the file; no sense in leaving
corrupted data laying around.
2014-03-03 01:27:30 +00:00
Travis Cross
fdee9d940a Deal with read errors in switch_xml.c
Unlike fread(3), read(3) will return -1 on error.  We were assigning
the result of read to a potentially unsigned variable, and passing the
result down to switch_xml_parse_str() where it would end up
determining how many bytes to malloc(3).
2014-03-02 10:36:14 +00:00
Travis Cross
c31aa5d38f Log channel UUID by default
We want people to have this on so that when we're looking at reported
log files we can tell what is going on.
2014-03-02 10:29:29 +00:00
Travis Cross
e51cca5991 Document purpose of sofia profile aliasing 2014-03-02 10:26:16 +00:00