Commit Graph

13226 Commits

Author SHA1 Message Date
Anthony Minessale a06eb2db30 FS-4328 try this 2012-07-11 18:12:26 -05:00
Anthony Minessale 932fc2286f update 2012-07-11 18:04:13 -05:00
Anthony Minessale 0c945168ca update 2012-07-11 17:35:40 -05:00
Anthony Minessale 4e0f40d7c6 update 2012-07-11 17:25:45 -05:00
Anthony Minessale 63147207b6 update 2012-07-11 17:09:42 -05:00
Anthony Minessale 75b36c9545 tweaks 2012-07-11 16:48:56 -05:00
Anthony Minessale 9cad51b74b flip not 2012-07-11 16:03:56 -05:00
Anthony Minessale abbe8d5a0d tweak 2012-07-11 15:50:43 -05:00
Anthony Minessale 1e7d214ae6 compiler errs from last commit 2012-07-11 15:35:49 -05:00
Anthony Minessale 088437cab1 add some rtcp stuff for sangoma 2012-07-11 15:23:12 -05:00
Anthony Minessale 2aebe2456f first pass on some new stuff 2012-07-11 15:15:50 -05:00
Jeff Lenk 91236c9ad3 fix build related issues on windows - trivial 2012-07-11 07:52:20 -05:00
Stefan Knoblich 07e9467d35 freeswitch: Add more cmdline options to control file locations.
Setting the base_dir variable didn't work so this will have to be
enough for now.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich aeb4b31063 freeswitch: Show user/group name in error message if change_user_group() fails.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich edfbbb127c freeswitch: Create struct rlimit rlp where it is needed (move down into block scope).
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich 93a429fc11 freeswitch: Whitespace clean up in switch.c.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich b494d46f45 freeswitch: Clean up daemonize().
Whitespace and indentation clean up.

Use EXIT_SUCESS/_FAILURE.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:24 +02:00
Stefan Knoblich f9d0e249a1 freeswitch: Rework option handling in main() and other clean ups.
Use a chain of "else if" statements, drop known_opt completely.
Added bonus: We stop trying to parse option arguments as (possible) options.

Arguments of -u/-g and path options (-conf) now check whether their argument
starts with a dash ('-') and error out in case it does (= next option, not a valid argument).

Use PATH_MAX for everything that stores files / directories.

Use switch_bool_t and SWITCH_TRUE/_FALSE for boolean variables.

Use EXIT_SUCCESS/_FAILURE for exit() calls.

Get rid of excessive indenting (especially in the win32 parts of main()).

NOTE: Win32 parts untested.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:23 +02:00
Stefan Knoblich 659ea9f117 freeswitch: Move usage description out of main() and improve cmdline option handling.
Move empty cmdline option string check and "-help/-h/-?" handling to top of loop.

