32813 Commits

Author SHA1 Message Date
Italo Rossi
1b900cc050 FS-10858 - [verto_communicator] Removing emit of res_check_done, on slow connections the emit could happen before the listening thus freezing the app on loading 2018-01-15 01:42:13 -05:00
Anthony Minessale
9df8d2f300 FS-10860: [core] Distorted music when playing it as local stream into a conference as hold music #resolve 2018-01-15 01:42:06 -05:00
Italo Rossi
e9e5298151 FS-10858 - [verto_communicator] Waiting for resolution check finish before redirecting to preview screen. 2018-01-15 01:41:57 -05:00
Anthony Minessale
91cc3c56e0 FS-10854: [mod_conference] Canvas FG Image not refreshed before writing to video recordings #resolve 2018-01-15 01:41:48 -05:00
Anthony Minessale
cf12785b33 FS-10243: [mod_conference] Add conference variables 2018-01-15 01:41:38 -05:00
Brian West
628cf17597 FS-10840: [mod_sofia] max-registrations-per-extension parameter is not multi-tennant 2018-01-15 01:41:28 -05:00
Seven Du
e65f63ae25 tweak av and ensure first image write at pts = 0 to avoid a black screen 2018-01-15 01:41:04 -05:00
Anthony Minessale
42d26c4d1a FS-10890: [mod_av] Wrongly calculated delta_tmp for end of video file recording #resolve 2018-01-15 01:40:56 -05:00
Anthony Minessale
7f57dc0455 FS-10821: [mod_conference] fix arg parser in file vol command in conference #resolve 2018-01-15 01:40:10 -05:00
Seven Du
e75818fb79 fix split slice 2018-01-15 01:40:01 -05:00
Brian West
760dc31ee6 FS-10892: [mod_av] Lip Sync Improvements #resolve 2018-01-15 01:39:54 -05:00
Anthony Minessale
f8a825c6c8 FS-10891: [mod_conference] Refactor mux video to be smoother #resolve 2018-01-15 01:39:44 -05:00
Italo Rossi
829b68a431 FS-10814 - [verto_communicator] Do not change video resolution if auto detect video settings is off 2018-01-15 01:39:35 -05:00
Anthony Minessale
9a8cbf7797 FS-10802: [mod_conference] Convert conference floor to id based 2018-01-15 01:39:20 -05:00
Anthony Minessale
ba5f0d0b28 FS-10769: [mod_av,mod_conference] Lipsync issues in conference recording 2018-01-15 01:39:13 -05:00
Anthony Minessale
f97ddc8b6a FS-10802: [mod_conference] Convert conference floor to id based 2018-01-15 01:39:04 -05:00
Anthony Minessale
4479c906f9 FS-10802: [mod_conference] Convert conference floor to id based 2018-01-15 01:38:54 -05:00
Anthony Minessale
ee49d90c46 FS-10803: [mod_conference] Add support for alternate video layout config per conference profile 2018-01-15 01:38:45 -05:00
Anthony Minessale
1f738fd699 FS-10803: [mod_conference] Add support for alternate video layout config per conference profile #resolve 2018-01-15 01:38:31 -05:00
Anthony Minessale
c779dbef50 FS-10802: [mod_conference] Convert conference floor to id based #resolve 2018-01-15 01:38:22 -05:00
Anthony Minessale
1ea2a1849f remove hack for chrome we don't need anymore 2018-01-15 01:38:10 -05:00
Anthony Minessale
305e632d0c FS-8761: [freeswitch-core] Memory leak in FreeSWITCH 2018-01-15 01:37:55 -05:00
Anthony Minessale
9e9866a033 FS-10799: [mod_commands] Add toupper and tolower api funcs #resolve 2018-01-15 01:37:31 -05:00
Anthony Minessale
3bc7ad9ad9 FS-10762: [freeswitch-core] Websocket logic error #resolve 2018-01-15 01:37:17 -05:00
Anthony Minessale
2f2568cdd0 FS-10762: [freeswitch-core] Websocket logic error 2018-01-15 01:36:58 -05:00
Anthony Minessale
6dbd260723 FS-10770: [freeswitch-core] Make nack buffer bigger by default 2018-01-15 01:35:32 -05:00
Anthony Minessale
e9c2f09c58 FS-10770: [freeswitch-core] Make nack buffer bigger by default 2018-01-15 01:35:25 -05:00
Anthony Minessale
44007a5a65 FS-10762: [freeswitch-core] Websocket logic error #resolve 2018-01-15 01:35:19 -05:00
Mike Jerris
03315e95ca FS-10881: Debian sources parsing support for args 2018-01-09 15:43:59 -06:00
Mike Jerris
dfe2ebb038 Merge pull request #7 in FSA/freeswitch-advantage from MKI-regression to v1.8-fsa
* commit '755ce589ce65422a69ce11f86f64186bff6f902c':
  FS-10778: Fix for MKI regression introduced in FS-10778
