From cb9232b3ab413fae7bcc2b94abd70f18ca02b263 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 03 十二月 2024 11:20:32 +0800
Subject: [PATCH] 增加铃声;增加TCP/UDP连接选择

---
 HDLLinPhoneSDK/HDLLinPhoneSDK/HDLCoreManagerDelegate.swift |   31 +++++++++++++++++++++++--------
 1 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/HDLLinPhoneSDK/HDLLinPhoneSDK/HDLCoreManagerDelegate.swift b/HDLLinPhoneSDK/HDLLinPhoneSDK/HDLCoreManagerDelegate.swift
index 4c3de72..ad397ec 100644
--- a/HDLLinPhoneSDK/HDLLinPhoneSDK/HDLCoreManagerDelegate.swift
+++ b/HDLLinPhoneSDK/HDLLinPhoneSDK/HDLCoreManagerDelegate.swift
@@ -31,7 +31,7 @@
             HDLCallManager.setAppData(sCall: call, appData: appData)
         }
         HDLLinPhoneSDK.instance().isIncomingReceivedCallState=false
-
+        print("cstate: \(cstate)")
         switch cstate {
             case .IncomingReceived:
                 print("鎺ユ敹鍒伴�氱煡")
@@ -53,23 +53,27 @@
                         }
                     } else {
                         let state: UIApplication.State = UIApplication.shared.applicationState
-                        HDLCallManager.instance().displayIncomingCall(call: call, handle: address, hasVideo: video, callId: callId!)
-                        if state == .background{
-//                            HDLCallManager.instance().displayIncomingCall(call: call, handle: address, hasVideo: video, callId: callId!)
-                        }else{
-                            
+                        HDLCallManager.instance().displayIncomingCall(call: call, handle: address, hasVideo: true, callId: callId!)
+                        print("鎺ユ敹鍒伴�氱煡2")
+//                        if state == .background{
+//                            print("鎺ユ敹鍒伴�氱煡3")
+////                            HDLCallManager.instance().displayIncomingCall(call: call, handle: address, hasVideo: video, callId: callId!)
+//                        }else{
 //                             HDLCallManager.instance().acceptCall(call: call, hasVideo: call.params?.videoEnabled ?? false)
-                            let dict: Dictionary<String, Any> = ["state":10,"cfg":"","message":"","callID":call.callLog?.callId ?? "","hasVideo":call.params?.videoEnabled ?? false]
+                            print("鎺ユ敹鍒伴�氱煡4")
+                            let dict: Dictionary<String, Any> = ["state":10,"cfg":"","message":"","callID":call.callLog?.callId ?? "","hasVideo":call.params?.videoEnabled ?? false,"userName":call.remoteAddress?.username ?? ""]
                             NotificationCenter.default.post(name: NSNotification.Name(rawValue: "LinphoneRegistrationUpdate"), object: nil, userInfo: dict)
                             HDLLinPhoneSDK.instance().isIncomingReceivedCallState=true
-                        }
+//                        }
                     }
                 }
                 break
             case .StreamsRunning:
                 if (HDLCallManager.callKitEnabled()) {
                     let uuid = HDLCallManager.instance().providerDelegate.uuids["\(callId!)"]
+//                    print("鎵�鏈塽uids锛歕(HDLCallManager.instance().providerDelegate.uuids)")
                     if (uuid != nil) {
+                        print("鏈塽uid鐨�")
                         let callInfo = HDLCallManager.instance().providerDelegate.callInfos[uuid!]
                         if (callInfo != nil && callInfo!.isOutgoing && !callInfo!.connected) {
                            
@@ -86,10 +90,15 @@
                     HDLCoreManagerDelegate.speaker_already_enabled = true
                 }
                 break
+            case .OutgoingProgress:
+                print("OutgoingRinging")
+                break
             case .OutgoingRinging:
+                print("OutgoingRinging")
                 if (HDLCallManager.callKitEnabled()) {
                     let uuid = HDLCallManager.instance().providerDelegate.uuids[""]
                     if (uuid != nil) {
+//                        print("鏈塽uid鐨勶細\(String(describing: uuid))")
                         let callInfo = HDLCallManager.instance().providerDelegate.callInfos[uuid!]
                         callInfo!.callId = callId!
                         HDLCallManager.instance().providerDelegate.callInfos.updateValue(callInfo!, forKey: uuid!)
@@ -159,11 +168,17 @@
                         HDLCallManager.instance().requestTransaction(transaction, action: "endCall")
                     }
                 }
+                let dict: Dictionary<String, Any> = ["state":11,"cfg":"","message":"","callID":call.callLog?.callId ?? "","hasVideo":call.params?.videoEnabled ?? false,"userName":call.remoteAddress?.username ?? ""]
+                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "LinphoneRegistrationUpdate"), object: nil, userInfo: dict)
                 break
             case .Released:
                 call.userData = nil
+                print("release 浜�")
+                let dict: Dictionary<String, Any> = ["state":12,"cfg":"","message":"","callID":call.callLog?.callId ?? "","hasVideo":call.params?.videoEnabled ?? false,"userName":call.remoteAddress?.username ?? ""]
+                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "LinphoneRegistrationUpdate"), object: nil, userInfo: dict)
                 break
             case .Referred:
+                print("Referred 浜�")
                 HDLCallManager.instance().referedFromCall = call.callLog?.callId
                 break
             default:

--
Gitblit v1.8.0