Emit a proper error message for unknown options. (Just displaying the
usage description, but not telling the user which option was wrong, is bad mojo).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:23 +02:00
Stefan Knoblich d6a395b642 freeswitch: Use switch_strlen_zero() to check for empty strings.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-11 11:08:23 +02:00
Anthony Minessale ba428a1559 FS-4406 please test asap and report back 2012-07-10 23:04:16 -05:00
Anthony Minessale 293516be59 FS-4370 --resolve 2012-07-10 22:44:11 -05:00
Anthony Minessale 6904ae6f3b FS-4404 regression from b9b4db7d40 2012-07-10 13:28:38 -05:00
Stefan Knoblich 111ef49f1f mod_sofia: Use switch_add_event_header_string() for string values.
Errors fixed:
	sofia.c: In function 'sofia_handle_sip_i_refer':
	sofia.c:7323:5: error: format not a string literal and no format arguments
	sofia.c:7324:5: error: format not a string literal and no format arguments

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-07-10 14:30:01 +02:00
Anthony Minessale e79e6146c5 FS-4378 add sofia::error custom event 2012-07-09 10:56:04 -05:00
Anthony Minessale b9b4db7d40 FS-4404 --resolve 2012-07-09 10:37:15 -05:00
Anthony Minessale 16cb32cd5c come to cluecon will ya 2012-07-06 17:54:21 -05:00
Anthony Minessale c6fc4a2774 add Current-Energy to conference events 2012-07-06 17:20:44 -05:00
Anthony Minessale 6cf9ea181d FS-4364 --resolve 2012-07-06 16:16:51 -05:00
Anthony Minessale 9ca929218f FS-4382 --resolve 2012-07-06 11:12:14 -05:00
Anthony Minessale da8885cc51 FS-4397 --resolve 2012-07-06 10:55:53 -05:00
Anthony Minessale 6ea4c42c95 have sql thread manually subscribe to each event it cares about instead of every event and filtering it 2012-07-05 16:42:49 -05:00
Anthony Minessale bf20f52452 add execute_on_post_originate and api_on_post_originate to run on chosen newly originated channels vs execute_on_originate which runs on all candidates 2012-07-05 12:34:09 -05:00
Anthony Minessale ef23fbaf12 FS-4374 moving the memory to the heap, this should take care of the problem for sure 2012-07-05 12:04:30 -05:00
Anthony Minessale 694c8c0fa1 FS-4335 please update and try this 2012-07-05 11:42:07 -05:00
Darren Schreiber 5bc2745472 Avoid segfault and race condition when socket is destroyed while listener is in use. 2012-07-05 01:47:07 -07:00
Jeff Lenk 939a26764f FS-4387 --resolve 2012-07-04 23:06:32 -05:00
Anthony Minessale b1ae97466d add enable-use-system-time param to switch.conf.xml use at your own risk, someone with windows could verify it works ok 2012-07-03 17:15:14 -05:00
Anthony Minessale 02f4aa8590 change default 2012-07-03 13:53:29 -05:00
Anthony Minessale e941a61ff7 add v18_mode var 2012-07-03 13:35:08 -05:00
Anthony Minessale 59bd4b0f14 fix regression with proxy_packet flag 2012-07-03 13:17:38 -05:00
Anthony Minessale c5ba5acbd5 move stacksize thing into the core deeper to avoid build issues 2012-07-03 11:35:41 -05:00
Anthony Minessale 2b17e82dd4 FS-4380 --resolve 2012-07-03 11:06:12 -05:00
Anthony Minessale 15fda06646 FS-4381 --resolve 2012-07-03 09:23:25 -05:00
Anthony Minessale f3a49366a1 FS-4331 please test and post a new log if necessary 2012-07-03 08:05:41 -05:00
Jeff Lenk 305aa77a15 FS-2216 --resolve clang 2012-07-03 09:01:27 -05:00
Anthony Minessale 3708c96257 add uuid to event socket apps 2012-07-02 15:12:55 -05:00
Anthony Minessale 3951a187a0 FS-4331 please test this patch and regenerate logs if necessary 2012-07-02 14:03:05 -05:00
Michael Jerris 02c2b532e7 add vm::maintenance event for mwi change 2012-07-02 16:22:36 -04:00
Anthony Minessale 87eeaac629 wrong commit 2012-07-02 13:02:18 -05:00
Anthony Minessale 412efaaf87 let campon_hold_music take precedence over the normal hold_music variable 2012-07-02 12:54:01 -05:00
Jeff Lenk 78addbfe44 trivial fix windows build 2012-07-02 14:42:06 -05:00
Anthony Minessale d32a72bcc1 show current process stack size from status command where supported 2012-07-02 11:49:42 -05:00
Anthony Minessale 4654bda84a FS-4374 try this: it will set the stack size for the whole app to 240 if its too big or too small, if there are system limits, fs may have to be run as root and drop privs to be allowed to change this setting 2012-07-02 11:20:05 -05:00
Anthony Minessale e06bf26e65 add tdd data also as a header for even lazier parsers 2012-07-02 11:05:56 -05:00
Anthony Minessale 158f96651f add trailing newlines for lazy parsers 2012-07-02 11:04:10 -05:00
Anthony Minessale 104bab6b92 tdd fix 2012-07-02 12:33:13 -05:00
Anthony Minessale 784fcf08ad FS-4373 --resolve 2012-07-02 09:51:08 -05:00
Michael Jerris 195949f25f don't seg on no valid_terminators 2012-07-02 11:55:49 -04:00
Anthony Minessale 5f09b40381 add sip_recovery_break_rfc variable to set globally or per channel to not reverse the from and 2 on uas re-invites 2012-06-29 14:41:06 -05:00
Brian West 13068f1783 allow silence for moh type on campon 2012-06-29 16:14:46 -05:00
Anthony Minessale 7ec8fb43d4 add initial-event-threads to switch.conf.xml 2012-06-29 11:39:49 -05:00
Anthony Minessale dca6e2bb8e FS-4359 --resolve 2012-06-28 12:12:44 -05:00
Anthony Minessale 848f05fb41 FS-3659 this fixes sub issue, this should have been a new jira ticket 2012-06-28 14:02:02 -05:00
Anthony Minessale ed6e7b9fc0 if valid_terminators string starts with = it implies one of them must be typed 2012-06-28 13:17:57 -05:00
Anthony Minessale 1330ad9cf4 FS-4363 try this 2012-06-28 10:21:08 -05:00
Anthony Minessale 8850c1d5e5 moot leak in logger since it only happens on shutdown 1/10 times but hey, lets fix it 2012-06-28 10:10:30 -05:00
Travis Cross 7978bd8921 Don't truncate 5-digit port numbers
The adj_port buffer was only 5 bytes wide, so we were truncating any
port numbers >= 10000 that were written to this variable as snprintf
ensures the last byte is null.

