Merge branch 'master_gzrtp'

This commit is contained in:
Juha Heinanen
2022-08-28 16:00:18 +03:00
7 changed files with 24 additions and 26 deletions
+4 -3
View File
@@ -12,7 +12,8 @@ android {
versionName = '47.3.0' versionName = '47.3.0'
externalNativeBuild { externalNativeBuild {
cmake { cmake {
cFlags '-DHAVE_INTTYPES_H' cFlags '-DHAVE_INTTYPES_H -lstdc++'
arguments '-DANDROID_STL=c++_shared'
version '3.18.1' version '3.18.1'
} }
} }
@@ -51,7 +52,7 @@ android {
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.4.2' implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'com.google.android.material:material:1.6.1' implementation 'com.google.android.material:material:1.6.1'
@@ -64,6 +65,6 @@ dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation "androidx.activity:activity-ktx:1.5.1" implementation "androidx.activity:activity-ktx:1.5.1"
implementation "androidx.fragment:fragment-ktx:1.5.1" implementation "androidx.fragment:fragment-ktx:1.5.2"
implementation 'androidx.media:media:1.6.0' implementation 'androidx.media:media:1.6.0'
} }
+4 -9
View File
@@ -52,13 +52,9 @@ add_library(lib_webrtc STATIC IMPORTED)
set_target_properties(lib_webrtc PROPERTIES IMPORTED_LOCATION set_target_properties(lib_webrtc PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/webrtc/lib/${ANDROID_ABI}/libwebrtc.a) ${distribution_DIR}/webrtc/lib/${ANDROID_ABI}/libwebrtc.a)
add_library(lib_bn STATIC IMPORTED) add_library(lib_zrtpcppcore STATIC IMPORTED)
set_target_properties(lib_bn PROPERTIES IMPORTED_LOCATION set_target_properties(lib_zrtpcppcore PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/bn/lib/${ANDROID_ABI}/libbn.a) ${distribution_DIR}/gzrtp/lib/${ANDROID_ABI}/libzrtpcppcore.a)
add_library(lib_zrtp STATIC IMPORTED)
set_target_properties(lib_zrtp PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/zrtp/lib/${ANDROID_ABI}/libzrtp.a)
add_library(lib_baresip STATIC IMPORTED) add_library(lib_baresip STATIC IMPORTED)
set_target_properties(lib_baresip PROPERTIES IMPORTED_LOCATION set_target_properties(lib_baresip PROPERTIES IMPORTED_LOCATION
@@ -90,7 +86,6 @@ target_link_libraries(baresip
lib_amrwb lib_amrwb
lib_amrwbenc lib_amrwbenc
lib_webrtc lib_webrtc
lib_zrtp lib_zrtpcppcore
lib_bn
z z
log) log)
@@ -18,6 +18,8 @@ object Config {
config = config.replace("webrtc_aec.so", "webrtc_aecm.so") config = config.replace("webrtc_aec.so", "webrtc_aecm.so")
config = config.replace("module zrtp.so", "module gzrtp.so")
if (config.contains("rtp_stats no")) if (config.contains("rtp_stats no"))
replaceVariable("rtp_stats", "yes") replaceVariable("rtp_stats", "yes")
@@ -240,6 +240,7 @@ class MainActivity : AppCompatActivity() {
accountRequest!!.launch(i) accountRequest!!.launch(i)
true true
} else { } else {
if (aorSpinner.selectedItemPosition < BaresipService.uas.size)
BaresipService.uas[aorSpinner.selectedItemPosition].account.resumeUri = BaresipService.uas[aorSpinner.selectedItemPosition].account.resumeUri =
callUri.text.toString() callUri.text.toString()
false false
@@ -1034,16 +1035,15 @@ class MainActivity : AppCompatActivity() {
} }
with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) { with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
setTitle(R.string.verify) setTitle(R.string.verify)
setMessage(String.format(getString(R.string.verify_sas), setMessage(String.format(getString(R.string.verify_sas), ev[1]))
ev[1], ev[2]))
setPositiveButton(getString(R.string.yes)) { dialog, _ -> setPositiveButton(getString(R.string.yes)) { dialog, _ ->
call.security = if (Api.cmd_exec("zrtp_verify ${ev[3]}") != 0) { call.security = if (Api.cmd_exec("zrtp_verify ${ev[2]}") != 0) {
Log.e(TAG, "Command 'zrtp_verify ${ev[3]}' failed") Log.e(TAG, "Command 'zrtp_verify ${ev[2]}' failed")
R.drawable.locked_yellow R.drawable.locked_yellow
} else { } else {
R.drawable.locked_green R.drawable.locked_green
} }
call.zid = ev[3] call.zid = ev[2]
if (aor == aorSpinner.tag) { if (aor == aorSpinner.tag) {
securityButton.tag = call.security securityButton.tag = call.security
securityButton.setImageResource(call.security) securityButton.setImageResource(call.security)
@@ -1052,7 +1052,7 @@ class MainActivity : AppCompatActivity() {
} }
setNeutralButton(getString(R.string.no)) { dialog, _ -> setNeutralButton(getString(R.string.no)) { dialog, _ ->
call.security = R.drawable.locked_yellow call.security = R.drawable.locked_yellow
call.zid = ev[3] call.zid = ev[2]
if (aor == aorSpinner.tag) { if (aor == aorSpinner.tag) {
securityButton.tag = R.drawable.locked_yellow securityButton.tag = R.drawable.locked_yellow
securityButton.setImageResource(R.drawable.locked_yellow) securityButton.setImageResource(R.drawable.locked_yellow)
@@ -783,7 +783,7 @@ object Utils {
fun unZip(zipFilePath: String): Boolean { fun unZip(zipFilePath: String): Boolean {
val allFiles = listOf("accounts", "calls", "config", "contacts", "messages", "uuid", val allFiles = listOf("accounts", "calls", "config", "contacts", "messages", "uuid",
"zrtp_cache.dat", "zrtp_zid", "cert.pem", "ca_cert", "ca_certs.crt") "gzrtp_zid", "cert.pem", "ca_cert", "ca_certs.crt")
val zipFiles = mutableListOf<String>() val zipFiles = mutableListOf<String>()
try { try {
ZipFile(zipFilePath).use { zip -> ZipFile(zipFilePath).use { zip ->
+2 -2
View File
@@ -37,9 +37,9 @@
<h2>Lisenssit</h2> <h2>Lisenssit</h2>
<ul> <ul>
<li><b>BSD-3-Clause</b> paitsi seuraavat:</li> <li><b>BSD-3-Clause</b> paitsi seuraavat:</li>
<li><b>Apache 2.0</b> AMR koodausmenetelmä ja TLS turvallisuus</li> <li><b>Apache 2.0</b> AMR koodausmenetelmä, TLS
turvallisuus ja ZRTP median salaus</li>
<li><b>LGPL 2.1</b> G.722 ja G.726 koodausmenetelmät</li> <li><b>LGPL 2.1</b> G.722 ja G.726 koodausmenetelmät</li>
<li><b>AGPLv4</b> ZRTP median salausmenetelmä</li>
<li><b>GNU GPLv3</b> G.729 koodausmenetelmä</li> <li><b>GNU GPLv3</b> G.729 koodausmenetelmä</li>
</ul> </ul>
]]> ]]>
+3 -3
View File
@@ -43,9 +43,9 @@
<h2>Licenses</h2> <h2>Licenses</h2>
<ul> <ul>
<li><b>BSD-3-Clause</b> except the following:</li> <li><b>BSD-3-Clause</b> except the following:</li>
<li><b>Apache 2.0</b> AMR codec and TLS security</li> <li><b>Apache 2.0</b> AMR codec, TLS security, and ZRTP
media encryption</li>
<li><b>LGPL 2.1</b> G.722 and G.726 codecs</li> <li><b>LGPL 2.1</b> G.722 and G.726 codecs</li>
<li><b>AGPLv4</b> ZRTP media encryption</li>
<li><b>GNU GPLv3</b> G.729 codec</li> <li><b>GNU GPLv3</b> G.729 codec</li>
</ul> </ul>
]]> ]]>
@@ -476,7 +476,7 @@
</string> </string>
<string name="registering_failed">Registering of \`%1$s\` failed.</string> <string name="registering_failed">Registering of \`%1$s\` failed.</string>
<string name="verify">Verify Request</string> <string name="verify">Verify Request</string>
<string name="verify_sas">Do you want to verify SAS &lt;%1$s&gt; &lt;%2$s&gt;?</string> <string name="verify_sas">Do you want to verify SAS &lt;%1$s&gt;?</string>
<string name="transfer_request">Transfer Request</string> <string name="transfer_request">Transfer Request</string>
<string name="transfer_request_query">Do you accept to transfer this call to \'%1$s\'?</string> <string name="transfer_request_query">Do you accept to transfer this call to \'%1$s\'?</string>
<string name="call_failed">Call failed</string> <string name="call_failed">Call failed</string>