20467 Commits

Author SHA1 Message Date
Anthony Minessale
f3d8a3b07a FS-10762: [freeswitch-core] Websocket logic error 2018-07-24 07:21:35 +00:00
Anthony Minessale
247ac09792 FS-10770: [freeswitch-core] Make nack buffer bigger by default 2018-07-24 07:21:35 +00:00
Anthony Minessale
5a6f4679cd FS-10770: [freeswitch-core] Make nack buffer bigger by default 2018-07-24 07:21:35 +00:00
Anthony Minessale
d395223fa2 FS-10762: [freeswitch-core] Websocket logic error #resolve 2018-07-24 07:21:35 +00:00
Piotr Gregor
333516c471 FS-10778: Fix for MKI regression introduced in FS-10778 2018-07-24 07:21:35 +00:00
Mike Jerris
177823f9c3 swigall 2018-07-24 07:21:35 +00:00
Piotr Gregor
03d8aa4e9a FS-10853: Fix failed build for mod_dingaling
Fixes build but must be tested at runtime.
2018-07-24 07:21:34 +00:00
Anthony Minessale
63f3531cdd FS-10843: [freeswitch-core] Tweak RTP write timing #resolve 2018-07-24 07:21:34 +00:00
Piotr
a17993a22e 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().
2018-07-24 07:21:34 +00:00
Anthony Minessale
67b56343a2 FS-10823: [mod_sofia] curly brackets on SDP header causes FS to crash #resolve 2018-07-24 07:21:34 +00:00
Piotr
b0106ac17f FS-10778: Fix compilation and refactor code
Prefer break over indent.

if (!p) {
    break;
}

// the code...

over

if (p) {
    // the
    // code
    // ...
}
2018-07-24 07:21:34 +00:00
Mike Jerris
477f3bc549 FS-10778: fix MKI compile error 2018-07-24 07:21:34 +00:00
Piotr Gregor
1fdd58f533 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.
2018-07-24 07:21:34 +00:00
Anthony Minessale
34f0ab58c1 FS-10762: [freeswitch-core] Websocket logic error #resolve 2018-07-24 07:21:33 +00:00
Anthony Minessale
c5e662c9bc FS-10762: [freeswitch-core] Websocket logic error 2018-07-24 07:21:33 +00:00
Anthony Minessale
1064bb043c FS-10784: [freeswitch-core] Make Users lists compatible with all forms of xml #resolve 2018-07-24 07:21:33 +00:00
Italo Rossi
8f1b7e066e Merge pull request #1503 in FS/freeswitch from ~SERGIOKALMIK/freeswitch:bugfix/FS-11088-mod_verto-verto-status-showing-running to master
* commit '18f11c7c6d2569ed23df118f14acab2be783601b':
  FS-11088: Fixing verto status api
2018-07-23 20:59:30 +00:00
Mike Jerris
b1a3c704b7 FS-11230: [core] Fix bad rtp timestamps triggered by cng/missed packet detection 2018-07-13 15:18:35 -04:00
Mike Jerris
9e3da931e5 FS-11230: [core] Fix bad rtp timestamps triggered by cng/missed packet detection 2018-07-13 15:14:00 -04:00
Muteesa Fred
9fc898daac FI-393 [fs_cli banner] this commit changes the text on the fs_cli banner 2018-06-14 19:38:05 +00:00
lazedo
96ae6ef4dd FS-10704 [core] add event-uuid-name
this allows for external call control to provide a app name
2018-06-08 12:24:43 +00:00
Hunyadvári Péter
227a134978 FS-11176: [core] do not use previous codec if its not ready 2018-05-29 09:39:08 +02:00
Mike Jerris
3c7db639fd FS-11168: [core] fix compile error on gentoo from typo in assert statement 2018-05-16 17:12:08 -04:00
lazedo
13f3f69c1d FS-11132 [mod_dptools] add broadcast app 2018-05-14 17:11:50 +01:00
Mike Jerris
ed4920e792 Merge pull request #1520 in FS/freeswitch from ~BOBMCCARTHY/freeswitch:bugfix/FS-10808-memory-leak-with-sla-registrations to master
* commit 'bdfc02f22793ee3fb2d02edaa970c34807fc1c3b':
  FS-10808 [mod_sofia] Fix memory leak in SLA
2018-05-04 14:37:06 +00:00
Mike Jerris
d332efa6c9 Merge pull request #1471 in FS/freeswitch from ~ANTONIO/freeswitch:bugfix/FS-10775-segfault-switch_frame_buffer_push to master
* commit 'a0ae014dc130c97bac7d057ceabe84bcfb03fe7b':
  FS-10775 #resolve segfault switch_frame_buffer_push