FS-4354 --resolve
2012-06-27 20:17:08 +00:00
Michael Jerris e9a66618ff FS-4353: missing free from last commit 2012-06-27 15:53:15 -04:00
Anthony Minessale ed0ab36e2d FS-4353 redirect case 2012-06-27 12:25:03 -05:00
Anthony Minessale b0f53cd625 FS-4353 --resolve this may also fix FS-4079 2012-06-27 09:33:01 -05:00
Anthony Minessale 60bb3595fd FS-4313 --resolve 2012-06-26 11:34:24 -05:00
Anthony Minessale e7f05b49ad FS-4349 try this, it should be a minimal wait since this will poll the socket for 20ms only when there are no events at all and no log data at all 2012-06-26 09:59:00 -05:00
Brian West 7dc9a9cacc FS-3085 --resolve 2012-06-25 15:31:58 -05:00
Anthony Minessale 690cae5de1 FS-4350 --resolve 2012-06-25 11:00:48 -05:00
Jeff Lenk a97ec71902 fix warnings on windows code verification 2012-06-25 10:06:41 -05:00
Anthony Minessale 7086a92f9b FS-4318 try this, success is 0 so that original patch was wrong 2012-06-24 15:05:59 -05:00
Travis Cross ee8c9e869b Fix clang warnings in mod_lua 2012-06-24 09:13:21 +00:00
Travis Cross f1183ef970 Fix use of switch_event_add_body
On some compilers this fixes the build.

gcc reports:

  error: format not a string literal and no format arguments

clang reports:

  error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
2012-06-24 07:38:08 +00:00
Travis Cross 453b42e301 Remove extraneous parenthesis
This causes a warning that breaks the build with clang.
2012-06-24 07:36:14 +00:00
Anthony Minessale 86df8b338e more v18 changes 2012-06-23 19:33:26 -05:00
Anthony Minessale 1465ba90e6 tweaks 2012-06-23 19:00:53 -05:00
Anthony Minessale 93a8445f1c change name 2012-06-23 18:53:29 -05:00
Anthony Minessale 0f6647d278 add some inital v18 interface points 2012-06-23 18:48:26 -05:00
Travis Cross ad53499b42
Always set the ZRTP SAS verified flag on our side
When we're terminating ZRTP to an IVR or to a leg which is not
ZRTP-capable, there's no way for us to make an intelligent decision
about whether this flag should be set.  For a client to consider the
SAS as verified, however, both sides need to set this flag.  By always
setting this flag on our side, we leave the decision completely in the
hands of the client where we hope there is a careful human.