2018-01-02 21:39:46 +00:00
Piotr Gregor
755ce589ce FS-10778: Fix for MKI regression introduced in FS-10778 2018-01-02 21:35:46 +00:00
Mike Jerris
32f6387217 swigall 2017-12-27 16:21:30 -06:00
Mike Jerris
648da0f43d Merge pull request #5 in FSA/freeswitch-advantage from bugfix/FS-10853-fix-failed-build-for-mod_dingaling to v1.8-fsa
* commit '92128756a2f63d83d0004eb2b5eeaf6b27f115c7':
  FS-10853: Fix failed build for mod_dingaling
2017-12-20 22:00:23 +00:00
Piotr Gregor
92128756a2 FS-10853: Fix failed build for mod_dingaling
Fixes build but must be tested at runtime.
2017-12-20 21:33:34 +00:00
Anthony Minessale
34b390bee0 FS-10843: [freeswitch-core] Tweak RTP write timing #resolve 2017-12-19 14:31:12 -06:00
Mike Jerris
15a5dc52a9 Merge pull request #3 in FSA/freeswitch-advantage from ~PIOTRGREGOR/freeswitch:feature/FS-10778-srtp-mki-support to v1.8-fsa
* commit 'c47d3ad6b7e3fbd752ec4c6a7d0af3186ca94a30':
  FS-10778: Evaluate rtp_secure_media_mki variable with switch_channel_var_true
2017-12-05 16:44:45 +00:00
Piotr
c47d3ad6b7 FS-10778: Evaluate rtp_secure_media_mki variable with switch_channel_var_true
Previously rtp_secure_media_mki channel variable was checked only
for existence, now it is checked if it's defined and evaluates
to true with switch_channel_var_true().
2017-12-05 16:02:58 +00:00
Mike Jerris
366bf3f89c Merge pull request #2 in FSA/freeswitch-advantage from ~PIOTRGREGOR/freeswitch:feature/FS-10778-srtp-mki-support to v1.8-fsa
* commit '903ea6e6114d3ee8219644f5c7f1f1479bf0bb17':
  FS-10778: Fix compilation and refactor code
2017-12-04 20:03:42 +00:00
Anthony Minessale
e0d79bd0cf FS-10823: [mod_sofia] curly brackets on SDP header causes FS to crash #resolve 2017-12-04 14:00:28 -06:00
Piotr
903ea6e611 FS-10778: Fix compilation and refactor code
Prefer break over indent.

if (!p) {
    break;
}

// the code...

over

if (p) {
    // the
    // code
    // ...
}
2017-12-04 15:24:54 +00:00
Mike Jerris
43fc695b73 FS-10778: fix MKI compile error 2017-12-01 15:10:50 -06:00
Mike Jerris
70d60698a3 Merge pull request #1 in FSA/freeswitch-advantage from ~PIOTRGREGOR/freeswitch:feature/FS-10778-srtp-mki-support to v1.8-fsa
* commit '6520827b620951b8e016cbaaa4d321261e3ea3e2':
  FS-10778: Add support for MKI to SRTP
2017-11-30 20:20:33 +00:00
Piotr Gregor
6520827b62 FS-10778: Add support for MKI to SRTP
MKI support for SRTP has been tested on calls to/from
Telnyx's Skype for Business from/to local extension registered to FS
and between Skype for Business clients connected to FreeSWITCH.

SfB -> FreeSWITCH -> User 1004
   SRTP           RTP
   with
   MKI

SfB <- FreeSWITCH <- User 1004
   SRTP           RTP

SfB <-> FreeSWITCH <-> SfB
 SRTP/MKI      SRTP/MKI

Channel variable "rtp_secure_media_mki" was added to drive offering
of MKI on outbound SRTP from FS.

How to use rtp_secure_media_mki

Set rtp_secure_media_mki=true to offer MKI for outgoing SRTP (if SRTP is used) in inbound call.
Export rtp_secure_media=true to offer MKI for outgoing SRTP (if SRTP is used) on outbound call.
... or set it in the codec string for bridged calls

<action application="set" data="rtp_secure_media_mki=true"/>

<action application="export" data="rtp_secure_media_mki=true"/>

<action application="bridge" data="[absolute_codec_string=^^:PCMU:PCMA:G729,rtp_secure_media=true,rtp_secure_media_mki=true]sofia/external/+12404373253@169.55.36.24:5060;transport=tls"/>

EXAMPLES

