Commit Graph

1191 Commits

Author SHA1 Message Date
Anthony Minessale c4e7c302f9 FS-5351 --resolve 2013-04-27 08:19:18 -05:00
Anthony Minessale 7a42ec06df RTP stats were not being logged. There is no JIRA on this sigh 2013-04-26 09:31:28 -05:00
Brian West 88a13a7580 FS-5316 --resolve 2013-04-25 13:48:02 -05:00
Anthony Minessale e1c325dcb5 FS-5341 --resolve 2013-04-23 14:49:07 -05:00
Anthony Minessale c8a6c99f84 FS-5322 --resolve 2013-04-18 16:27:45 -05:00
Anthony Minessale 7aa23c4b21 FS-5299 --resolve 2013-04-17 15:38:37 -05:00
Michael Jerris 0aa2009d1d fix case for call_completed_elsewhere var set 2013-04-15 16:45:32 -04:00
Anthony Minessale 8adeab7d5a move callstate changes down to take place after the core states have run 2013-04-15 10:43:32 -05:00
Anthony Minessale b934891f49 sla cid tweaks 2013-04-05 00:38:57 -05:00
Anthony Minessale 3cc441485b revert 2013-04-05 00:38:09 -05:00
Anthony Minessale 900f2aab74 sla cid tweaks
Conflicts:
	src/mod/endpoints/mod_sofia/sofia_glue.c