Signed-off-by: Travis Cross <tc@traviscross.com>
2012-06-23 22:34:06 +00:00
Anthony Minessale ecb84bd126 FS-4336 --resolve 2012-06-23 14:55:11 -05:00
Jeff Lenk 2171e5830d vs2010 reswig 2012-06-23 16:58:44 -05:00
Anthony Minessale 398c84b671 swigall 2012-06-23 16:40:42 -05:00
Anthony Minessale a5021fa384 FS-4337 --resolve this actually uncovered a bug cos it was supposed to be rtcp_bytes not bytes 2012-06-23 14:03:06 -05:00
Anthony Minessale cfe435c667 fix typo 2012-06-23 06:18:09 -05:00
Anthony Minessale 76fae0cec0 add video support to lib/mod.dingaling this needs testing, google voice won't work with video calls so disable video codecs if you use that 2012-06-22 18:15:06 -05:00
Anthony Minessale 3d36d8557b change default number to 97 2012-06-22 18:15:06 -05:00
Anthony Minessale 8b4c9dc42c FS-3659 and some refactor for rtcp ice and video ice and rtcp 2012-06-22 18:15:06 -05:00
Anthony Minessale c30940462a update stun to more modern spec 2012-06-22 18:15:06 -05:00
dschreiber c28ced7253 Merging FS-3432 switch_core_hash.c patch in from Tamas 2012-06-21 14:09:49 -07:00
Brian West 37e61ee6eb FS-4320 sigh 2012-06-21 13:07:38 -05:00
Jeff Lenk 2091f4f0d3 FS-4319 --resolve portaudio not always moving the active call to the top of its internal list (invalid ringing) 2012-06-21 09:52:13 -05:00
Mathieu Rene a0a9efcf02 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2012-06-20 15:43:20 -04:00
Mathieu Rene d67031a9c6 FS-4007 2012-06-20 15:42:57 -04:00
Jeff Lenk 9e90bbd12b Revert "FS-4321 fix startup with odbc"
This reverts commit 28fd1f97ea.

this needs to be fixed a different way
2012-06-20 11:05:53 -05:00
Giovanni Maruzzelli a80b68367c FS-4278 skypopen: oss driver compiles on kernels >= 3.4.0 2012-06-20 11:28:57 +02:00
dschreiber d6c482e40f Added support for Content-Type and other optional headers when doing an HTTP PUT 2012-06-19 21:25:00 -07:00
Michael Jerris 6ea4a5c503 typo 2012-06-19 22:43:28 -04:00
Michael Jerris 773fb5e3a5 use reg call id on reboot notifies and pass it back in reverse auth lookup 2012-06-19 21:58:43 -04:00
Michael Jerris f351a908ff wow grandstream 2012-06-19 16:02:14 -04:00
Michael Jerris ea503ea23e fix pnp config for grandstream 2012-06-19 14:22:57 -04:00
dschreiber 1e696d2c93 FS-3577 : After Tamas's fixes and new logging so we can see the erl_errors, re-applying this 10ms polling interval patch that Tony committed a few months ago. Please report any issues. 2012-06-19 09:13:29 -07:00
dschreiber 6069adece5 Revert "add thread safe hash multi delete function and make callback optional"
I don't see this command being used anywhere. Since I don't like to touch core files unless absolutely necessary I'm reverting these two changes. I've emailed the author, Tamas, for an explanation. The other patches for FS-3432 (merged in now) appear to work fine without this commit.