1. Set example

 57     <extension name="telnyx_test_1_2">
 58         <condition field="destination_number" expression="^(0012404373253)$">
 59             <action application="set" data="rtp_secure_media=true"/>
 60             <action application="set" data="rtp_secure_media_mki=true"/>
 61             <action application="answer"/>
 62             <action application="bridge" data="user/1004@${domain_name}"/>
 63       </condition>
 64   </extension>

Description: SRTP will be used on outbound leg in incoming call due to rtp_secure_media=true
set and MKI will be offered in SDP. SRTP will not be used on a bridged call to extension 1004.

2. Export example

 75   <extension name="to_skype_for_business">
 76       <condition field="destination_number" expression="^(840531022)$">
 77           <action application="set" data="rtp_secure_media=optional"/>
 78           <action application="export" data="rtp_secure_media_mki=true"/>
 79           <action application="bridge" data="[absolute_codec_string=^^:PCMU:PCMA:G729,rtp_secure_media=true]sofia/external/+12404373728@169.55.36.24:5060;transport=tls"/>
 80       </condition>
 81   </extension>

Description: SRTP on inbound call has been set to optional therefore MKI will be used
on outbound SRTP in this call if SRTP is used at all. SRTP will be used on a bridged call
due to rtp_secure_media=true set in codec string and MKI will be used in offering SDP.

3. Bridging between Skype for Business clients: set

 97     <extension name="S4B_fs_S4B">
 98         <condition field="destination_number" expression="^(0012404373254)$">
 99             <action application="set" data="rtp_secure_media=true"/>
100             <action application="set" data="rtp_secure_media_mki=true"/>
101             <action application="bridge" data="[absolute_codec_string=^^:PCMU:PCMA:G729,rtp_secure_media=true]sofia/external/+12404373253@169.55.36.$
102       </condition>
103   </extension>

Result:
2017-11-27 19:00:26.977704 [NOTICE] switch_ivr_originate.c:527 Ring Ready sofia/external/+12404373728@telnyxlab.com!
2017-11-27 19:00:32.657687 [NOTICE] switch_core_media.c:1534 Skipping MKI due to empty index
2017-11-27 19:00:32.657687 [INFO] switch_rtp.c:4079 Activating audio Secure RTP SEND
2017-11-27 19:00:32.657687 [INFO] switch_rtp.c:4057 Activating audio Secure RTP RECV
2017-11-27 19:00:32.657687 [NOTICE] sofia.c:8419 Channel [sofia/external/%2B12404373253@169.55.36.24:5060] has been answered
2017-11-27 19:00:35.317702 [INFO] switch_rtp.c:4079 Activating audio Secure RTP SEND (with MKI)
2017-11-27 19:00:35.317702 [INFO] switch_rtp.c:4057 Activating audio Secure RTP RECV (with MKI)
2017-11-27 19:00:35.317702 [NOTICE] sofia_media.c:92 Pre-Answer sofia/external/+12404373728@telnyxlab.com!

Description: SRTP with MKI is used on outbound leg of inbound call (due to use on inbound leg of this call and "set").
Standard SRTP is used in both legs of outbound call, because rtp_secure_media_mki wasn't exported
or set in codec string for the outbound call.

4. Bridging between Skype for Business clients: Set and export

 97     <extension name="S4B_fs_S4B">
 98         <condition field="destination_number" expression="^(0012404373254)$">
 99             <action application="set" data="rtp_secure_media=true"/>
100             <action application="set" data="rtp_secure_media_mki=true"/>
101             <action application="export" data="rtp_secure_media_mki=true"/>
102             <action application="bridge" data="[absolute_codec_string=^^:PCMU:PCMA:G729,rtp_secure_media=true]sofia/external/+12404373253@169.55.36.24:5060;transport=tls"/>
103       </condition>
104   </extension>

Result:
2017-11-27 18:51:29.017689 [NOTICE] switch_ivr_originate.c:527 Ring Ready sofia/external/+12404373728@telnyxlab.com!
2017-11-27 18:51:35.097729 [INFO] switch_rtp.c:4079 Activating audio Secure RTP SEND (with MKI)
2017-11-27 18:51:35.097729 [INFO] switch_rtp.c:4057 Activating audio Secure RTP RECV (with MKI)
2017-11-27 18:51:35.097729 [NOTICE] sofia.c:8419 Channel [sofia/external/%2B12404373253@169.55.36.24:5060] has been answered
2017-11-27 18:51:37.797706 [INFO] switch_rtp.c:4079 Activating audio Secure RTP SEND (with MKI)
2017-11-27 18:51:37.797706 [INFO] switch_rtp.c:4057 Activating audio Secure RTP RECV (with MKI)

Description: Connecting Skype For Business client to Skype for Business client.
Send SRTP with MKI in both outbound streams:
	- for inbound call: MKI was offered in incoming call and enabled for outbound leg with "set"
	- for outbound call: MKI was enabled with "export"

