From d74ca60510ca40b39ff49029ac7c059fd92b08b9 Mon Sep 17 00:00:00 2001 From: lss <lsc@hdlchina.com.cn> Date: 星期一, 13 六月 2022 10:45:10 +0800 Subject: [PATCH] 2022-06-13 --- HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs | 108 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 73 insertions(+), 35 deletions(-) diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs index 49857bf..9fa20e5 100644 --- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs +++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs @@ -57,11 +57,15 @@ /// </summary> public bool IsEnable = false; /// <summary> + /// 褰撳墠瑙嗛閫氳瘽鏄惁涓鸿嚜鐮� + /// </summary> + public bool IsSelfResearch = false; + /// <summary> /// 鏄惁鑷姩璺宠浆鍛煎彨椤甸潰, /// false锛氭敹鍒版帹閫佸苟涓斿凡缁忔敹鍒皊ip鍛煎彨鎵嶈烦杞懠鍙〉闈� /// true锛氬師鐢熸敹鍒板懠鍙┈涓婅烦杞懠鍙〉闈紝涓嶇瓑寰呮帹閫佽繃鏉� /// </summary> - bool IsAutoJumpCallView = false; + bool IsAutoJumpCallView = true; /// <summary> /// 鏄惁鍒濆鍖栦簡SDK /// </summary> @@ -93,6 +97,7 @@ Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().IsAutoJumpCallView = IsAutoJumpCallView; //璁剧疆Listener鐩戝惉 mOnHDLLinphoneCallDelegate = new OnHDLLinphoneCallDelegate(this); + Console.WriteLine(UserInfo.Current.ID); Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().HdlLinphoneCallDelegate = mOnHDLLinphoneCallDelegate; #else HDLLinphoneKit.Instance.InitLinphone(Application.Activity); @@ -103,12 +108,11 @@ #endif } - /// <summary> /// 璁剧疆sip鐧诲綍璐﹀彿 /// </summary> /// <param name="mHDLSipInfo"></param> - public void SetAccountAndLogin(HDLSipInfo mHDLSipInfo) + public void SetAccountAndLogin(HDLSipInfo mHDLSipInfo, string mInterphoneType) { this.currentHDLSipInfo = mHDLSipInfo; @@ -119,9 +123,28 @@ //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("6666", "85521566", "116.62.26.215:5060"); Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm); #else - HDLLinphoneKit.Instance.SetAccountAndLogin(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm); -#endif + if (mInterphoneType == InterphoneType.FREEVIEW.ToString()) + { + //HDLLinphoneKit.Instance.SetAccountAndLogin( + // mHDLSipInfo.sipAccount, + // mHDLSipInfo.sipPasswd, + // mHDLSipInfo.realm, + // HDLLinphoneKit.InterPhoneTypeFreeview + // ); + HDLLinphoneKit.Instance.SetAccountAndLogin("A583853817423247", "763548", "139.159.157.75:46000", HDLLinphoneKit.InterPhoneTypeFreeview); + } + else + { + HDLLinphoneKit.Instance.SetAccountAndLogin( + mHDLSipInfo.sipAccount, + mHDLSipInfo.sipPasswd, + mHDLSipInfo.realm, + HDLLinphoneKit.InterPhoneTypeHdl + ); + } + // "A583853817423247","763548","139.159.157.75:46000", +#endif } /// <summary> @@ -192,26 +215,24 @@ /// 璇锋眰鏈嶅姟鍣ㄨ幏鍙栧綋鍓嶄綇瀹匰ip璐﹀彿淇℃伅骞跺垵濮嬪寲LinphoneSDK鍜岀櫥褰� /// </summary> /// <param name="homeId"></param> - public void GetHDLSipInfoAndInitSDK(string homeId, bool clearCallInfo = true) + public void GetHDLSipInfoAndInitSDK(HDLCallVideoInfo mHDLCallVideoInfo, bool clearCallInfo = true) { try { - - //鍏堟竻绌哄懠鍙拰鐩戣璁惧淇℃伅 if (clearCallInfo) { InitCallInfo(null); } - HDLSipInfo mHDLSipInfo = GetHDLSipInfo(homeId); + HDLSipInfo mHDLSipInfo = GetHDLSipInfo(mHDLCallVideoInfo.HomeId); if (mHDLSipInfo != null) { Application.RunOnMainThread(() => { InitLinphone(); - mHDLSipInfo.homeId = homeId; - SetAccountAndLogin(mHDLSipInfo); + mHDLSipInfo.homeId = mHDLCallVideoInfo.HomeId; + SetAccountAndLogin(mHDLSipInfo, mHDLCallVideoInfo.InterphoneType); Utlis.WriteLine("CALL 鑾峰彇SIP璐﹀彿鎴愬姛锛�" + mHDLSipInfo.sipAccount); }); } @@ -377,7 +398,7 @@ /// 璺宠浆鐩戞帶椤甸潰 /// </summary> /// <param name="mESVideoInfo"></param> - public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo) + public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo,string mInterphoneType) { InitLinphone(); //sip璐﹀彿涓虹┖ @@ -391,7 +412,7 @@ mHDLCallVideoInfo.HomeId = mESVideoInfo.HomeId; mHDLCallVideoInfo.DeviceId = mESVideoInfo.Lc_DeviceId; mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName; - mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString(); + mHDLCallVideoInfo.InterphoneType = mInterphoneType; mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;//鐩戣涓诲姩鍛煎彨闂ㄥ彛鏈烘椂鐢ㄥ埌 InitCallInfo(mHDLCallVideoInfo); @@ -417,7 +438,7 @@ /// 鏀跺埌鎺ㄩ�侊紝鍚庡垽鏂懠鍙綇瀹呮槸鍚︿负褰撳墠浣忓畢锛屼笉鏄殑璇濋噸鏂拌幏鍙朣IP璐﹀彿骞剁櫥褰� /// </summary> /// <param name="mESVideoInfo"></param> - public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo) + public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo,string mInterphoneType) { InitLinphone(); @@ -426,8 +447,9 @@ mHDLCallVideoInfo.HomeId = mESVideoInfo.HomeId; mHDLCallVideoInfo.DeviceId = mESVideoInfo.Lc_DeviceId; mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName; - mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString(); + mHDLCallVideoInfo.InterphoneType = mInterphoneType; mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount; + mHDLCallVideoInfo.spk = mESVideoInfo.spk; InitCallInfo(mHDLCallVideoInfo); //褰撳墠鍛煎彨鏉ョ數鐨勪綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷寸殑鎯呭喌涓� @@ -443,7 +465,7 @@ Utlis.WriteLine("CALL 鏀跺埌鎺ㄩ�� 鍏朵粬浣忓畢锛岄噸鏂拌幏鍙栧懠鍙綇瀹呯殑SIP璐﹀彿骞剁櫥褰�"); new Thread(() => { - GetHDLSipInfoAndInitSDK(mESVideoInfo.HomeId, false); + GetHDLSipInfoAndInitSDK(mHDLCallVideoInfo, false); }) { IsBackground = false }.Start(); @@ -460,20 +482,32 @@ /// <param name="mESVideoInfo"></param> public void CheckCallStateAndGotoPage() { - //濡傛灉寮�鍚簡鑷姩璺宠浆鏂规锛屽垯鏃犻渶缁х画涓嬮潰澶勭悊銆佹棤闇�鎵嬪姩璺宠浆 - if (IsAutoJumpCallView) return; - //鍏堢粨鏉熸帀涔嬪墠鐨勭嚎绋� - EndCheckIncomingCallThread(); - //妫�娴嬫槸鍚︽潵鐢典簡濡傛灉鏄洿鎺ヨ皟鏁村懠鍙〉闈㈠鏋滀笉鏄垯寮�鍚嚎绋嬬瓑寰呭垽鏂� - if (IsIncomingReceivedCallState()) { - Utlis.WriteLine("CALL 宸茬粡鏉ョ數浜嗐�傘�傘�傛墦寮�鍛煎彨椤甸潰"); - GoToHDLLinphoneIntercomActivity(); - } - else + if (mHDLCallVideoInfo.spk == "door.gate") { - //濡傛灉杩樻病鏉ョ數 寮�鍚嚎绋嬫娴� - StartCheckIncomingCallThread(); +#if __IOS__ + //鑷爺鍙瀵硅 + HDLLinPhoneSDK.Instance().GotoHDLSRLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName,mHDLCallVideoInfo.DeviceSipAccount); +#endif } + else { + //鐙勮�愬厠鍙瀵硅 + //濡傛灉寮�鍚簡鑷姩璺宠浆鏂规锛屽垯鏃犻渶缁х画涓嬮潰澶勭悊銆佹棤闇�鎵嬪姩璺宠浆 + if (IsAutoJumpCallView) return; + //鍏堢粨鏉熸帀涔嬪墠鐨勭嚎绋� + EndCheckIncomingCallThread(); + //妫�娴嬫槸鍚︽潵鐢典簡濡傛灉鏄洿鎺ヨ皟鏁村懠鍙〉闈㈠鏋滀笉鏄垯寮�鍚嚎绋嬬瓑寰呭垽鏂� + if (IsIncomingReceivedCallState()) + { + Utlis.WriteLine("CALL 宸茬粡鏉ョ數浜嗐�傘�傘�傛墦寮�鍛煎彨椤甸潰"); + GoToHDLLinphoneIntercomActivity(); + } + else + { + //濡傛灉杩樻病鏉ョ數 寮�鍚嚎绋嬫娴� + StartCheckIncomingCallThread(); + } + } + } @@ -596,10 +630,10 @@ return checkIncomingCallThread == null || checkIncomingCallThread.ThreadState != ThreadState.Running; } - #endregion +#endregion - #region 鈻� -- Android鐩稿叧鎿嶄綔_______________________________ +#region 鈻� -- Android鐩稿叧鎿嶄綔_______________________________ #if __Android__ @@ -694,13 +728,13 @@ } #endif - #endregion +#endregion - #region 鈻� -- iOS鐩稿叧鎿嶄綔_______________________________ +#region 鈻� -- iOS鐩稿叧鎿嶄綔_______________________________ #if __IOS__ - #region OnHDLLinphoneCallDelegate +#region OnHDLLinphoneCallDelegate /// <summary> /// /// </summary> @@ -777,10 +811,10 @@ } - #endregion +#endregion #endif - #endregion +#endregion } @@ -813,6 +847,10 @@ /// 绫诲瀷 /// </summary> public string InterphoneType; + /// <summary> + /// spk + /// </summary> + public string spk=""; } -- Gitblit v1.8.0