This reverts commit fbcb862265.
2012-06-19 08:51:28 -07:00
dschreiber 7e6018985c Merge remote branch 'origin/master' into FS-3432 2012-06-19 08:10:54 -07:00
Jeff Lenk 28fd1f97ea FS-4321 fix startup with odbc 2012-06-19 09:02:12 -05:00
Jeff Lenk f9d279664c add test version of mod_redis to vs2010 solution - not built by default 2012-06-18 17:07:54 -05:00
Anthony Minessale 1bfda1ecfc FS-4318 --resolve 2012-06-18 10:30:33 -05:00
Daniel Swarbrick 9bd1c33115 Don't pass null pointers to bson_append_string(). Thanks Tamas Cseke for original patch.
Fixes FS-4309
2012-06-14 20:11:57 +02:00
Anthony Minessale a49dc84a15 swigall 2012-06-14 11:32:14 -05:00
Anthony Minessale 830755ac85 allow event consumer to supply size as optional arg 2012-06-14 11:31:46 -05:00
Christopher Rienzo b472edf444 switch to a signal in mod_posix_timer that doesn't conflict with valgrind 2012-06-14 12:03:50 +00:00
Daniel Swarbrick 2b48cf8778 Resolve unused-but-set-variable introduced by c608ca3 and remove a line of redundant code. 2012-06-14 12:16:08 +02:00
Brian West ae50f474b4 Why limit the query to profile_name passed. All the underlying callbacks deal with the profile not matching the one passed and will do the right thing. 2012-06-13 16:27:29 -05:00
Anthony Minessale c608ca35d8 don't print ASS 2012-06-13 11:29:14 -05:00
Anthony Minessale 9470c079dd FS-4298 see if you can see the sip_reinvite_sdp variable with this patch 2012-06-12 10:15:14 -05:00
Tamas Cseke 794f8cfb8b reply state seems to be unnecessary FS-3432 2012-06-12 11:37:35 +02:00
Tamas Cseke 44fb1d00d7 fix session hash rwlock vs reply mutex order FS-3432 2012-06-12 11:34:20 +02:00
dschreiber 3858e625a4 The fix for FS-3577 causes instabilities if multiple listeners are connected it seems. Undoing this change for now until I can figure out the root cause. 2012-06-11 21:59:47 -07:00
Travis Cross c85c8d7bbd
Add mechanism to set OpenSSL session timeout
In a sofia profile, you can now set the parameter tls-timeout to a
positive integer value which represents the maximum time in seconds
that OpenSSL will keep a TLS session (and its ephemeral keys) alive.

This value is passed to OpenSSL's SSL_CTX_set_timeout(3).

OpenSSL's default value is 300 seconds, but the relevant standard
(RFC 2246) suggests that much longer session lifetimes are
acceptable (it recommends values less than 24 hours).

Longer values can be useful for extending battery life on mobile
devices.

Signed-off-by: Travis Cross <tc@traviscross.com>
2012-06-11 21:46:05 +00:00
Anthony Minessale a10ec2b991 FS-4299 --resolve regression from 23f8967c the code was not making sure both endpoints were type 'sofia' and dereferencing dingaling channel into sofia and causing memory corruption 2012-06-11 13:30:00 -05:00
Anthony Minessale 56325e8c71 FS-4079 possible fix 2012-06-11 11:15:41 -05:00
Tamas Cseke 3f6b5a5c01 fix reply timeout: move hash and pid to session pool FS-3432 2012-06-11 17:25:28 +02:00
Michael Jerris ec27618fc8 don't segfault after starting sofia, upon xml_open_config lookup failure for the profile from launch_sofia_worker_thread 2012-06-11 10:43:55 -04:00
Christopher Rienzo 187fe4e14e update name/e-mail address 2012-06-11 13:05:29 +00:00
Tamas Cseke d2e9e46eb6 move session destroy to one place and hangup in others to eliminate races and minimize session hash wrlocks FS-3432 2012-06-11 15:03:58 +02:00
Tamas Cseke 83f230cce6 fix possible memory leak FS-3432 2012-06-11 15:00:32 +02:00
Anthony Minessale fc2bb00eb1 FS-4298 --resolve var is called execute_on_sip_reinvite 2012-06-08 12:43:50 -05:00
Anthony Minessale a17027959d use a dummy event here 2012-06-08 12:06:40 -05:00
Christopher Rienzo 9c94ac312e Fix Ubuntu 11.10 compiler error on unchecked write() return value. 2012-06-08 18:12:33 +00:00
Travis Cross 086f617442 increase buffer size for local SDP
There are a lot of codecs these days, and some clients offer all of
them.  If we run out of space in this buffer our local SDP will get
silently truncated, which will cause a difficult to diagnose error in
Sofia-SIP.

Thanks to Anthony Minessale.

FS-4293 --resolve
2012-06-08 16:14:21 +00:00
Travis Cross dc30013360 fix buffer length calculation in call to generate_m
This error was causing us to call generate_m with a buffer length that
was less than the strlen of the buffer we were passing.  The result
was truncated local SDP which would cause sofia to fail if the
truncation was in a particularly bad place.

Thanks to Anthony Minessale for the fix and working with me to
diagnose the issue.