5. Other examples

Setup to use SRTP with MKI only on the inbound SRTP on incoming call from Telnyx SfB
Tested dialing 0012404373253 from SfB to FS, leg SfB <-> FS uses SRTP with MKI
on inbound SRTP only

57     <extension name="telnyx_test_1_2">
58         <condition field="destination_number" expression="^(0012404373253)$">
59              <action application="set" data="rtp_secure_media=true"/>
61              <action application="answer"/>
62              <action application="bridge" data="user/1004@${domain_name}"/>
63       </condition>
64   </extension>

Result:
2017-11-23 20:44:35.406026 [INFO] mod_dialplan_xml.c:637 Processing Test02 <+12404373728>->0012404373253 in context public
2017-11-23 20:44:38.566022 [INFO] switch_rtp.c:4107 Activating audio Secure RTP SEND
2017-11-23 20:44:38.566022 [INFO] switch_rtp.c:4085 Activating audio Secure RTP RECV (with MKI)

Setup to send and receive SRTP with MKI on incoming call from Telnyx SfB
Tested dialing 0012404373253 from SfB to FS, leg SfB <-> FS uses SRTP with MKI
in both directions

57     <extension name="telnyx_test_1_2">
58         <condition field="destination_number" expression="^(0012404373253)$">
59     		<action application="set" data="rtp_secure_media=true"/>
60     		<action application="set" data="rtp_secure_media_mki"/>
61     		<action application="answer"/>
62     		<action application="bridge" data="user/1004@${domain_name}"/>
63       </condition>
64   </extension>

Result:
2017-11-23 20:42:06.026034 [INFO] mod_dialplan_xml.c:637 Processing Test02 <+12404373728>->0012404373253 in context public
2017-11-23 20:42:09.526034 [INFO] switch_rtp.c:4107 Activating audio Secure RTP SEND (with MKI)
2017-11-23 20:42:09.526034 [INFO] switch_rtp.c:4085 Activating audio Secure RTP RECV (with MKI)

Setup to offer MKI on outbound call to extension 1001 (X-Lite -> FS -> linphone)
Tested dialing 0012404373253 from user 1004, leg FS <-> 1001 uses SRTP with MKI

782     <extension name="telnyx_test_1_2">
783         <condition field="destination_number" expression="^(0012404373253)$">
784             <action application="export" data="rtp_secure_media_outbound=true"/>
785             <action application="export" data="rtp_secure_media_mki"/>
786             <action application="answer"/>
797             <action application="bridge" data="user/1001@${domain_name}"/>
798       </condition>
799   </extension>

Result:
2017-11-23 20:23:26.266034 [INFO] mod_dialplan_xml.c:637 Processing 1000 windows <1000>->0012404373253 in context default
2017-11-23 20:23:26.366035 [INFO] switch_rtp.c:4107 Activating audio Secure RTP SEND (with MKI)
2017-11-23 20:23:26.366035 [INFO] switch_rtp.c:4085 Activating audio Secure RTP RECV

SfB sometimes offers crypto with LIFETIME but no MKI index, e.g.:
a=crypto:5 AES_CM_128_HMAC_SHA1_80 inline:9OtFWi17H9E8ywlm0iazemjAqXu2RhJ3DZyo+VLJ|2^31

Defaulting to no-mki SRTP in case key material doesn't contain MKI index.
2017-11-30 17:22:08 +00:00
Anthony Minessale
51114b90df FS-8761: [freeswitch-core] Memory leak in FreeSWITCH 2017-11-20 15:43:07 -06:00
Anthony Minessale
7255f0f87e FS-10762: [freeswitch-core] Websocket logic error #resolve 2017-11-20 11:39:45 -05:00
Anthony Minessale
31c899a7de FS-10762: [freeswitch-core] Websocket logic error 2017-11-20 11:39:37 -05:00
Anthony Minessale
328ce675d5 FS-10784: [freeswitch-core] Make Users lists compatible with all forms of xml #resolve 2017-11-20 11:39:23 -05:00
Mike Jerris
f7e2505fc7 cleanup unused 2017-11-20 11:30:50 -05:00
Anthony Minessale
efcc6c4e93 FS-10622: [core] Auto-fixing audio codec from G722 to PCMU although PCMU was not negotiated #resolve 2017-11-16 15:38:13 -06:00
Brian West
212eb9b921 Merge pull request #1434 in FS/freeswitch from ~PRAVEEN_KUMAR/freeswitch:bugfix/FS-10728-mod_avmd-backward-compatibility_issue to master
* commit '179a659b7f3026c12c63bc4879a24c5f58584349':
  FS-10728: [mod_avmd] backward compatibility issue in avmd_main_api
2017-11-15 20:50:39 +00:00