From 66db2477a4855f5452c45f5e5baeae2d8c3e8c05 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期四, 14 十一月 2024 14:15:55 +0800
Subject: [PATCH] 增加sip message发送
---
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java | 53 ++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 40 insertions(+), 13 deletions(-)
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java
index 6462798..5d9ba9a 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/core/service/HDLLinphoneService.java
@@ -6,17 +6,22 @@
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.ServiceConnection;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.os.Binder;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.SystemClock;
import android.support.v4.app.NotificationCompat;
+import android.telecom.ConnectionService;
+import com.google.gson.Gson;
import com.hdl.hdllinphonesdk.R;
import com.hdl.hdllinphonesdk.activity.HDLLinphoneIntercomActivity;
import com.hdl.hdllinphonesdk.activity.HDLLinphoneReverseCallActivity;
@@ -51,7 +56,7 @@
public class HDLLinphoneService extends Service {
private static final String START_LINPHONE_LOGS = " ==== HDLLinphoneService ====";
// Keep a static reference to the Service so we can access it from anywhere in the app
- private static HDLLinphoneService sInstance;
+ private volatile static HDLLinphoneService sInstance;
private PendingIntent mKeepAlivePendingIntent;
private static PhoneCallback sPhoneCallback;//閫氳瘽鐘舵�佸洖璋�
@@ -84,9 +89,18 @@
return sInstance.mCore;
}
+ public class LinphoneBinder extends Binder {
+
+ public HDLLinphoneService getService() {
+ return HDLLinphoneService.this;
+ }
+ }
+
+ private final IBinder binder = new LinphoneBinder();
+
@Override
public IBinder onBind(Intent intent) {
- return null;
+ return binder;
}
/**
@@ -141,11 +155,17 @@
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
+ /* if (sInstance != null) {
+ return START_STICKY;
+ }*/
+ return START_STICKY;
+ }
+
+
+ public void initCore() {
// If our Service is already running, no need to continue
- if (sInstance != null) {
- return START_STICKY;
- }
+
// Our Service has been started, we can keep our reference on it
// From now one the Launcher will be able to call onServiceReady()
@@ -169,7 +189,6 @@
mTimer = new Timer("Linphone scheduler");
mTimer.schedule(lTask, 0, 20);
- return START_STICKY;
}
@Override
@@ -213,7 +232,7 @@
String basePath = getFilesDir().getAbsolutePath();
Factory.instance().setLogCollectionPath(basePath);
Factory.instance().enableLogCollection(LogCollectionState.Enabled);
- Factory.instance().setDebugMode(false, getString(R.string.app_name));
+ Factory.instance().setDebugMode(true, "HDLLinphone");
// Dump some useful information about the device we're running on
// HDLLog.I(START_LINPHONE_LOGS);
// dumpDeviceInformation();
@@ -260,8 +279,9 @@
@Override
public void onRegistrationStateChanged(Core core, ProxyConfig proxyConfig, RegistrationState registrationState, String message) {
String state = registrationState.toString();
- HDLLog.i(START_LINPHONE_LOGS, "registrationState: " + state);
+ HDLLog.i(START_LINPHONE_LOGS, "registrationState: " + state + ",message:" + message);
+ HDLLog.i(START_LINPHONE_LOGS, "Registration info=" + new Gson().toJson(proxyConfig));
if (state.equals(RegistrationState.None.toString())) {
if (sRegistrationCallback != null) {
sRegistrationCallback.registrationNone();
@@ -326,11 +346,11 @@
//2.璁剧疆UserAgent
setUserAgent();
//3.璁剧疆鎾斁閾冨0
-// mCore.setNativeRingingEnabled(true);
-// mCore.setRemoteRingbackTone(mRingSoundFile);
-// mCore.setTone(ToneID.CallWaiting, mRingSoundFile);
-// mCore.setRing(mRingSoundFile);
-// mCore.setPlayFile(mPauseSoundFile);
+ mCore.setNativeRingingEnabled(true);
+ mCore.setRemoteRingbackTone(mRingSoundFile);
+ mCore.setTone(ToneID.CallWaiting, mRingSoundFile);
+ mCore.setRing(mRingSoundFile);
+ mCore.setPlayFile(mPauseSoundFile);
//4.绂佺敤鎵嬫満鎽勫儚澶磋棰戦噰闆�
// mCore.enableVideoCapture(false);//绂佺敤鎵嬫満鎽勫儚澶磋棰戦噰闆�
// mCore.setNetworkReachable(true);
@@ -356,6 +376,9 @@
mCore.setVideoActivationPolicy(vap);
//11.璁剧疆缂栫爜鏍煎紡
setCodecMime();
+
+// mCore.setRing(mRingSoundFile);
+
// 鍏ㄨ閫歴ip璁剧疆ca璇佷功
//mCore.setRootCa(basePath + "/rootca.pem");
@@ -479,6 +502,10 @@
}
+ public void pddd (){
+// RingtoneManager.GetDefaultUri
+ }
+
/**
* copyIfNotExist
*
--
Gitblit v1.8.0