FS-4293 --resolve
2012-06-08 16:14:20 +00:00
Tamas Cseke ae4d3acbb3 cleanup FS-3432 2012-06-08 17:24:23 +02:00
Tamas Cseke 19db96d2ba channel private is already removed we don't need to remove the state handler FS-3432 2012-06-08 17:23:07 +02:00
Travis Cross 9c463fdbdc fix typo
This amends commit a6bb4545eb.
2012-06-07 20:12:04 +00:00
Travis Cross 49666cee8d add some sofia debugging for the local SDP
Related to issue FS-4293.
2012-06-07 20:09:06 +00:00
Anthony Minessale a6bb4545eb FS-4293 2012-06-07 13:00:52 -05:00
Jeff Lenk 20f20c8a5c FS-4248 prevent seg for unsupported say method 2012-06-07 10:06:09 -05:00
Anthony Minessale b4bd30816e FS-4290 --resolve 2012-06-05 12:30:01 -05:00
Michael Jerris 2983003f95 do update to state on channels table at hangup 2012-06-05 13:19:34 -04:00
Michael Jerris e4caea6ffd fix build error 2012-06-04 16:40:32 -04:00
Raymond Chandler 9b488fbffd pnp 2012-06-04 15:16:30 -04:00
Anthony Minessale d2bc9a2b12 FS-4137 2012-06-04 09:41:46 -05:00
Anthony Minessale 6a7fe5411f FS-4285 --resolve 2012-06-04 09:24:42 -05:00
Travis Cross 00e32e4ec2 use SWITCH_VERSION_FULL for the sofia user agent 2012-06-01 22:22:44 +00:00
Travis Cross 49ac909065 skypopen/gsmopen should use SWITCH_VERSION_FULL here 2012-06-01 22:22:44 +00:00
Travis Cross c1b2472781 SWITCH_VERSION_REVISION includes the dash or dot itself 2012-06-01 22:22:44 +00:00
Travis Cross c98cdb4e04 avoid warning if late negotiation is enabled anyway 2012-06-01 21:44:21 +00:00
Anthony Minessale 879830f61c FS-4167 --resolve 2012-06-01 14:33:15 -05:00
Travis Cross c6aa2f14ec add config comments about zrtp-passthru and late negotiation 2012-06-01 21:27:33 +00:00
Anthony Minessale 410040218a add warning so users know inbound-zrtp-passthru will enable late negotiation 2012-06-01 14:11:21 -05:00
Anthony Minessale 241bdf4166 FS-4279 FS-3279 --resolve 2012-06-01 13:56:55 -05:00
Anthony Minessale 6d02716ac5 last commit part 2 2012-06-01 13:28:30 -05:00
Anthony Minessale 75aab0ee6c put presence data in state events 2012-06-01 13:21:12 -05:00
Anthony Minessale f685e4c504 allow ep_codec_string to draw from absolute_codec_string before the profile prefs 2012-06-01 10:06:28 -05:00
Marc Olivier Chouinard b2d183099f mod_voicemail: Remove the Goodbye prompt when voicemail is disabled when trying to leave a message 2012-05-31 23:36:37 -04:00
Anthony Minessale 693e04a7de FS-4250 please post a new log if this does not work 2012-05-31 09:04:14 -05:00
Ken Rice 5be9857af2 remove mod_fax. this has been deprecated for quite a while 2012-05-31 10:25:49 -05:00
Christopher Rienzo be2ec29282 Add Maintainer to mod_posix_timer, mod_unimrcp, mod_http_cache 2012-05-31 13:24:24 +00:00
Giovanni Maruzzelli 07bc7ba763 gsmopen and skypopen: updated License headers 2012-05-31 07:41:14 +02:00
Jeff Lenk 39bad5b13e vs2010 reswig for last commit 2012-05-30 15:58:48 -05:00
Anthony Minessale 3e1d68b0a6 FS-4250 --resolve erase replaces header after using it 2012-05-30 13:08:31 -05:00
Anthony Minessale 192030c578 add metadata col to internal registrations table 2012-05-30 13:05:05 -05:00
Anthony Minessale 8bb55ed4bf abstract out originate_signal_bond to a function to avoid confustion and regressions 2012-05-29 13:10:15 -05:00
Anthony Minessale baf5bbd565 FS-4266 --resolve 2012-05-29 08:42:51 -05:00
Travis Cross c6b523c65f add inbound-zrtp-passthru to sample configs 2012-05-27 05:58:12 +00:00
Travis Cross 8513be49de enable inbound-late-negotiation in sample configs
We often tell people to enable this for various reasons; it likely
makes a sensible default.
2012-05-27 05:50:47 +00:00
Travis Cross 9b569ec875 cleanup and consolidate mod_sofia configuration example 2012-05-27 05:23:29 +00:00
Anthony Minessale 03b92c9ba1 FS-4251 --resolve just a silly oversight in the code specific to this use case, thanks 2012-05-25 11:02:56 -05:00
Marc Olivier Chouinard 09bef08b83 FS-4254 --resolve
I've changed the variable name from cc_export to cc_export_vars to be more consistant from the original patch
2012-05-25 13:45:02 -04:00
Marc Olivier Chouinard d7002351d7 mod_voicemail: Make sure vm_fsdb api create the user directory before trying to move file into it 2012-05-25 07:18:55 -04:00
Jeff Lenk b0e95fdad6 vs2010 reswig mod_managed 2012-05-24 16:03:56 -05:00
Anthony Minessale 9b6702da67 swigall 2012-05-24 13:53:23 -05:00
Anthony Minessale 9daf595443 swigall 2012-05-24 13:52:53 -05:00
Travis Cross 23f8967c32
add enhanced zrtp passthrough (zrtp passthru) mode
ZRTP passthrough mode allows two ZRTP-capable clients to negotiate an
end-to-end security association through FreeSWITCH.  The clients are
therefore able to be certain that the FreeSWITCH instance mediating
the call cannot eavesdrop on their conversation.