2013-04-05 00:36:44 -05:00
Anthony Minessale dd878da49d clean up proxy media mode 2013-03-31 21:27:27 -05:00
Anthony Minessale 45bd5952b1 fix some regressions and improve candidate selection 2013-03-31 21:27:26 -05:00
Anthony Minessale 4b3aa396fb fix some regessions and sync namespace of some vars 2013-03-31 21:27:25 -05:00
Anthony Minessale c4b221c750 trying to get mozilla to work using sipml5, got stun/dtls/rtp flowing and its dead silent. c'mon guys... why do you have to do everything differently????? 2013-03-31 21:27:25 -05:00
Anthony Minessale ad1226b5c4 change name to match steves changes in master 2013-03-31 21:27:23 -05:00
Anthony Minessale 5c90322e8c MILESTONE: kind of works on media and signaling 2013-03-31 21:27:20 -05:00
Anthony Minessale 1c120dd2c8 not too shabby audio and vid work both directions but browswer hates our srtcp ... 2013-03-31 21:27:18 -05:00
Anthony Minessale 7510bccd6c MILESTONE: working inbound calls 2013-03-31 21:27:17 -05:00
Anthony Minessale 0fffc839e4 pass1 2013-03-31 21:27:14 -05:00
Anthony Minessale eb81042a6f wip 2013-03-31 21:27:14 -05:00
Anthony Minessale d6af3a1fdd omfg 2013-03-31 21:27:14 -05:00
Anthony Minessale 1ab88581d7 rename 2013-03-31 21:27:14 -05:00
Anthony Minessale 0a246d1cb4 pull srtp negotiation stuff into the core stage 1 2013-03-31 21:27:13 -05:00
Anthony Minessale 330f68d946 convert rtp flags to arrays 2013-03-31 21:27:13 -05:00
Anthony Minessale 9fc4beeaa5 FS-3576 --resolve 2013-03-07 08:44:32 -06:00
Anthony Minessale 9ccdf30ed2 sqlite can't handle bi-directional mutexing 2013-03-06 18:02:01 -06:00
Anthony Minessale fc1316601b FS-5118 take 2 2013-02-27 09:04:55 -06:00
Anthony Minessale cf7c9428fb FS-5118 --resolve 2013-02-26 16:37:33 -06:00
Anthony Minessale 8987e96744 add dedicated mutex for select based sql stuff 2013-02-25 15:42:26 -06:00
Anthony Minessale 18cd797065 cleanup 2013-02-18 13:54:34 -06:00
Steve Underwood 5144700927 Changed the ..._image_sdp routine to ..._udptl_image_sdp in preparation for
adding other kinds of image (specifically RTP and TCP/TPKT).
2013-02-03 16:28:20 +08:00
Raymond Chandler c7c4bda847 fix pnp 2013-01-09 18:18:07 -05:00
Anthony Minessale b78ffffed5 FS-3951 --resolve 2013-01-07 12:36:58 -06:00
Anthony Minessale f2428b08f9 FS-4779 --resolve 2013-01-07 10:27:28 -06:00
Anthony Minessale 7e8e99e52c fix answer contention issue 2012-12-06 11:11:07 -06:00
Anthony Minessale b35ac6b3bd fix auto_simplify 2012-11-29 18:34:27 -06:00
Anthony Minessale 685da11d0d FS-4885 --resolve this is not the best solution but it will work 2012-11-29 12:37:46 -06:00
Anthony Minessale d4f8a79299 try to improve audio stream sync 2012-11-28 23:12:35 -06:00
Anthony Minessale d48e3de7c8 make it so when you put someone on hold and then they attended transfer you, the resulting bridge will still be playing hold music 2012-11-15 21:07:58 -06:00
Anthony Minessale 2f2a351067 add initial_callee_id_name/number 2012-11-14 09:20:52 -06:00
Anthony Minessale feb38cece2 FS-4779 give this a shot 2012-11-07 08:14:32 -06:00
Anthony Minessale 23bb963d17 FS-4779 I don't have this labbed up to try so can you try this patch and repost logs if it doesn't work 2012-10-31 08:52:00 -05:00
Anthony Minessale b94ef869e3 FS-4769 try this patch and put {drop_dtmf=true} in your dial string 2012-10-26 14:46:36 -05:00
Anthony Minessale b29412054a fold reconfig_sofia into config_sofia so we don't have 2 difft config funcs 2012-10-25 12:30:08 -05:00
Anthony Minessale 68e0b7e859 optimize sofia sql by using new core transaction processor we will no longer support databases that do not support transactions 2012-10-25 11:31:47 -05:00
Brian West fbb99f60b4 really fix FS-3726 this time 2012-10-18 15:56:06 -05:00
Anthony Minessale 986fede6b0 make a way to get the jitter buffer down to the codecs 2012-10-18 15:29:00 -04:00
Anthony Minessale a20aec182a add rtp_manual_video_rtp_bugs 2012-10-16 18:43:00 -04:00
Anthony Minessale 7eafa85de5 add execute_on_media_timeout var 2012-10-16 12:48:16 -04:00
Anthony Minessale ea599992e1 FS-4656 --resolve with this patch the bug is fixed but also the old behaviour of setting this variable on the A leg expecting it to auto-set it on the B leg is no longer supported. It must be exported or put in the dialstring with {} to put it on the B leg going forward 2012-10-03 07:42:05 -05:00
Anthony Minessale 06a3266360 FS-4655 its not a bug its a behaviour request, try this patch 2012-09-27 14:27:28 -05:00
Anthony Minessale 9c97ae3ccc FS-4640 please test 2012-09-21 14:45:30 -05:00
Raymond Chandler bf4bb0028e Merge branch 'master' into FS-4558 2012-09-08 02:29:59 -04:00
Raymond Chandler 8ef13dd8a2 FS-4558 --resolve 2012-09-08 02:28:35 -04:00
Anthony Minessale bfc46567c1 add uuid_media_reneg api command to tell a channel to send a re-invite with optional list of new codecs 2012-09-07 15:33:09 -05:00
Anthony Minessale 455b22480c FS-3971 --resolve 2012-09-04 12:30:23 -05:00
Anthony Minessale a5e9f65e31 FS-4582 --resolve 2012-09-01 11:46:45 -05:00
Raymond Chandler 6ed3218f8a FS-4558: add uuid 2012-08-31 16:35:13 -04:00
Anthony Minessale 6d2b3256c3 another efficiency pass on sofia and refactoring of 3c685bff25 to be more efficient 2012-08-30 15:26:13 -05:00
Anthony Minessale 04924f1694 FS-4079 FS-4540 regression from 5213c764bb please update ASAP if you are running this one 2012-08-23 14:56:37 -05:00
Anthony Minessale 5213c764bb FS-4079 FS-4540 minor refactoring to fix some minor side effects of recent changes 2012-08-23 11:10:03 -05:00
Anthony Minessale 2a8841ab66 change mod_sofia to use new core based recovery engine 2012-08-22 16:27:07 -05:00
Anthony Minessale cc351ca004 revert 2012-08-16 12:09:19 -05:00
Anthony Minessale 42bf44de51 FS-4539 please test this and post new logs if necessary 2012-08-16 11:56:55 -05:00
Anthony Minessale bb69310259 FS-4079 FS-4540 please update to this version 2012-08-15 22:51:41 -05:00
Anthony Minessale ef5c1256f3 add rtp endpoint contributed by sangoma 2012-08-08 14:46:38 -05:00
Anthony Minessale 06ed24b2d4 FS-4501 try this 2012-08-06 19:38:56 -05:00
Anthony Minessale c3de9637af FS-4079 please test 2012-08-06 16:12:03 -05:00
Anthony Minessale beed0336c0 FS-4484 I missed the part about gateways, that is a different story. Try this patch 2012-07-31 15:53:00 -05:00
Anthony Minessale 32b3f3e224 doh 2012-07-25 19:09:03 -05:00
Anthony Minessale c9e172789c FS-4467 try this patch that will sanity check for dups to catch this case when the ambigous method is used 2012-07-25 16:34:43 -05:00
Anthony Minessale 5867d0424d FS-4079 please try this 2012-07-18 21:48:53 -05:00
Anthony Minessale ba6c404eb9 FS-4422 2012-07-12 18:10:20 -05:00
Anthony Minessale 2aebe2456f first pass on some new stuff 2012-07-11 15:15:50 -05:00
Anthony Minessale 15fda06646 FS-4381 --resolve 2012-07-03 09:23:25 -05: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
Brian West 37e61ee6eb FS-4320 sigh 2012-06-21 13:07:38 -05:00
Michael Jerris ea503ea23e fix pnp config for grandstream 2012-06-19 14:22:57 -04:00
Anthony Minessale 56325e8c71 FS-4079 possible fix 2012-06-11 11:15:41 -05:00
Anthony Minessale 693e04a7de FS-4250 please post a new log if this does not work 2012-05-31 09:04:14 -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
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 fb790bc320 block any inbound messages when queue is full; add debounce for mwi and pres on register; fix missing detach attr on new mode to process reg in new thread 2012-05-22 10:27:23 -05:00
Anthony Minessale 718a311a41 FS-4224 --resolve add optional wait param to sofia profile stop [sofia profile foo stop wait] 2012-05-18 07:52:58 -05:00
Anthony Minessale bbdcd33bde performance tweaks for sip message parsing and event system 2012-05-17 20:10:53 -05:00
Anthony Minessale f9653fbd38 FS-4204 --resolve 2012-05-10 22:34:37 -05:00
Anthony Minessale 225eebc20d take out 101 dialing 2012-05-08 19:44:39 -05:00
Anthony Minessale 07204a1fb5 add param:confirm-blind-transfer var:confirm_blind_transfer that makes blind transfers keep the transferrer on the line until its confirmed that the call was completed or brings it back to the bridge. blind_transfer_ack app can be executed in the dp by the transferee to indicate sucess or fail or a sucessful bridge will automatically trigger a success 2012-05-08 08:50:41 -05:00
Anthony Minessale a511ff3026 re-implement sla barge using eavesdrop backend 2012-05-07 13:44:16 -05:00
Moises Silva 105ce9ff33 Fixes before merging sangoma repo with upstream 2012-05-07 16:26:48 -04:00
Moises Silva 1f08e2b0ec Merge remote branch 'fsorig/master' 2012-05-07 15:46:08 -04:00
Anthony Minessale 8664dc6d5a some perfomance tweaks 2012-05-03 16:31:21 -05:00
Anthony Minessale 481df053ac require timer by default unless its t.38 re-invite 2012-04-27 14:41:32 -05:00
Anthony Minessale 8203475563 FS-4148 --resolve note: see switch_core_session_get_partner 2012-04-26 08:52:29 -05:00
Ken Rice c5554eb939 Copyright date update. 2012-04-18 11:52:02 -05:00
Anthony Minessale 19f441c6f4 move relevant portion of display update code into the core and fix mod_loopback bug involving passing display updates across properly 2012-04-17 16:13:41 -05:00
Anthony Minessale 6e512f1a89 FS-4053 --resolve 2012-04-16 11:57:19 -05:00
David Yat Sin 27e4cdb4dd Merge branch 'fsorig'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c
2012-04-03 18:08:49 -04:00
Anthony Minessale 2ab1605a88 ZRTP passthru mode code for phil 2012-03-29 18:37:15 -05:00
Anthony Minessale 221b82f1e9 FS-4053 try this 2012-03-29 11:36:07 -05:00
Anthony Minessale 6f6765b8f2 start one msg thread per cpu by default 2012-03-27 16:48:30 -05:00
Anthony Minessale e31a35a7be FS-3973 --resolve we can go with this for now and ponder the other problem for later 2012-03-09 11:43:37 -06:00
Anthony Minessale 926af0392d FS-3940 --resolve 2012-02-28 10:17:08 -06:00
Anthony Minessale ba1db5b65a FS-3928 --resolve 2012-02-21 10:08:58 -06:00
Anthony Minessale 341cc2f0fc FS-3917 sneaky sql null vs != crap 2012-02-17 19:47:57 -06:00
Anthony Minessale 3a0cfa9aaa FS-3916 --resolve i don't think its necessary for info but you could try it with another FS process to confirm 2012-02-17 10:04:09 -06:00
Anthony Minessale 33cb10d6c5 FS-3915 --resolve 2012-02-17 09:57:56 -06:00
Anthony Minessale 320d04a9f8 remove warning 2012-02-03 11:50:24 -06:00
Moises Silva 1ad0bc250c Merge remote-tracking branch 'fsorig/master' 2012-01-31 15:57:07 -05:00
Anthony Minessale b3b33ea995 FS-3794 please test this version 2012-01-26 04:46:48 -06:00
Anthony Minessale 39c4e7a320 add support for yealink display update 2012-01-25 10:25:02 -06:00
Anthony Minessale 5ef0c1cc5b disable display update when the channel has not been answered 2012-01-19 11:32:57 -06:00
Anthony Minessale 3b825e0113 FS-3794 try this patch for the REFER issue 2012-01-17 09:21:47 -06:00
Anthony Minessale 2883f2a600 FS-3814 --resolve 2012-01-17 08:55:48 -06:00
Anthony Minessale c646cb402c FS-3810 --resolve 2012-01-16 12:45:25 -06:00
Jeff Lenk 424ba6937e FS-3796 --resolve 2012-01-06 12:18:57 -06:00
Marc Olivier Chouinard d637453552 FS-3029 --resolve 2011-12-23 16:07:33 -05:00
Marc Olivier Chouinard 15671263f8 FS-3317 --resolve 2011-12-19 06:53:48 -05:00
Marc Olivier Chouinard 7987d0461c FS-3397 --resolve
I've changed it to use TAG_IF instead
2011-12-18 12:49:10 -05:00
Marc Olivier Chouinard 947096c66d FS-3071 Added the tls extra options patch 2011-12-18 11:37:04 -05:00
Moises Silva 7e31b9cc28 Merge remote branch 'fsorig/master'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c
2011-12-17 17:21:14 -05:00
Anthony Minessale 482d9db8b0 d'oh 2011-12-16 14:41:48 -06:00
Anthony Minessale 6dd5e59b05 add sofia global standby on that makes sofia not do anything but refuse to work until sofia global standby off or sofia recover is issued 2011-12-16 13:41:25 -06:00
Marc Olivier Chouinard 0a463b0c3c FS-949 --resolve 2011-12-15 19:13:09 -05:00
Marc Olivier Chouinard a0a77f8cc6 FS-3321 Small correction on my own addition 2011-12-15 12:23:53 -05:00
Marc Olivier Chouinard e081e8045e FS-3321 --resolve 2011-12-15 12:16:41 -05:00
Marc Olivier Chouinard 894ba68bc5 FS-2901 --resolve 2011-12-14 21:56:00 -05:00
Anthony Minessale 4943f68208 set rtp stack into optimal mode for transferring data during fax situations (that does not mean we support the idea of audio fax over ip......) 2011-12-08 12:26:36 -06:00
Anthony Minessale d9089edf89 finishing touches for commit: b9e28f85cb 2011-11-29 16:23:49 -06:00
Anthony Minessale 4ce8f5e28e FS-3688 some more general changes during proxy media 2011-11-28 13:38:05 -06:00
Anthony Minessale b9e28f85cb add send_info dp app and uuid_send_info FSAPI and execute_on_sip_extra_headers and api_on_sip_extra_headers handler variables 2011-11-23 15:38:59 -06:00
Anthony Minessale 58c3c3a049 comment out optional Require header from re-invites for the sake of interop with testy t.38 terminals 2011-11-22 18:22:57 -06:00
Jeff Lenk 422df6180f trivial fix build 2011-11-21 12:50:00 -06:00
Anthony Minessale a24148db71 revert 2011-11-21 09:17:21 -06:00
Anthony Minessale dac9d6e3ea FS-3688 try this also with sofia loglevel all 9 2011-11-19 19:12:08 -06:00
Anthony Minessale 71ecf081f0 FS-3688 revert 2011-11-18 17:00:30 -06:00
Anthony Minessale 00e381f183 FS-3699 --resolve 2011-11-17 16:25:50 -06:00
Anthony Minessale 04469bb5c9 FS-3688 forgot to revert test code 2011-11-17 14:40:12 -06:00
Anthony Minessale 2fae5dfadd FS-3688 please do clean build and test make current or the equiv 2011-11-17 11:44:10 -06:00
Anthony Minessale 179f6b57a6 FS-3688 please test under same monitoring conditions and report results 2011-11-14 15:26:17 -06:00
Anthony Minessale ba14f95d81 FS-3678 --resolve 2011-11-08 08:02:17 -06:00
Anthony Minessale babe955160 FS-3634 see if this works 2011-10-25 08:47:01 -05:00
Anthony Minessale 3764a60df9 FS-3469 here is some more, this may never be perfect 2011-10-24 18:54:25 -05:00
Anthony Minessale d0f13812e8 FS-3628 --resolve 2011-10-21 21:38:11 -05:00
Anthony Minessale fdb4031ac0 aesthetic update 2011-10-14 14:13:16 -05:00
Brian West 4893acdb16 missed yet another one 2011-10-05 22:54:31 -05:00
Moises Silva b004bcfc6d Merge remote-tracking branch 'fsorig/master'
Conflicts:
	src/mod/endpoints/mod_sofia/mod_sofia.c
	src/mod/endpoints/mod_sofia/sofia_glue.c
2011-09-28 12:19:48 -04:00