Commit Graph

20193 Commits

Author SHA1 Message Date
Mike Jerris 3e50947295 FS-11222: [core] NACK for multiple packets sends wrong packet after the first one 2018-07-24 07:21:55 +00:00
Mike Jerris bd794e6e08 FS-10949: [mod_conference] allow vblind vunblind tvblind commands when caller is not sending video 2018-07-24 07:21:55 +00:00
Piotr Gregor e554d48ef6 FS-11202 Add sanity check
Check value of sanity while looping over
switch_cache_db_get_db_handle_dsn() in switch_user_sql_thread.
2018-07-24 07:21:54 +00:00
Piotr Gregor e66de38ba2 FS-11201 Filter out erroneous RTT values #fix
Erroneous DLSR in received RTCP report could
cause RTT to be negative (RTT = A - DLSR - LSR).
Add check for this and prevent corruption
of statistics and estimations (estimator code used
bad RTT values).
2018-07-24 07:21:54 +00:00
Brian West 70f21b8287 reswig 2018-07-24 07:21:54 +00:00
Brian West a46cb42cdd reswig 2018-07-24 07:21:54 +00:00
Anthony Minessale b81f432b84 FS-11177: [freeswitch-core] h264 vid tweaks -- increase gop #resolve 2018-07-24 07:21:54 +00:00
Joshua Young afcb1f8d51 FS-11178: [core] return switch_status_t from switch_ivr_intercept_session 2018-07-24 07:21:53 +00:00
Anthony Minessale fe8c1be575 FS-11177: [freeswitch-core] h264 vid tweaks #resolve 2018-07-24 07:21:53 +00:00
Anthony Minessale d3d7b6878e FS-11173: [mod_conference] Don't send tmmbr for any higher than input res #resolve 2018-07-24 07:21:53 +00:00
Anthony Minessale 578d914b96 FS-11164: [freeswitch-core] Improve audio JB in bad conditions 2018-07-24 07:21:53 +00:00
Anthony Minessale 611e38e8cb FS-11165: [freeswitch-core] Add more regex handling to dmachine -- squashme #resolve 2018-07-24 07:21:53 +00:00
Anthony Minessale 13e77721bc FS-11165: [freeswitch-core] Add more regex handling to dmachine #resolve 2018-07-24 07:21:53 +00:00
Anthony Minessale fef3711e31 FS-11164: [freeswitch-core] Improve audio JB in bad conditions #resolve 2018-07-24 07:21:53 +00:00
Mike Jerris 3e5938a540 FS-11162: [zrtp] Hangup race causing rare crash on zrtp calls 2018-07-24 07:21:53 +00:00
Brian West 5efecb1ffa FS-11156: [mod_dptools] wait for ack in application "deflect" #resolve 2018-07-24 07:21:52 +00:00
Andrey Volk e7ff903629 FS-11150: [Build-System] Fix broken ESL in .Net project. 2018-07-24 07:21:52 +00:00
Anthony Minessale ca9a62c539 FS-11119: [core] Fix video skew on oddly resized conference layers 2018-07-24 07:21:52 +00:00
Mike Jerris dc95ee3d66 Revert "FS-11052: Allow alias for crypto suites"
This reverts commit 7cc6d5f99d16d2d63cb2548dd7b8345d579b7e9f.
2018-07-24 07:21:52 +00:00
Mike Jerris bf59e825bd FS-11047: [build] support v8 6.6 fixes from Andrey Volk 2018-07-24 07:21:52 +00:00
Mike Jerris b8b4517843 Revert "FS-11048: [build] support v8 6.6 fixes from Andrey Volk"
This reverts commit 27389f2937.
2018-07-24 07:21:52 +00:00
Mike Jerris 54c2bbeda8 FS-11047: [build] support v8 6.6 fixes from Andrey Volk 2018-07-24 07:21:52 +00:00
Mike Jerris 524ad35933 FS-11047: add mod_v8 back to build 2018-07-24 07:21:51 +00:00
Anthony Minessale 0734899b9a FS-10892: [mod_av] Lip Sync Improvements -- increase delta #resolve 2018-07-24 07:21:51 +00:00
Anthony Minessale 74f8ec7772 FS-11127: [freeswitch-core] Improvements to Video JB and audio jb sync #resolve 2018-07-24 07:21:51 +00:00
Andrey Volk 561d187085 FS-11125: [Build-System] Remove unused files left from previous Visual Studio version. 2018-07-24 07:21:51 +00:00
Andrey Volk 3645facb84 FS-11122: [Build-System] Fix improper use of debug symbols settings on Windows. 2018-07-24 07:21:50 +00:00
Seven Du a0fd0a1b44 FS-11093 #resolve switch_true should return switch_bool_t 2018-07-24 07:21:50 +00:00
Seven Du d48db7c979 FS-11110 #resolve resume detect on next detect 2018-07-24 07:21:50 +00:00
Anthony Minessale e55212f5d8 FS-11111 #resolve add handle params to specify tts engine and voice from command text 2018-07-24 07:21:50 +00:00
Seven Du 413ea14fd4 [FS-11092] #resolve add cJSON_isTrue 2018-07-24 07:21:50 +00:00
Mike Jerris 5b24f62f98 FS-10867: [freeswitch-core] fix regression in stack smash protection 2018-07-24 07:21:50 +00:00
Andrey Volk 184fbd6a9f FS-11101: [mod_cv] Add mod_cv to the Windows build. 2018-07-24 07:21:50 +00:00
Mike Jerris 727df6be1b FS-11055: [mod_av] resize image to recording image size if it does not match recording size 2018-07-24 07:21:49 +00:00
Mike Jerris 6ccc96a39c FS-10987: [mod_conference] fix member deadlock on write failure 2018-07-24 07:21:49 +00:00
Andrey Volk 6483ab8b65 FS-11097: [mod_cv] Add OpenCV 3.x support. 2018-07-24 07:21:49 +00:00
Andrey Volk 32c16669c4 FS-11091: [mod_sndfile] Remove libsndfile from the code base, use pre-compiled binaries on Windows, update to libsndfile 1.0.28 2018-07-24 07:21:49 +00:00
Andrey Volk c9ac9c66e3 FS-11090: [Build-System] Move PCRE library to pre-compiled binaries, minor cleanup, reduce build log verbosity on windows. 2018-07-24 07:21:49 +00:00
Mike Jerris e47a6922b3 swigall 2018-07-24 07:21:48 +00:00
Seven Du 8a5bbe19e8 [mod_shout] use 0xFFFFFFFF flag to query frame_size 2018-07-24 07:21:48 +00:00
Brian West 3563ec1e63 FS-10946: [core] Duplicate code in switch_xml.c #resolve 2018-07-24 07:21:48 +00:00
Seven Du 4719d04706 FS-10918 #resolve 2018-07-24 07:21:48 +00:00
Anthony Minessale 118c8ab0c2 FS-11016: [mod_av] Looping a video file that has resize feature enabled can allow a non-resized frame to slip after file seek #resolve 2018-07-24 07:21:48 +00:00
Anthony Minessale 9fcbf5d1c0 FS-10941: [mod_conference] Segfault SIGFPE, Arithmetic exception in mod_conference #resolve 2018-07-24 07:21:48 +00:00
Brian West b3ff29eb5c FS-10908: [mod_amqp] AMQP routing key (format_fields) formation broke and invalid reads reported by valgrind #resolve 2018-07-24 07:21:48 +00:00
Seven Du 99d2e5e243 FS-11014 [core] add vad to core 2018-07-24 07:21:47 +00:00
Brian West bea634679c FS-11081: [mod_video_filter] Teleportation #resolve 2018-07-24 07:21:47 +00:00
Brian West 8084162d4d FS-11080: [freeswitch-core] Auto sync of jb can fail on extreme loss #resolve 2018-07-24 07:21:47 +00:00
Brian West 6ced48476c FS-11077: [mod_enum] Memory Leak in mod_enum #resolve 2018-07-24 07:21:47 +00:00
Seven Du b32db0dcfb FS-11022 #resolve ImageMagic 7 support 2018-07-24 07:21:47 +00:00
Seven Du d7fb26b12a FS-11024 #resolve fix pdf turn pages 2018-07-24 07:21:47 +00:00
Andrey Volk d0dae4b360 FS-11086: [Build-System] Move libflite to pre-compiled libraries on Windows. 2018-07-24 07:21:47 +00:00
Andrey Volk c31e7062b7 FS-11085: [Build-System] Update curl to 7.59.0 and move to pre-compiled binaries on Windows. 2018-07-24 07:21:46 +00:00
Andrey Volk 2e7e6221f8 FS-11083: [Build-System] Add mod_cdr_sqlite to the Windows build. 2018-07-24 07:21:46 +00:00
Andrey Volk 5c04c4ad6b FS-11082: [Build-System] Add mod_odbc_cdr to the Windows build. 2018-07-24 07:21:46 +00:00
Andrey Volk 50d38ba36c FS-10980: [mod_lua] Update lua version to 5.3.4 and move it to pre-compiled binaries on Windows. 2018-07-24 07:21:46 +00:00
Anthony Minessale 00f14981b4 FS-11070: [mod_conference] Improve video bridge first two for mux mode -- add support for files playing in this mode #resolve 2018-07-24 07:21:46 +00:00
Anthony Minessale f33aa1a859 FS-11070: [mod_conference] Improve video bridge first two for mux mode #resolve 2018-07-24 07:21:46 +00:00
Anthony Minessale d8c3b3ab66 FS-11068: [mod_conference] Avatar members not supported on personal canvas leading to miscount #resolve 2018-07-24 07:21:46 +00:00
Anthony Minessale d3aee10e28 FS-11057: [mod_conference] CPU race on personal canvas #resolve 2018-07-24 07:21:46 +00:00
Anthony Minessale 2a82d401a6 FS-11034: [mod_conference] Add border control to video #resolve 2018-07-24 07:21:45 +00:00
Anthony Minessale b272c5e521 FS-11031: [mod_conference] refresh and keyframes sent too often in multi-canvas mode #resolve 2018-07-24 07:21:45 +00:00
Anthony Minessale 054229fb68 FS-11021: [mod_conference] Add video mirror #resolve 2018-07-24 07:21:45 +00:00
Anthony Minessale b048830414 FS-11017: [mod_conference] Add moh controls to conference #resolve 2018-07-24 07:21:45 +00:00
Brian West ada117fb73 FS-10967: [mod_conference] chan var "conference_enter_sound" not working, only work when profile param active and being overridden #resolve 2018-07-24 07:21:45 +00:00
Anthony Minessale 5199939f48 FS-10893: [mod_conference] Add more banner text params #resolve 2018-07-24 07:21:45 +00:00
Anthony Minessale d6abe0e9eb tmp revert 2018-07-24 07:21:45 +00:00
Anthony Minessale 9d9af7c153 FS-10883: [mod_conference] Conference member can get stuck read locked #resolve 2018-07-24 07:21:45 +00:00
Anthony Minessale 2a6990a7e0 rewind 2018-07-24 07:21:44 +00:00
Anthony Minessale 7ca8eec496 rewind 2018-07-24 07:21:44 +00:00
Anthony Minessale 9140aba9f9 Revert "FS-11057: [mod_conference] CPU race on personal canvas #resolve"
This reverts commit 7acc94be97.
2018-07-24 07:21:44 +00:00
Anthony Minessale e7dc398a1f Revert "FS-11070: [mod_conference] Improve video bridge first two for mux mode -- add support for files playing in this mode #resolve"
This reverts commit 04296b5708.
2018-07-24 07:21:44 +00:00
Andrey Volk d91374edde FS-11078: [Build-System] Add mod_say_(es_ar, fa, he, hr, hu, ja, pl, th) modules to the Windows build. 2018-07-24 07:21:44 +00:00
Anthony Minessale 20eb89dcb0 FS-11070: [mod_conference] Improve video bridge first two for mux mode -- add support for files playing in this mode #resolve 2018-07-24 07:21:44 +00:00
Andrey Volk cd0fdcd58b FS-11076: [mod_cdr_pg_csv] Add mod_cdr_pg_csv to the Windows build. 2018-07-24 07:21:44 +00:00
Andrey Volk fe9f2713b4 FS-11075: [mod_amqp] Add mod_amqp to the Windows build. 2018-07-24 07:21:44 +00:00
Anthony Minessale 443166dc2b FS-11057: [mod_conference] CPU race on personal canvas #resolve 2018-07-24 07:21:44 +00:00
Brian West 0e33e567e3 revert 2018-07-24 07:21:43 +00:00
Andrey Volk 49d19bffcd FS-11074: [Core, Build-System] Add PostgreSQL to the Freeswitch Core on Windows. 2018-07-24 07:21:43 +00:00
Anthony Minessale b12762dd5a FS-11057: [mod_conference] CPU race on personal canvas #resolve 2018-07-24 07:21:43 +00:00
Brian West b5a7b74b1c revert 2018-07-24 07:21:43 +00:00
Mike Jerris f193aff269 FS-11057: [mod_conference] CPU race on personal canvas #resolve 2018-07-24 07:21:43 +00:00
Anthony Minessale 9e3bbdd10c FS-11068: [mod_conference] Avatar members not supported on personal canvas leading to miscount #resolve 2018-07-24 07:21:43 +00:00
Anthony Minessale 89770f4522 FS-11057: [mod_conference] CPU race on personal canvas #resolve 2018-07-24 07:21:43 +00:00
Andrey Volk 52ac19c338 FS-11067: [Build-System] Improve windows build speed moving openssl to pre-compiled binaries. 2018-07-24 07:21:42 +00:00
Andrey Volk 24ef5b2762 FS-11065: [Build-System, mod_v8] Update libv8 to 6.1.298 on windows, speedup windows build by moving libv8 to pre-compiled binaries. 2018-07-24 07:21:42 +00:00
Andrey Volk 73d616a318 FS-10989: [core] Fix CUSTOM_HASH hash table race in switch_event logic causing crashes during bind to events. 2018-07-24 07:21:42 +00:00
Andrey Volk af29a31c7f FS-11020: [Build-System] On Windows: Add missing modules to the msi installer, fix mod_gsmopen build, remove mod_skyopen, disable libav and libx264, cleanup. 2018-07-24 07:21:42 +00:00
Mike Jerris 634c92de7d swigall 2018-07-24 07:21:42 +00:00
Mike Jerris e58ff3392f FS-10853: remove extern that is no longer needed 2018-07-24 07:21:42 +00:00
Piotr Gregor f5090ae96b FS-11063 Use compile time constants in dtls_state_setup 2018-07-24 07:21:41 +00:00
Anthony Minessale 5272bbc83d FS-11057: [mod_conference] CPU race on personal canvas #resolve 2018-07-24 07:21:41 +00:00
ifox 8e362825de FS-11058: [core] Add RTT to RECV_RTCP_MESSAGE
Add the RTT field to the RECV_RTCP_MESSAGE event emission which allows external listeners to compute MOS RTCP from the event.
2018-07-24 07:21:41 +00:00
Anthony Minessale 230e2ba348 FS-11057: [mod_conference] CPU race on personal canvas #resolve 2018-07-24 07:21:41 +00:00
Sergey Khripchenko 94038f3c12 FS-11056: [core] fix RTCP lost calculation
RTCP/Receiver Report/lost field is a _signed_ 24bit integer and it could be negative (in case of UDP duplication)
+ any negatives now threated as huge uint32_t
+ set this field properly on __BIG_ENDIAN
+ correctly read this value in received RTCP on all arches
2018-07-24 07:21:41 +00:00
Piotr Gregor 3a502eaf6e FS-11052: Allow alias for crypto suites
For outgoing calls send AES crypto in offer using corrected names
for keys of length 192 and 256, i.e. names containing _192_CM_
and _256_CM_ instead of _CM_192_ and CM_256_. For incoming calls
accept both naming conventions, decaying to same entry in SUITES.
2018-07-24 07:21:41 +00:00
Mike Jerris b496635a8c FS-11038: [mod_sofia] fix crash in gwlist api command 2018-07-24 07:21:40 +00:00
Mike Jerris 76795ac2e2 FS-10853: Fix unitialzed var 2018-07-24 07:21:40 +00:00
Ethan Atkins 4876cb76a7 FS-11037: [mod_lua] reduce logging levels 2018-07-24 07:21:40 +00:00
Brian West 422f348240 FS-11036: [mod_rtmp] No audio on rtmp clients #resolve 2018-07-24 07:21:40 +00:00
Anthony Minessale 0071435757 FS-11031: [mod_conference] refresh and keyframes sent too often in multi-canvas mode #resolve 2018-07-24 07:21:40 +00:00
Brian West a14dcfef3d FS-10913: [mod_sofia] ignore_early_media=ring_ready not transitioning #resolve 2018-07-24 07:21:40 +00:00
Brian West 027ae79516 FS-10913: [mod_sofia] ignore_early_media=ring_ready not transitioning #resolve 2018-07-24 07:21:40 +00:00
Mike Jerris 94a094c5ef FS-10926: [mod_sofia] fix crash from malformed as-feature-event subscribe messae with malformed xml 2018-07-24 07:21:39 +00:00
Brian West adb813e089 FS-10880: [mod_sofia] SIP INFO DTMF method not working on b-leg #resolve 2018-07-24 07:21:39 +00:00
Brian West 228af00acb FS-10904: [core] DTMF only works from one phone during shared call (SCA) #resolve 2018-07-24 07:21:39 +00:00
Brian West 4fc7ee7720 FS-10908: [mod_amqp] AMQP routing key (format_fields) formation broke and invalid reads reported by valgrind #resolve 2018-07-24 07:21:39 +00:00
Brian West 433c2b6b89 FS-10899: [core] 3pcc-mode=proxy is proxying SDP in the 200OK with late offer invites #resolve 2018-07-24 07:21:39 +00:00
Brian West 352cc3526d FS-10903: [mod_sofia,mod_valet_parking] Fix Issue with subscriptions and Valet Parking #resolve 2018-07-24 07:21:39 +00:00
Anthony Minessale d9002f19a7 FS-10897: [mod_verto] Possible crash in verto during error condition #resolve 2018-07-24 07:21:39 +00:00
Anthony Minessale cfd7761e9f FS-10896: [freeswitch-core] Parse error on originate syntax with nested square brackets #resolve 2018-07-24 07:21:39 +00:00
Anthony Minessale 1745a36c98 FS-10893: [mod_conference] Add more banner text params #resolve 2018-07-24 07:21:38 +00:00
Anthony Minessale 6387cc1ffd FS-10883: [mod_conference] Conference member can get stuck read locked #resolve 2018-07-24 07:21:38 +00:00
Anthony Minessale 16a31c4be5 FS-10871: [mod_conference] Zoomed layouts do not auto-center in mod_conference #resolve 2018-07-24 07:21:38 +00:00
Brian West fe05bacb84 FS-10865: [mod_conference] conference transfer event reports incorrect info in New-Conference-Name #resolve 2018-07-24 07:21:38 +00:00
Brian West 243f9f33b6 FS-10749: [mod_amqp] Crash on unload after mod_amqp reloaded with command + incorrect command behavior #resolve 2018-07-24 07:21:38 +00:00
Brian West 291da11322 FS-10867: [freeswitch-core] Prevent stack smash when queing multiple sound files without event-lock #resolve 2018-07-24 07:21:38 +00:00
Anthony Minessale afde4b63bb FS-10860: [core] Distorted music when playing it as local stream into a conference as hold music #resolve 2018-07-24 07:21:38 +00:00
Anthony Minessale 2e66aceb14 FS-10854: [mod_conference] Canvas FG Image not refreshed before writing to video recordings #resolve 2018-07-24 07:21:37 +00:00
Anthony Minessale 586d3349a7 FS-10243: [mod_conference] Add conference variables 2018-07-24 07:21:37 +00:00
Brian West 31d9584f59 FS-10840: [mod_sofia] max-registrations-per-extension parameter is not multi-tennant 2018-07-24 07:21:37 +00:00
Seven Du a83990a5aa tweak av and ensure first image write at pts = 0 to avoid a black screen 2018-07-24 07:21:37 +00:00
Anthony Minessale 8fabf32f8f FS-10890: [mod_av] Wrongly calculated delta_tmp for end of video file recording #resolve 2018-07-24 07:21:37 +00:00
Anthony Minessale 683f59f38d FS-10821: [mod_conference] fix arg parser in file vol command in conference #resolve 2018-07-24 07:21:37 +00:00
Seven Du 2e449917b2 fix split slice 2018-07-24 07:21:37 +00:00
Brian West 105a291bb7 FS-10892: [mod_av] Lip Sync Improvements #resolve 2018-07-24 07:21:37 +00:00
Anthony Minessale 0d40025e09 FS-10891: [mod_conference] Refactor mux video to be smoother #resolve 2018-07-24 07:21:37 +00:00
Anthony Minessale 57daad7af8 FS-10802: [mod_conference] Convert conference floor to id based 2018-07-24 07:21:36 +00:00
Anthony Minessale 2c66f126d7 FS-10769: [mod_av,mod_conference] Lipsync issues in conference recording 2018-07-24 07:21:36 +00:00
Anthony Minessale 6bd169abc2 FS-10802: [mod_conference] Convert conference floor to id based 2018-07-24 07:21:36 +00:00
Anthony Minessale 86ae01462a FS-10802: [mod_conference] Convert conference floor to id based 2018-07-24 07:21:36 +00:00
Anthony Minessale 376cc03f58 FS-10803: [mod_conference] Add support for alternate video layout config per conference profile 2018-07-24 07:21:36 +00:00
Anthony Minessale b8744e4c6d FS-10803: [mod_conference] Add support for alternate video layout config per conference profile #resolve 2018-07-24 07:21:36 +00:00
Anthony Minessale 2b5b9341e7 FS-10802: [mod_conference] Convert conference floor to id based #resolve 2018-07-24 07:21:36 +00:00
Anthony Minessale 2e1f828363 remove hack for chrome we don't need anymore 2018-07-24 07:21:36 +00:00
Anthony Minessale bcd5753d17 FS-10799: [mod_commands] Add toupper and tolower api funcs #resolve 2018-07-24 07:21:35 +00:00
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