Importantly, this capability is maintained across multiple FreeSWITCH
hops.  If widely deployed, this enables a global network architecture
where two people can speak securely with strong cryptographically
protected authentication and confidentiality.

With this commit we implement a zrtp-passthru mode that handles all
the details of the negotiation intelligently.  This mode can be
selected by setting the boolean parameter inbound-zrtp-passthru in the
sofia profile.  This will also force late-negotiation as it is
essential for correctly negotiating an end-to-end ZRTP security
association.

When an incoming call with a zrtp-hash is received and this mode is
enabled, we find the first audio and the first video zrtp-hash in the
SDP and store them as remote values on this channel.  Once a b-leg is
available, we set the local zrtp-hash values on that channel to the
remote zrtp-hash values collected from the a-leg.

Because zrtp-passthru absolutely requires that the channels negotiate
the same codec, we offer to the b-leg only codecs that the a-leg can
speak.  Once the b-leg accepts a codec, we will force that choice onto
the a-leg.

If the b-leg sends us zrtp-hash values in the signaling, we store
those as remote values on the b-leg and copy them to the local values
on the a-leg.

At this point, each leg has the zrtp-hash values from the other, and
we know we can do ZRTP passthrough mode on the call.  We send the
b-leg's zrtp-hash back to the a-leg in the 200 OK.

We then enable UDPTL mode on the rtp streams for both the audio and
the video so that we don't interfere in the ZRTP negotiation.

If the b-leg fails to return a zrtp-hash in the signaling, we set up a
ZRTP security association with the a-leg ourselves, if we are so
equipped.  Likewise, if the a-leg fails to send a zrtp-hash in the
signaling, we attempt to set up a ZRTP security association ourselves
with the b-leg.

The zrtp-passthru mode can also be enabled in the dialplan by setting
the boolean channel variable zrtp_passthru.  If enabled in this
manner, we can't force late-negotiation, so the user would need to be
sure this is configured.

If ZRTP passthrough mode is not enabled in either manner, this change
should have no effect.

Channel variables for each of the various zrtp-hash values are set,
though it is anticipated that there is no good reason to use them, so
they may be removed without warning.  For checking whether zrtp
passthrough mode was successful, we provide the channel variable
zrtp_passthru_active which is set on both legs.

Though not implemented by this commit, the changes here should make it
more straightforward to add correct zrtp-hash values to the signaling
and verify that correct hello hash values are received when FreeSWITCH
is acting as a terminating leg of the ZRTP security association.

