Tell baresip, CPU, and Android information in User-Agent header

This commit is contained in:
Juha Heinanen
2024-03-04 07:14:31 +02:00
parent da6cc9196d
commit a7c52f280f
2 changed files with 22 additions and 4 deletions

View File

@ -404,7 +404,8 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
}
JNIEXPORT void JNICALL Java_com_tutpro_baresip_BaresipService_baresipStart(
JNIEnv *env, jobject instance, jstring jPath, jstring jAddrs, jint jLogLevel)
JNIEnv *env, jobject instance, jstring jPath, jstring jAddrs, jint jLogLevel,
jstring jSoftware)
{
LOGI("starting baresip\n");
@ -419,6 +420,7 @@ JNIEXPORT void JNICALL Java_com_tutpro_baresip_BaresipService_baresipStart(
int err;
const char *path = (*env)->GetStringUTFChars(env, jPath, 0);
const char *addrs = (*env)->GetStringUTFChars(env, jAddrs, 0);
const char *software = (*env)->GetStringUTFChars(env, jSoftware, 0);
struct le *le;
runLoggingThread();
@ -486,7 +488,7 @@ JNIEXPORT void JNICALL Java_com_tutpro_baresip_BaresipService_baresipStart(
// net_debug_log();
err = ua_init("baresip v" BARESIP_VERSION " (" ARCH "/" OS ")", true, true, true);
err = ua_init(software, true, true, true);
if (err) {
LOGE("ua_init() failed (%d)\n", err);
strcpy(start_error, "ua_init");
@ -566,6 +568,10 @@ out:
(*env)->GetMethodID(env, g_ctx.mainActivityClz, "stopped", "(Ljava/lang/String;)V");
(*env)->CallVoidMethod(env, g_ctx.mainActivityObj, stoppedId, javaError);
(*env)->DeleteLocalRef(env, javaError);
(*env)->ReleaseStringUTFChars(env, jPath, path);
(*env)->ReleaseStringUTFChars(env, jAddrs, addrs);
(*env)->ReleaseStringUTFChars(env, jSoftware, software);
}
JNIEXPORT void JNICALL Java_com_tutpro_baresip_BaresipService_baresipStop(

View File

@ -442,7 +442,13 @@ class BaresipService: Service() {
Log.i(TAG, "Active network: $activeNetwork")
Thread {
baresipStart(filesPath, addresses.removePrefix(";"), logLevel)
baresipStart(
filesPath,
addresses.removePrefix(";"),
logLevel,
"baresip v${BuildConfig.VERSION_NAME} " +
"(${System.getProperty("os.arch") ?: "?"}/Android${VERSION.RELEASE})"
)
}.start()
isServiceRunning = true
@ -1536,7 +1542,13 @@ class BaresipService: Service() {
}
}
private external fun baresipStart(path: String, addresses: String, logLevel: Int)
private external fun baresipStart(
path: String,
addresses: String,
logLevel: Int,
software: String
)
private external fun baresipStop(force: Boolean)
companion object {