Merge branch 'amr'

This commit is contained in:
Juha Heinanen
2019-10-15 12:52:18 +03:00
4 changed files with 40 additions and 31 deletions
+3 -2
View File
@@ -1,6 +1,6 @@
This is very basic Android Studio project implementing <a href="https://github.com/alfredh/baresip">baresip</a> based SIP User Agent. This is a bare bone Android Studio project implementing <a href="https://github.com/alfredh/baresip">baresip</a> based SIP User Agent.
Currently supports voice calls and messages with TLS transport, voicemail MWI, incoming call transfer requests (REFER), PCMU/PCMA, iLBC, G.726, G.722, and G.722.1, and opus voice codecs, as well as ZRTP and (DTLS) SRTP media encapsulation. Currently the application supports voice calling and messaging, UDP, TCP, and TLS signaling transports, voicemail Message Waiting Indication, incoming call transfers (REFER), PCMU/PCMA, iLBC, G.726, G.722, G.722.1, AMR, and Opus voice codecs, as well as ZRTP and (DTLS) SRTP media encapsulation.
Motivated by need for a secure SIP user agent for Android that does not depend on third party push notification services. Motivated by need for a secure SIP user agent for Android that does not depend on third party push notification services.
@@ -15,3 +15,4 @@ Then in Android Studio 3.5.1:
Available also on <a href="https://f-droid.org/app/com.tutpro.baresip">F-Droid</a> and <a href="https://play.google.com/store/apps/details?id=com.tutpro.baresip&hl=en_US">Google Play</a>. Available also on <a href="https://f-droid.org/app/com.tutpro.baresip">F-Droid</a> and <a href="https://play.google.com/store/apps/details?id=com.tutpro.baresip&hl=en_US">Google Play</a>.
Copyright (c) 2018 TutPro Inc. Distributed under BSD-3-Clause license. Copyright (c) 2018 TutPro Inc. Distributed under BSD-3-Clause license.
x
+1
View File
@@ -21,6 +21,7 @@ rtp_stats no
dyn_dns yes dyn_dns yes
net_prefer_ipv6 no net_prefer_ipv6 no
module opus.so module opus.so
module amr.so
module ilbc.so module ilbc.so
module g7221.so module g7221.so
module g722.so module g722.so
+5
View File
@@ -31,6 +31,10 @@ add_library(lib_g722_1 STATIC IMPORTED)
set_target_properties(lib_g722_1 PROPERTIES IMPORTED_LOCATION set_target_properties(lib_g722_1 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/g7221/lib/${ANDROID_ABI}/libg722_1.a) ${distribution_DIR}/g7221/lib/${ANDROID_ABI}/libg722_1.a)
add_library(lib_amrnb STATIC IMPORTED)
set_target_properties(lib_amrnb PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/amr/lib/${ANDROID_ABI}/libamrnb.a)
add_library(lib_ilbc STATIC IMPORTED) add_library(lib_ilbc STATIC IMPORTED)
set_target_properties(lib_ilbc PROPERTIES IMPORTED_LOCATION set_target_properties(lib_ilbc PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/ilbc/lib/${ANDROID_ABI}/libilbc.a) ${distribution_DIR}/ilbc/lib/${ANDROID_ABI}/libilbc.a)
@@ -71,6 +75,7 @@ target_link_libraries(baresip
lib_spandsp lib_spandsp
lib_g722_1 lib_g722_1
lib_ilbc lib_ilbc
lib_amrnb
lib_webrtc lib_webrtc
lib_zrtp lib_zrtp
lib_bn lib_bn
@@ -21,9 +21,10 @@ object Config {
config = "${config}ausrc_format s16\nauplay_format s16\nauenc_format s16\naudec_format s16\nmodule webrtc_aec.so\n" config = "${config}ausrc_format s16\nauplay_format s16\nauenc_format s16\naudec_format s16\nmodule webrtc_aec.so\n"
write = true write = true
} }
if (!config.contains(Regex("module[ ]+g726.so"))) { if (!config.contains(Regex("module[ ]+amr.so"))) {
config = config.replace(Regex("module[ ]+g7...?.so\n"), "") config = config.replace(Regex("module[ ]+g7...?.so\n"), "")
config = config.replace(Regex("module[ ]+ilbc.so\n"), "") config = config.replace(Regex("module[ ]+ilbc.so\n"), "")
config = "${config}module amr.so\n"
config = "${config}module ilbc.so\n" config = "${config}module ilbc.so\n"
config = "${config}module g7221.so\n" config = "${config}module g7221.so\n"
config = "${config}module g722.so\n" config = "${config}module g722.so\n"
@@ -94,6 +95,7 @@ object Config {
write = true write = true
} }
} }
if (write) { if (write) {
Log.e("Baresip", "Writing config '$config'") Log.e("Baresip", "Writing config '$config'")
Utils.putFileContents(configPath, config.toByteArray()) Utils.putFileContents(configPath, config.toByteArray())