2018-05-04 14:32:45 +00:00
Bob McCarthy
bdfc02f227 FS-10808 [mod_sofia] Fix memory leak in SLA 2018-05-02 14:06:01 -06:00
Mike Jerris
8f10ae54a1 FS-11139: [mod_commands] add tab completion for uuid_pause command 2018-04-26 09:09:48 -05:00
Piotr Gregor
80cd1fa422 FS-11120 Handle invalid configs for avmd
This makes sure avmd session uses default values for global settings
if configuration parameters are invalid or missing.
Also add more printing for avmd. Avmd will now report media
bug direction READ_REPLACE/WRITE_REPLACE it has been started on,
and each frame it is processing if debug==1.
This also fixes confusing log on session stopped reported in FS-10732.
2018-04-18 18:01:17 +01:00
antonio
a0ae014dc1 FS-10775 #resolve segfault switch_frame_buffer_push 2018-04-13 18:49:13 +02:00
Dragos Oancea
ed2b3b7bb4 FS-10530: [mod_opusfile]: multichannel 2018-04-13 04:52:59 -04:00
Marc Olivier Chouinard
6d1eabc7a1 FS-11108: [mod_commands] Fix segfault with list_users command 2018-04-12 19:14:17 -04:00
Dragos Oancea
6bc59b3b5a FS-11105: core: fix in switch_core_file_write() for audio channels > 2 ( eg: for when the prebuffer size does not divide by the number of wanted channels) 2018-04-11 15:51:43 +01:00
Mike Jerris
192a232c23 Merge pull request #1357 in FS/freeswitch from ~KOVALYSHYN/freeswitch:feature/FS-9096-implement-to-set-own-jobid-for-tap.commands to master
* commit '28db1ede0629bfa1d63650fabba8b31f4e79eb05':
  FS-9096: [mod_commands] new uuid argument for bgapi
2018-04-09 21:55:56 +00:00
Mike Jerris
2042933407 Merge pull request #1501 in FS/freeswitch from ~ALEX_SIBYAKIN/freeswitch:bugfix/FS-10119-compiling-mod_h323 to master
* commit '72c625dfb95a2778bd985396552d3f62b142c7c9':
  FS-10119 [mod_h323] Patch from issue
2018-04-09 16:41:54 +00:00
Mike Jerris
890b558c9f Merge pull request #1505 in FS/freeswitch from ~LAZEDO/freeswitch:feature/FS-11100 to master
* commit '320f7d6b8cf469e44fcb5f3ad85ed085eab1b09a':
  FS-11100 [mod_conference] export variables for conference_outcall_bg
2018-04-09 14:58:55 +00:00
lazedo
320f7d6b8c FS-11100 [mod_conference] export variables for conference_outcall_bg 2018-04-09 01:13:58 +01:00
lazedo
c4772b5bf0 FS-11099 [mod_conference] provide profile name when requesting for
caller-controls
2018-04-09 01:10:40 +01:00
Mike Jerris
e2231715f4 Merge pull request #1494 in FS/freeswitch from ~HUNYI/freeswitch:feature/FS-11046-better-logging-for-rename_function to master
* commit '74f47cb0eddf42bcf37c5b8fef225f95f51cabc6':
  FS-11046: [mod_dptools] Better logging for rename_function
2018-04-06 20:52:47 +00:00
Mike Jerris
0b97c68f3d Merge pull request #1500 in FS/freeswitch from ~HUNYI/freeswitch:feature/FS-8893-add-variables-to-sofia-register-unregister to master
* commit 'bec68edb16b795bed0dbdd95a09999eb4850d82e':
  FS-8893: [mod_sofia] Add variables to sofia::register/unregister events
2018-04-06 20:48:42 +00:00
Mike Jerris
938ec99950 Merge pull request #1485 in FS/freeswitch from ~DIASBRUNO/freeswitch:bugfix/FS-10777-freeswitch-failing-to-link-to-process to master
* commit 'ab97ad0b5f3093e94377ae568aeeba0ccea5813d':
  FS-10777 [mod_erlang_event] #resolve
2018-04-06 19:52:57 +00:00
Mike Jerris
9db7ed7ac7 Merge pull request #1455 in FS/freeswitch from ~HUNYI/freeswitch:FS-10828-fix-mod_verto-codec to master
* commit '343b34376346f82fe0208912dd4104e1bfc341a2':
  FS-10828 [mod_verto] Always renew codec_string on connect
2018-04-06 19:43:08 +00:00
Sergio Filipe
18f11c7c6d FS-11088: Fixing verto status api
Checking if profile server_socket is valid to decide if is running or not
2018-04-04 11:50:14 +00:00
Alexey Sibyakin
72c625dfb9 FS-10119 [mod_h323] Patch from issue 2018-04-03 22:09:37 +09:00
Hunyadvári Péter
bec68edb16 FS-8893: [mod_sofia] Add variables to sofia::register/unregister events 2018-04-03 10:42:04 +02:00
Hunyadvári Péter
74f47cb0ed FS-11046: [mod_dptools] Better logging for rename_function 2018-04-03 10:15:33 +02:00
Mike Jerris
930e7f3b0e FS-11061: [core] fix build with newer pcre 2018-03-29 11:18:20 -04:00
Mike Jerris
07bbb8c226 Merge pull request #1473 in FS/freeswitch from ~SEBASTIAN/freeswitch:FS-10939-fix-format-truncation-warnings-in-mod_cdr_mongodb to master
* commit 'eded5965a4b26572aa254bab63771440934494bd':
  FS-10939 mod_cdr_mongodb: fix format truncation warnings with gcc 7
2018-03-26 18:27:44 +00:00
Hunyadvári Péter
554387c8dc Skip holding b leg only if it is on hold
FS-8579 --resolve
2018-03-20 09:32:47 +01:00
Hunyadvári Péter
069da397f5 Improve recording transfer
Use the same method everywhere
Move the bug without stopping and starting the recording over
It was broken in some circumstances and also some settings were lost

FS-8900 --resolve
2018-03-20 09:20:37 +01:00