A historical note...

This commit replaces the recently-added sdp_zrtp_hash_string method,
commit 2ab1605a88.

This prior method sets a channel variable from the a-leg's zrtp-hash,
then relies on the dialplan to export this channel variable to the
b-leg, where it is put into the SDP.

While it was a great start and wonderful for testing, this approach
has some drawbacks that motivated the present work:

 * There's no good way to pass the zrtp-hash from the b-leg back to
   the a-leg.  In fact, the implementation seems to send the a-leg's
   zrtp-hash back to the originating client in the 200 OK.  This is
   not correct.

 * To support video, we'd need to have a separate dialplan variable,
   and the dialplan author would need to deal with that explicitly.

 * The API is problematic as it requires the dialplan author to
   understand intricate details of how ZRTP works to implement a
   correct dialplan.  Further, by providing too fine-grained control
   (but at the same time, not enough control) it would limit our
   ability to make the behavior smarter once people started relying on
   this.
2012-05-24 20:39:03 +00:00
Anthony Minessale 8c889aa3a7 add param for scgi to monitor its own server process 2012-05-24 13:07:46 -05:00
Anthony Minessale 1cfd145c17 add support for variable expander to recognize 717 vars as specificly globals 2012-05-24 13:07:26 -05:00
Anthony Minessale 2a257a56a2 default to forking system on non-windows 2012-05-24 13:06:32 -05:00
Tamas Cseke 9dc9ee974c doh FS-3423 2012-05-24 16:19:01 +02:00
Tamas Cseke 377f6a9ef6 remove channel private, state handler and clear controlled flag on destroy FS-3432 2012-05-24 16:12:55 +02:00
Tamas Cseke 2be25c6a56 remove removal while traversing the hash and and lock to elimate race FS-3432 2012-05-24 15:14:14 +02:00
Tamas Cseke 78641d4264 cleanup process spawning, remove mutex lock and add session to listener only if reply state and session flag is set to waiting FS-3432 2012-05-24 14:55:29 +02:00
Tamas Cseke 85656c31af add session event r/w locking FS-3432 2012-05-24 11:44:12 +02:00
Tamas Cseke 87f65f1784 add session r/w locking FS-3432 2012-05-24 11:32:15 +02:00
Tamas Cseke fdd3a8d333 set and clear session flags locked FS-3432 2012-05-24 11:16:26 +02:00
Tamas Cseke 4e6b56c53d add listener event r/w locking FS-3432 2012-05-24 10:57:28 +02:00
Tamas Cseke eade657225 listener r/w locking FS-3432 2012-05-24 10:30:48 +02:00
Travis Cross 343bdec239 remove .vcxproj.user file in tree 2012-05-24 08:04:49 +00:00
Tamas Cseke 8f4c5bc492 add Andrew's patch from FS-3432 as a starting point with todo markers 2012-05-24 09:37:41 +02:00
Tamas Cseke fbcb862265 add thread safe hash multi delete function and make callback optional 2012-05-24 09:35:23 +02:00
Travis Cross f37b1f0c54 squelch another source of noise ZRTP protection drops 2012-05-24 03:59:09 +00:00
Travis Cross d470ae239c don't log ZRTP protection drops
At least until we can distinguish the meaningful ones from the noise.
2012-05-24 03:52:51 +00:00
Travis Cross 236b927780 lower log level on ZRTP protection drop
When a call is being setup, a couple seconds of audio may be sent
unencrypted.  This seems to trigger the log message here with every
such packet.
2012-05-24 03:50:42 +00:00
Travis Cross 0c1a95f745 fix gcc 4.7.0 warning related to enum type
This amends commit 7bd9efc7f5.

We changed away from using unsigned here because it caused a warning
on Windows.  Using the more specific type, however, is causing a
warning on gcc-4.7 (it notices that the switch statement contains
values not present in the specified enum type).  So we're switching
back to unsigned here while keeping the type casts and hoping that
keeps Windows happy.
2012-05-24 00:48:59 +00:00
Travis Cross 16cf43a68d fix indentation; whitespace 2012-05-23 23:46:21 +00:00
Travis Cross cb58e81c17 add editor variables to mod_sofia.h 2012-05-23 23:44:44 +00:00