本發明涉及通信技術領域,尤其涉及一種通話連接方法及客戶端。
背景技術:
隨著通信技術的不斷發展,通過終端設備進行音視頻通話也越來越流行,在終端設備在進行音視頻通話過程中,終端設備之間的網絡環境是不同的,為了使得音視頻通話過程中媒體數據從一個終端設備傳送到另一個終端設備,需要在外網中部署一臺服務器來轉發媒體數據,由于所有的終端設備都依賴于該服務器進行媒體數據轉發,因此使得服務器承受的壓力非常大,容易當機;為了解決上述技術問題,引入(Internet Communication Engine,ICE)分布式轉發通信機制,使得音視頻通話過程中媒體數據從一個終端設備直接傳送到另一個終端設備,當媒體數據無法從一個終端設備直接傳送到另一個終端設備時,再通過外網中部署的服務器來轉發媒體數據,從而實現終端設備之間的音視頻通話,但由于終端設備之間的網絡環境不同,因此終端設備之間的媒體數據無論是直接發送還是通過中轉服務器發送,都必須檢測終端設備之間的內網地址連通性、外網地址連通性以及中轉站地址連通性,最后選擇該三個地址中連通性最好的地址進行通話連接,因此耗費大量的音視頻通話連接時間,從而降低了音視頻通話連接效率。
技術實現要素:
本發明的主要目的在于提供一種通話連接方法及客戶端,旨在解決當前在通話連接時,必須檢測終端設備之間的內網地址連通性、外網地址連通性以及中轉站地址連通性,而導致音視頻通話連接效率的問題。
為實現上述目的,本發明提供的一種通話連接方法,包括:
在接聽客戶端接收到主叫客戶端發送的呼叫信息時,解析所述呼叫信息以獲取所述主叫客戶端對應的第一通話地址信息,并向所述第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息;
所述接聽客戶端基于所述第一通話地址信息以及所述第二地址信息確定 所述第一地址信息中各個通話地址的權重值,所述第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及所述第一中轉站地址;
所述接聽客戶端基于權重值最大的所述通話地址進行連通性測試,并將所述第一通話地址信息中各個通話地址的權重值發送至所述主叫客戶端,以供所述主叫客戶端基于權重值最大的所述通話地址進行連通性測試;
在連通性測試測試成功時,所述接聽客戶端基于權重值最大的所述通話地址建立與所述主叫客戶端的通信連接。
優選地,所述接聽客戶端基于所述第一通話地址信息以及所述第二地址信息確定所述第一地址信息中各個通話地址的權重值的步驟包括:
判斷所述第一通話地址信息中的所述第一外網地址與所述第二通話地址信息中的第二外網地址是否相同;
在所述第一外網地址與所述第二外網地址相同時,將所述第一通話地址信息中的所述第一內網地址的權重值設為第一預設值,將所述第一外網地址以及第一中轉站地址的權重值設為第二預設值,其中,所述第一預設值大于所述第二預設值。
優選地,所述判斷所述第一通話地址信息中的所述第一外網地址與所述第二通話地址信息中的第二外網地址是否相同的步驟之后,所述通話連接方法還包括:
在所述第一外網地址與所述第二外網地址不相同時,獲取所述呼叫信息中所述主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型是否均為預設類型;
在所述第一網絡地址轉換類型與所述第二網絡地址轉換類型均為預設類型時,將所述第一中轉站地址的權重值設為第三預設值,并將所述第一外網地址以及第一內網地址的權重值設為第四預設值,其中,所述第三預設值大于所述第四預設值。
在所述第一網絡地址轉換類型與所述第二網絡地址轉換類型不是預設類型時,將所述第一外網地址的權重值設為第五預設值,將所述第一中轉站地址的權重值設為第六預設值,并將所述第一外網地址的權重值設為第七預設值,其中,所述第六預設值大于所述第七預設值,且小于所述第五預設值。
為實現上述目的,本發明又提供一種通話連接方法,包括:
在主叫客戶端進入音視頻通話模式后,向接聽客戶端發送呼叫信息;
所述主叫客戶端接收所述接聽客戶端基于所述呼叫信息發送的第一通話地址信息中各個通話地址的權重值,其中,所述接聽客戶端解析所述呼叫信息以獲取所述主叫客戶端對應的第一通話地址信息,并向所述第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,所述接聽客戶端基于所述第一通話地址信息以及所述第二地址信息確定所述第一地址信息中各個通話地址的權重值,并將所述第一通話地址信息中各個通話地址的權重值發送至所述主叫客戶端,所述第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及所述第一中轉站地址;
所述主叫客戶端基于權重值最大的所述通話地址進行連通性測試;
在連通性測試成功時,所述主叫客戶端根據所述權重值最大的所述通話地址與所述接聽客戶端進行通話連接。
優選地,所述中轉站包括網絡地址轉換類型為預設轉換類型的客戶端。
此外,為實現上述目的,本發明還提供一種客戶端,包括:接聽客戶端以及主叫客戶端;其中,所述接聽客戶端包括:
解析模塊,用于在接聽客戶端接收到主叫客戶端發送的呼叫信息時,解析所述呼叫信息以獲取所述主叫客戶端對應的第一通話地址信息,并向所述第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息;
確定模塊,用于基于所述第一通話地址信息以及所述第二地址信息確定所述第一地址信息中各個通話地址的權重值,所述第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及所述第一中轉站地址;
第一測試模塊,用于基于權重值最大的所述通話地址進行連通性測試,并將所述第一通話地址信息中各個通話地址的權重值發送至所述主叫客戶端,以供所述主叫客戶端基于權重值最大的所述通話地址進行連通性測試;
創建模塊,用于在連通性測試測試成功時,基于權重值最大的所述通話地址建立與所述主叫客戶端的通信連接。
優選地,所述確定模塊包括:
判斷單元,用于判斷所述第一通話地址信息中的所述第一外網地址與所述第二通話地址信息中的第二外網地址是否相同;
設置單元,用于在所述第一外網地址與所述第二外網地址相同時,將所述第一通話地址信息中的所述第一內網地址的權重值設為第一預設值,將所述第一外網地址以及第一中轉站地址的權重值設為第二預設值,其中,所述第一預設值大于所述第二預設值。
優選地,所述接聽客戶端包括:
獲取模塊,用于在所述第一外網地址與所述第二外網地址不相同時,獲取所述呼叫信息中所述主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型是否均為預設類型;
第一設置模塊,用于在所述第一網絡地址轉換類型與所述第二網絡地址轉換類型均為預設類型時,將所述第一中轉站地址的權重值設為第三預設值,并將所述第一外網地址以及第一內網地址的權重值設為第四預設值,其中,所述第三預設值大于所述第四預設值。
第二設置模塊,用于在所述第一網絡地址轉換類型與所述第二網絡地址轉換類型不是預設類型時,將所述第一外網地址的權重值設為第五預設值,將所述第一中轉站地址的權重值設為第六預設值,并將所述第一外網地址的權重值設為第七預設值,其中,所述第六預設值大于所述第七預設值,且小于所述第五預設值。
為實現上述目的,本發明還提供一種客戶端,包括:接聽客戶端以及主叫客戶端;其中,所述主叫客戶端包括:
發送模塊,用于在主叫客戶端進入音視頻通話模式后,向接聽客戶端發送呼叫信息;
接收模塊,用于接收所述接聽客戶端基于所述呼叫信息發送的第一通話地址信息中各個通話地址的權重值,其中,所述接聽客戶端解析所述呼叫信息以獲取所述主叫客戶端對應的第一通話地址信息,并向所述第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,所述接聽客戶端基于所述第一通話地址信息以及所述第二地址信息確定所述第一地址信息中各個通話地址的權重值,并將所述第一通話地址信息中各個 通話地址的權重值發送至所述主叫客戶端,所述第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及所述第一中轉站地址;
第二測試模塊,用于基于權重值最大的所述通話地址進行連通性測試;
連接模塊,用于在連通性測試成功時,根據所述權重值最大的所述通話地址與所述接聽客戶端進行通話連接。
優選地,所述中轉站包括網絡地址轉換類型為預設轉換類型的客戶端。
本發明通過在接聽客戶端接收到主叫客戶端發送的呼叫信息時,解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,接聽客戶端基于第一通話地址信息以及第二通話地址信息確定第一通話地址信息中各個通話地址的權重值,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址,接聽客戶端基于權重值最大的通話地址進行連通性測試,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,以供主叫客戶端基于權重值最大的通話地址進行連通性測試,在連通性測試測試成功時,接聽客戶端基于權重值最大的通話地址建立與主叫客戶端的通信連接。由于在接聽客戶端確定該主叫客戶端對應的第一通話地址信息中各個通話地址的權重值后,該接聽客戶端基于權重值最大的通話地址進行連通性測試,因此優化了連通性檢測程序,降低了連通性測試時間,從而降低了音視頻通話連接時間,進而提高了音視頻通話連接效率。
附圖說明
圖1為本發明通話連接方法的第一實施例的流程示意圖;
圖2為本發明圖1所示第一實施例中步驟S120的細化步驟的流程示意圖;
圖3為本發明通話連接方法的第二實施例的流程示意圖;
圖4為本發明通話連接方法的第三實施例的流程示意圖;
圖5為本發明客戶端中接聽客戶端的第一實施例的功能模塊示意圖;
圖6為本發明客戶端中接聽客戶端的第二實施例中確定模塊的細化功能模塊示意圖;
圖7為本發明客戶端中接聽客戶端的第三實施例的功能模塊示意圖;
圖8為本發明客戶端中主叫客戶端的第四實施例的功能模塊示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
基于上述問題,本發明提供一種通話連接方法。
參照圖1,圖1為本發明通話連接方法的第一實施例的流程示意圖。
在本實施例中,所述通話連接方法包括:
步驟S110,在接聽客戶端接收到主叫客戶端發送的呼叫信息時,解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息;
在本實施例中,該接聽客戶端以及主叫客戶端為支持RFC5766協議的ICE客戶端,該接聽客戶端以及主叫客戶端通過RFC5766協議與TURN Server中轉站進行通訊,而該TURN Server中轉站包括支持RFC5766協議的TURN Server客戶端,用于以ICE中轉服務器的角色為ICE客戶端提供TURN中轉服務。當主叫客戶端開啟音視頻通話模式后,使用SIP會話發起協議,向接聽客戶端發送INVITE呼叫信息,而該INVITE呼叫信息由SDP協議構建的,該SDP協議在構建該INVITE呼叫信息的同時,也將該主叫客戶端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT類型通過增加屬性項的形式構建在該INVITE呼叫信息中,因而該主叫客戶端在向該接聽客戶端發送INVITE呼叫信息的同時,也會將本端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT類型發送給該接聽客戶端。在該接聽客戶端接收到該主叫客戶端發送的該INVITE呼叫信息后,解析該INVITE呼叫信息獲取該主叫客戶端對應的第一通話地址信息,其中,該第一通話地址信息包括該主叫客戶端對應的第一內網地址、第一外網地址以及兩組第一中轉地址。當該接聽客戶端接收到該主叫客戶端發送的兩組第一中轉地址,判斷本端當前存儲的第二中轉地址與該兩組第一中轉地址是否相同,若是,則獲取已存儲的基于該第二中轉地址對應的中轉站獲取的本端的第二外網地址、第二內網地址以及第二網絡轉換NAT類型,若 否,則基于該兩組第一中轉地址對應的中轉站獲取本端的第二通話信息,該第二通話信息包括該接聽客戶端對應的第二內網地址、第二外網地址、兩組第二中轉站地址以及第二網絡轉換NAT類型。其中,該兩組第一中轉地址不同,且該兩組第一中轉地址與該兩組第二中轉地址一致。
需要說明的是,該主叫客戶端以及該接聽客戶端包括可進行音視頻通話的終端。
步驟S120,接聽客戶端基于第一通話地址信息以及第二通話地址信息確定第一通話地址信息中各個通話地址的權重值,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址;
當接聽客戶端獲取到本端的第二通話地址信息以及該主叫客戶端的第一通話地址后,根據該第二通話地址信息以及該第一通話地址確定該第一通話地址信息中各個通話地址的權重值。其中,該第一通話地址信息中的各個通話地址包括第一外網地址、第一內網地址以及兩組第一中轉站地址。
步驟S130,接聽客戶端基于權重值最大的通話地址進行連通性測試,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,以供主叫客戶端基于權重值最大的通話地址進行連通性測試;
在該接聽客戶端確定該第一通話地址信息中各個通話地址的權重值后,將第一通話地址信息中各個通話地址的權重值按照從大到小的順序進行排列,該接聽客戶端首先根據該第一通話地址信息中權重值最大的通話地址與該主叫客戶端進行連通性測測試,若該權重值最大的通話地址連通失敗,則選擇排列第二的權重值對應的通話地址進行連通性測試,若按照權重值按照從大到小的順序所對應的通話地址進行連通性測試都失敗后,則該接聽客戶端根據兩組第一中轉站地址跳轉至中轉站,基于該中轉站建立與該主叫客戶端的通信連接。
步驟S140,在連通性測試測試成功時,接聽客戶端基于權重值最大的通話地址建立與主叫客戶端的通信連接。
在接聽客戶端基于權重值最大的通話地址進行連通性測試成功后,該接聽客戶端基于該權重值最大的通話地址建立與該主叫客戶端的通信連接。
可以理解的是,當該接聽客戶端確定該第一通話地址信息中某個通話地址的權重值為最小值如0時,以及第二通話地址信息中某個通話地址的權重 值為最小值如0時,不需要進行連通性測試。
本實施例通過在接聽客戶端接收到主叫客戶端發送的呼叫信息時,解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,接聽客戶端基于第一通話地址信息以及第二通話地址信息確定第一通話地址信息中各個通話地址的權重值,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址,接聽客戶端基于權重值最大的通話地址進行連通性測試,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,以供主叫客戶端基于權重值最大的通話地址進行連通性測試,在連通性測試測試成功時,接聽客戶端基于權重值最大的通話地址建立與主叫客戶端的通信連接。由于在接聽客戶端確定該主叫客戶端對應的第一通話地址信息中各個通話地址的權重值后,該接聽客戶端基于權重值最大的通話地址進行連通性測試,因此優化了連通性檢測程序,降低了連通性測試時間,從而降低了音視頻通話連接時間,進而提高了音視頻通話連接效率。
進一步的,請參照圖2,為本發明第一實施例中步驟S120的細化步驟的流程示意圖,該步驟S120中所述接聽客戶端基于所述第一通話地址信息以及所述第二通話地址信息確定所述第一通話地址信息中各個通的細化步驟包括:
步驟S121,判斷第一通話地址信息中的第一外網地址與第二通話地址信息中的第二外網地址是否相同;
在本實施例中,當該接聽客戶端獲取到本端的第二通話地址信息以及該主叫客戶端的第一通話地址后,判斷第一通話地址信息中的第一外網地址與第二通話地址信息中的第二外網地址是否相同。
步驟S122,在第一外網地址與第二外網地址相同時,將第一通話地址信息中的第一內網地址的權重值設為第一預設值,將第一外網地址以及第一中轉站地址的權重值設為第二預設值,其中,第一預設值大于第二預設值。
在確定第一外網地址與第二外網地址相同時,將該第一通話地址信息中的第一內網地址的權重值設為第一預設值如1,將該第一外網地址以及兩組第一中轉站地址的權重值設為第二預設值如0,且該第一預設值大于第二預設 值。其中,該內網也可稱為局域網。
需要說明的是,在確定第一外網地址與第二外網地址相同時,該接聽客戶端基于該第一內網地址與該主叫客戶端進行連通性測試,由于將該第一外網地址以及兩組第一中轉站地址的權重值設為0,則該接聽客戶端將不對該第一外網地址以及兩組第一中轉站地址進行連通性測試,但是若該接聽客戶端基于該第一內網地址與該主叫客戶端進行連通性測試失敗時,該接聽客戶端基于該兩組第一中轉地址與主叫客戶端進行連通性測試,在測試成功后,該接聽客戶端基于該第一中轉地址對應的中轉站建立與該主叫客戶端的通話連接。
本實施例通過判斷第一通話地址信息中的第一外網地址與第二通話地址信息中的第二外網地址是否相同,在第一外網地址與第二外網地址相同時,將第一通話地址信息中的第一內網地址的權重值設為第一預設值,將第一外網地址以及第一中轉站地址的權重值設為第二預設值,其中,第一預設值大于第二預設值。由于通過比對確定接聽客戶端的第二外網地址與主叫客戶端的第一外網地址相同時,則確定該接聽客戶端與該主叫客戶端處于同一局域網內,從而確定該第一內網地址的權重值為最大,因此減少了該接聽客戶端確定各個通話地址的權重值的程序,從而降低了權重值的確定時間,提高了音視頻通話連接效率。
進一步的,請參照圖3,提出本發明通話連接方法的第二實施例的流程示意圖,在該第二實施例中,S121之前,該通話連接方法包括:
步驟S150,在第一外網地址與第二外網地址不相同時,檢測呼叫信息中主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型是否均為預設類型;
在本實施例中,在確定第一外網地址與第二外網地址不相同時,獲取該主叫客戶端發送的INVITE呼叫信息中包含的該主叫客戶端的第一網絡地址轉換NAT類型,并將該第一網絡地址轉換NAT類型與本端已存儲的第二網絡地址轉換NAT類型,判斷該第一網絡地址轉換NAT類型與該第二網絡地址轉換NAT類型是否為預設類型。其中,該預設類型為Symmetric與Symmetric、Symmetric與Port Restricted、Port Restricted與Port Restricted以及不通。
步驟S160,在第一網絡地址轉換類型與第二網絡地址轉換類型均為預設類型時,將第一中轉站地址的權重值設為第三預設值,并將第一外網地址以及第一內網地址的權重值設為第四預設值,其中,第三預設值大于第四預設值。
當第一網絡地址轉換NAT類型與第二網絡地址轉換NAT類型均為預設類型時,將兩組第一中轉站地址的權重值設置為第三預設值如1,并將第一外網地址以及第一內網地址的權重值設置為第四預設值如0。
需要說明的是,在確定兩組第一中轉站地址的權重值為最大值后,該接聽客戶端基于該兩組第一中轉站地址與該主叫客戶端進行連通性測試,哪組第一中轉站地址的連通性測試先成功,該接聽客戶端基于該連通性測試先成功的第一中轉站地址建立與該主叫客戶端的通話連接,將連通性測試后成功的另一組第一中轉站地址作為備份,可在基于該連通性測試先成功的第一中轉站地址建立的通話連接的通話質量較差時,啟用該備份地址進行通話連接,以保障通話質量。
步驟S170,在第一網絡地址轉換類型與第二網絡地址轉換類型不是預設類型時,將第一外網地址的權重值設為第五預設值,將第一中轉站地址的權重值設為第六預設值,并將第一內網地址的權重值設為第七預設值,其中,第六預設值大于第七預設值,且小于第五預設值。
在第一網絡地址轉換NAT類型與第二網絡地址轉換NAT類型均不是該預設類型時,該接聽客戶端將該第一外網地址的權重值設置為第五預設值如2,將兩組第一中轉地址的權重值設置為第六預設值如1,將第一內網地址的權重值設置為第七預設值如0。
可以理解的是,在確定該第一外網地址的權重值為最大值后,該接聽客戶端基于該第一外網地址與該主叫客戶端進行連通性測試,當連通性測試成功時,該接聽客戶端基于該第一外網地址建立與該主叫客戶端的通話連接,當該連通性測試失敗時,該接聽客戶端基于該兩組第一中轉地址與該主叫客戶端進行連通性測試,當連通性測試成功時,該接聽客戶端基于該兩組第一中轉地址中的一組第一中轉地址建立與該主叫客戶端的通話連接,當連通性測試失敗時,基于外網中部署的中轉站建立與該主叫客戶端進行通話連接,或者該接聽客戶端中斷與該主叫客戶端通話連接。
需要說明的是,無論是通過外網地址通話、內網地址通話或者是中轉站地址通話,在通話過程中,仍有一組中轉地址有效,并作為備份地址,可在通話質量較差時啟用該作為備份地址的中轉地址,以保障通話質量。
本實施例通過判斷第一通話地址信息中的第一外網地址與第二通話地址信息中的第二外網地址是否相同,在第一外網地址與第二外網地址不相同時,檢測呼叫信息中主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型是否均為預設類型,在第一網絡地址轉換類型與第二網絡地址轉換類型均為預設類型時,將第一中轉站地址的權重值設為第三預設值,并將第一外網地址以及第一內網地址的權重值設為第四預設值,其中,第三預設值大于第四預設值,在第一網絡地址轉換類型與第二網絡地址轉換類型不是預設類型時,將第一外網地址的權重值設為第五預設值,將第一中轉站地址的權重值設為第六預設值,并將第一內網地址的權重值設為第七預設值,其中,第六預設值大于第七預設值,且小于第五預設值。由于在第一外網地址與第二外網地址不相同時,表明該接聽客戶端與該主叫客戶端的網絡環境不同中,通過判斷該主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型來進一步確定該主叫客戶端對應的第一通話地址信息中的各個通話地址的權重值,因此使得第一通話地址信息中的各個通話地址的權重值的確定更加精確,從而使得該接聽客戶端基于權重值最大的該通話地址建立與該主叫客戶端的通話連接更加穩定。
基于上述問題,本發明提供一種通話連接方法。
參照圖4,圖4為本發明通話連接方法的第三實施例的流程示意圖。
在本實施例中,所述通話連接方法包括:
步驟S210,在主叫客戶端進入音視頻通話模式后,向接聽客戶端發送呼
叫信息;
步驟S220,主叫客戶端接收接聽客戶端基于呼叫信息發送的第一通話地址信息中各個通話地址的權重值,其中,接聽客戶端解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,接聽客戶端基于第一通話地址信息以及第二地址信息確定第一地址信息中各個通話地址的權重 值,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址;
在本實施例中,該主叫客戶端定期向TURN Server中轉站管理服務器發送中轉站獲取請求指令,以供該TURN Server中轉站管理服務器基于該中轉站獲取請求指令訪問中轉站列表,基于該主叫客戶端發送該中轉站獲取請求指令獲取該主叫客戶端對應的位置信息,并根據該主叫客戶端對應的位置信息分配兩個與該主叫客戶端位置臨近的TURN Server中轉站,并將該兩個TURN Server中轉對應的地址發送給該主叫客戶端,當該主叫客戶端接收到該兩個TURN Server中轉站對應的地址后,基于該兩個TURN Server中轉站對應的地址向該兩個TURN Server中轉站發送ICE請求,以獲取該主叫客戶端對應的第一通話地址信息,并將該第一通話地址信息進行存儲在該主叫客戶端中。當該主叫客戶端開啟音視頻通話模式后,使用SIP會話發起協議,向接聽客戶端發送INVITE呼叫信息,而該INVITE呼叫信息由SDP協議構建的,該SDP協議在構建該INVITE呼叫信息的同時,也將該主叫客戶端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT類型通過增加屬性項的形式構建在該INVITE呼叫信息中,因而該主叫客戶端在向該接聽客戶端發送INVITE呼叫信息的同時,也會將本端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT類型發送給該接聽客戶端。在該接聽客戶端接收到該主叫客戶端發送的該INVITE呼叫信息后,解析該INVITE呼叫信息獲取該主叫客戶端對應的第一通話地址信息,其中,該第一通話地址信息包括該主叫客戶端對應的第一內網地址、第一外網地址以及兩組第一中轉地址。當該接聽客戶端接收到該主叫客戶端發送的INVITE呼叫信息后,基于呼叫信息發送的第一通話地址信息中各個通話地址的權重值。
步驟S230,主叫客戶端基于權重值最大的通話地址進行連通性測試;
在主叫客戶端接收到該接聽客戶端發送的第一通話地址信息中各個通話地址的權重值時,更新本端權重值列表,根據權重值最大的通話地址與接聽客戶端進行連通性測試。
步驟S240,在連通性測試成功時,主叫客戶端根據權重值最大的通話地 址與接聽客戶端進行通話連接。
在連通性測試成功時,主叫客戶端根據權重值最大的通話地址與接聽客戶端進行通話連接;在連通性測試失敗時,主叫客戶端根據第一中轉站地址對應的中轉站與接聽客戶端進行通話連接。
需要說明的是,STUN服務器用于獲取客戶端的網絡地址轉換類型,當客戶端的網絡地址轉換類型為預設類型時,確定客戶端為中轉站,并將客戶端的信息發送給中轉站管理服務器,以供中轉站管理服務器記錄客戶端的信息。第一步:檢測客戶端是否有能力進行UDP通信以及客戶端是否位于NAT后,客戶端建立UDP socket然后用這個socket向服務器的(IP-1,Port-1)發送數據包要求服務器的(IP-1,Port-1)地址對請求進行響應,返回客戶端的IP和Port。無法接受到服務器的回應,則判為網絡Blocking。比較返回IP和Port為外網IP,且與本地IP和Port一致時,則網絡為Public,否則繼續進入下一步。第二步:檢測客戶端NAT是否是Full Cone NAT,客戶端向服務器的(IP-1,Port-1)發送數據包要求服務器用另一對(IP-2,Port-2)響應客戶端的請求返回,無法接受到服務器的回應,則說明客戶端的NAT不是一個Full Cone NAT,具體類型有待下一步檢測(繼續)。如果能夠接受到服務器從(IP-2,Port-2)返回的應答UDP包,則說明客戶端是一個Full Cone NAT。第三步:檢測客戶端NAT是否是Symmetric NAT,用同樣的socket向服務器的(IP-2,Port-2)發送數據包要求服務器用(IP-2,Port-2)地址返回客戶端的IP和Port。比較第一步中返回的客戶端(IP,Port),如果兩個過程返回的(IP,Port)相同繼續進入下一步檢測,否則判為Symmetric NAT。第四步:檢測客戶端NAT是否是Restricted Cone NAT還是Port Restricted Cone NAT,客戶端向服務器的(IP-1,Port-1)發送數據包要求服務器用(IP-1,Port-2)響應客戶端的請求返回,若有收到回應,則說明客戶端是一個Restricted Cone NAT,否則判為Port Restricted Cone NAT。根據NAT類型及IP協議,將檢測NAT類型為Full Cone NAT或Public的客戶端,啟動TURN SERVER服務,將其本地3478端口映躲成與外網端口一致,以便其他客戶端直接以ICE RFC5766協議進行連接訪問。同時客戶端向TURN SERVER管理服務器進行中轉站角色登記。
本實施例通過主叫客戶端接收接聽客戶端基于呼叫信息發送的第一通話地址信息中各個通話地址的權重值,其中,接聽客戶端解析呼叫信息以獲取 主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,接聽客戶端基于第一通話地址信息以及第二地址信息確定第一地址信息中各個通話地址的權重值,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址,主叫客戶端基于權重值最大的通話地址進行連通性測試,在連通性測試成功時,主叫客戶端根據權重值最大的通話地址與接聽客戶端進行通話連接。由于主叫客戶端在接收到接聽客戶端發送的第一通話地址信息中各個通話地址的權重值時,基于權重值最大的通話地址進行連通性測試,因此優化了連通性檢測程序,降低了連通性測試時間,從而降低了音視頻通話連接時間,進而提高了音視頻通話連接效率。
本發明進一步提供一種客戶端。
參照圖5,圖5為本發明客戶端中接聽客戶端的第一實施例的功能模塊示意圖。
在本實施例中,接聽客戶端包括:解析模塊110、確定模塊120、第一測試模塊130及創建模塊140。
所述解析模塊110,用于在接聽客戶端接收到主叫客戶端發送的呼叫信息時,解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息;
在本實施例中,該接聽客戶端以及主叫客戶端為支持RFC5766協議的ICE客戶端,該接聽客戶端以及主叫客戶端通過RFC5766協議與TURN Server中轉站進行通訊,而該TURN Server中轉站包括支持RFC5766協議的TURN Server客戶端,用于以ICE中轉服務器的角色為ICE客戶端提供TURN中轉服務。當主叫客戶端開啟音視頻通話模式后,使用SIP會話發起協議,向接聽客戶端發送INVITE呼叫信息,而該INVITE呼叫信息由SDP協議構建的,該SDP協議在構建該INVITE呼叫信息的同時,也將該主叫客戶端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT類型通過增加屬性項的形式構建在該INVITE呼叫信息中,因而該主叫客戶端 在向該接聽客戶端發送INVITE呼叫信息的同時,也會將本端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT類型發送給該接聽客戶端。在該接聽客戶端接收到該主叫客戶端發送的該INVITE呼叫信息后,解析該INVITE呼叫信息獲取該主叫客戶端對應的第一通話地址信息,其中,該第一通話地址信息包括該主叫客戶端對應的第一內網地址、第一外網地址以及兩組第一中轉地址。當該接聽客戶端接收到該主叫客戶端發送的兩組第一中轉地址,判斷本端當前存儲的第二中轉地址與該兩組第一中轉地址是否相同,若是,則獲取已存儲的基于該第二中轉地址對應的中轉站獲取的本端的第二外網地址、第二內網地址以及第二網絡轉換NAT類型,若否,則基于該兩組第一中轉地址對應的中轉站獲取本端的第二通話信息,該第二通話信息包括該接聽客戶端對應的第二內網地址、第二外網地址、兩組第二中轉站地址以及第二網絡轉換NAT類型。其中,該兩組第一中轉地址不同,且該兩組第一中轉地址與該兩組第二中轉地址一致。
需要說明的是,該主叫客戶端以及該接聽客戶端包括可進行音視頻通話的終端。
所述確定模塊120,用于基于第一通話地址信息以及第二通話地址信息確定第一通話地址信息中各個通話地址的權重值,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址;
當接聽客戶端獲取到本端的第二通話地址信息以及該主叫客戶端的第一通話地址后,根據該第二通話地址信息以及該第一通話地址確定該第一通話地址信息中各個通話地址的權重值。其中,該第一通話地址信息中的各個通話地址包括第一外網地址、第一內網地址以及兩組第一中轉站地址。
所述第一測試模塊130,用于基于權重值最大的通話地址進行連通性測試,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,以供主叫客戶端基于權重值最大的通話地址進行連通性測試;
在該接聽客戶端確定該第一通話地址信息中各個通話地址的權重值后,將第一通話地址信息中各個通話地址的權重值按照從大到小的順序進行排列,該接聽客戶端首先根據該第一通話地址信息中權重值最大的通話地址與該主叫客戶端進行連通性測測試,若該權重值最大的通話地址連通失敗,則選擇排列第二的權重值對應的通話地址進行連通性測試,若按照權重值按照 從大到小的順序所對應的通話地址進行連通性測試都失敗后,則該接聽客戶端根據兩組第一中轉站地址跳轉至中轉站,基于該中轉站建立與該主叫客戶端的通信連接。
所述創建模塊140,用于在連通性測試測試成功時,基于權重值最大的通話地址建立與主叫客戶端的通信連接。
在接聽客戶端基于權重值最大的通話地址進行連通性測試成功后,該接聽客戶端基于該權重值最大的通話地址建立與該主叫客戶端的通信連接。
可以理解的是,當該接聽客戶端確定該第一通話地址信息中某個通話地址的權重值為最小值如0時,以及第二通話地址信息中某個通話地址的權重值為最小值如0時,不需要進行連通性測試。
本實施例通過在接聽客戶端接收到主叫客戶端發送的呼叫信息時,解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,接聽客戶端基于第一通話地址信息以及第二通話地址信息確定第一通話地址信息中各個通話地址的權重值,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址,接聽客戶端基于權重值最大的通話地址進行連通性測試,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,以供主叫客戶端基于權重值最大的通話地址進行連通性測試,在連通性測試測試成功時,接聽客戶端基于權重值最大的通話地址建立與主叫客戶端的通信連接。由于在接聽客戶端確定該主叫客戶端對應的第一通話地址信息中各個通話地址的權重值后,該接聽客戶端基于權重值最大的通話地址進行連通性測試,因此優化了連通性檢測程序,降低了連通性測試時間,從而降低了音視頻通話連接時間,進而提高了音視頻通話連接效率。
進一步的,基于第一實施例,提出本發明客戶端的第二實施例,在本實施例中,參照圖6,確定模塊120包括判斷單元121、設置單元122。
所述判斷單元121,用于判斷第一通話地址信息中的第一外網地址與第二通話地址信息中的第二外網地址是否相同;
在本實施例中,當該接聽客戶端獲取到本端的第二通話地址信息以及該主叫客戶端的第一通話地址后,判斷第一通話地址信息中的第一外網地址與 第二通話地址信息中的第二外網地址是否相同。
所述設置單元122,用于在第一外網地址與第二外網地址相同時,將第一通話地址信息中的第一內網地址的權重值設為第一預設值,將第一外網地址以及第一中轉站地址的權重值設為第二預設值,其中,第一預設值大于第二預設值。
在確定第一外網地址與第二外網地址相同時,將該第一通話地址信息中的第一內網地址的權重值設為第一預設值如1,將該第一外網地址以及兩組第一中轉站地址的權重值設為第二預設值如0,且該第一預設值大于第二預設值。其中,該內網也可稱為局域網。
需要說明的是,在確定第一外網地址與第二外網地址相同時,該接聽客戶端基于該第一內網地址與該主叫客戶端進行連通性測試,由于將該第一外網地址以及兩組第一中轉站地址的權重值設為0,則該接聽客戶端將不對該第一外網地址以及兩組第一中轉站地址進行連通性測試,但是若該接聽客戶端基于該第一內網地址與該主叫客戶端進行連通性測試失敗時,該接聽客戶端基于該兩組第一中轉地址與主叫客戶端進行連通性測試,在測試成功后,該接聽客戶端基于該第一中轉地址對應的中轉站建立與該主叫客戶端的通話連接。
本實施例通過判斷第一通話地址信息中的第一外網地址與第二通話地址信息中的第二外網地址是否相同,在第一外網地址與第二外網地址相同時,將第一通話地址信息中的第一內網地址的權重值設為第一預設值,將第一外網地址以及第一中轉站地址的權重值設為第二預設值,其中,第一預設值大于第二預設值。由于通過比對確定接聽客戶端的第二外網地址與主叫客戶端的第一外網地址相同時,則確定該接聽客戶端與該主叫客戶端處于同一局域網內,從而確定該第一內網地址的權重值為最大,因此減少了該接聽客戶端確定各個通話地址的權重值的程序,從而降低了權重值的確定時間,提高了音視頻通話連接效率。
進一步的,基于第一實施例,提出本發明客戶端的第二實施例,在本實施例中,參照圖7,接聽客戶端還包括:檢測模塊150、第一設置模塊160以及第二設置模塊170。
所述檢測模塊150,用于在第一外網地址與第二外網地址不相同時,檢測呼叫信息中主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型是否均為預設類型;
在本實施例中,在確定第一外網地址與第二外網地址不相同時,獲取該主叫客戶端發送的INVITE呼叫信息中包含的該主叫客戶端的第一網絡地址轉換NAT類型,并將該第一網絡地址轉換NAT類型與本端已存儲的第二網絡地址轉換NAT類型,判斷該第一網絡地址轉換NAT類型與該第二網絡地址轉換NAT類型是否為預設類型。其中,該預設類型為Symmetric與Symmetric、Symmetric與Port Restricted、Port Restricted與Port Restricted以及不通。
所述第一設置模塊160,用于在第一網絡地址轉換類型與第二網絡地址轉換類型均為預設類型時,將第一中轉站地址的權重值設為第三預設值,并將第一外網地址以及第一內網地址的權重值設為第四預設值,其中,第三預設值大于第四預設值。
當第一網絡地址轉換NAT類型與第二網絡地址轉換NAT類型均為預設類型時,將兩組第一中轉站地址的權重值設置為第三預設值如1,并將第一外網地址以及第一內網地址的權重值設置為第四預設值如0。
需要說明的是,在確定兩組第一中轉站地址的權重值為最大值后,該接聽客戶端基于該兩組第一中轉站地址與該主叫客戶端進行連通性測試,哪組第一中轉站地址的連通性測試先成功,該接聽客戶端基于該連通性測試先成功的第一中轉站地址建立與該主叫客戶端的通話連接,將連通性測試后成功的另一組第一中轉站地址作為備份,可在基于該連通性測試先成功的第一中轉站地址建立的通話連接的通話質量較差時,啟用該備份地址進行通話連接,以保障通話質量。
所述第二設置模塊170,用于在第一網絡地址轉換類型與第二網絡地址轉換類型不是預設類型時,將第一外網地址的權重值設為第五預設值,將第一中轉站地址的權重值設為第六預設值,并將第一內網地址的權重值設為第七預設值,其中,第六預設值大于第七預設值,且小于第五預設值。
在第一網絡地址轉換NAT類型與第二網絡地址轉換NAT類型均不是該預設類型時,該接聽客戶端將該第一外網地址的權重值設置為第五預設值如2,將兩組第一中轉地址的權重值設置為第六預設值如1,將第一內網地址的權重 值設置為第七預設值如0。
可以理解的是,在確定該第一外網地址的權重值為最大值后,該接聽客戶端基于該第一外網地址與該主叫客戶端進行連通性測試,當連通性測試成功時,該接聽客戶端基于該第一外網地址建立與該主叫客戶端的通話連接,當該連通性測試失敗時,該接聽客戶端基于該兩組第一中轉地址與該主叫客戶端進行連通性測試,當連通性測試成功時,該接聽客戶端基于該兩組第一中轉地址中的一組第一中轉地址建立與該主叫客戶端的通話連接,當連通性測試失敗時,基于外網中部署的中轉站建立與該主叫客戶端進行通話連接,或者該接聽客戶端中斷與該主叫客戶端通話連接。
需要說明的是,無論是通過外網地址通話、內網地址通話或者是中轉站地址通話,在通話過程中,仍有一組中轉地址有效,并作為備份地址,可在通話質量較差時啟用該作為備份地址的中轉地址,以保障通話質量。
本實施例通過判斷第一通話地址信息中的第一外網地址與第二通話地址信息中的第二外網地址是否相同,在第一外網地址與第二外網地址不相同時,檢測呼叫信息中主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型是否均為預設類型,在第一網絡地址轉換類型與第二網絡地址轉換類型均為預設類型時,將第一中轉站地址的權重值設為第三預設值,并將第一外網地址以及第一內網地址的權重值設為第四預設值,其中,第三預設值大于第四預設值,在第一網絡地址轉換類型與第二網絡地址轉換類型不是預設類型時,將第一外網地址的權重值設為第五預設值,將第一中轉站地址的權重值設為第六預設值,并將第一內網地址的權重值設為第七預設值,其中,第六預設值大于第七預設值,且小于第五預設值。由于在第一外網地址與第二外網地址不相同時,表明該接聽客戶端與該主叫客戶端的網絡環境不同中,通過判斷該主叫客戶端的第一網絡地址轉換類型與本端的第二網絡地址轉換類型來進一步確定該主叫客戶端對應的第一通話地址信息中的各個通話地址的權重值,因此使得第一通話地址信息中的各個通話地址的權重值的確定更加精確,從而使得該接聽客戶端基于權重值最大的該通話地址建立與該主叫客戶端的通話連接更加穩定。
本發明進一步又提供一種客戶端。
參照圖8,圖8為本發明客戶端中主叫客戶端的第五實施例的功能模塊示意圖。
在本實施例中,主叫客戶端包括:發送模塊210、接收模塊220、第二測試模塊230以及連接模塊240。
所述發送模塊210,用于在主叫客戶端進入音視頻通話模式后,向接聽客戶端發送呼叫信息;
所述接收模塊220,用于接收接聽客戶端基于呼叫信息發送的第一通話地址信息中各個通話地址的權重值,其中,接聽客戶端解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,接聽客戶端基于第一通話地址信息以及第二地址信息確定第一地址信息中各個通話地址的權重值,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址;
在本實施例中,該主叫客戶端定期向TURN Server中轉站管理服務器發送中轉站獲取請求指令,以供該TURN Server中轉站管理服務器基于該中轉站獲取請求指令訪問中轉站列表,基于該主叫客戶端發送該中轉站獲取請求指令獲取該主叫客戶端對應的位置信息,并根據該主叫客戶端對應的位置信息分配兩個與該主叫客戶端位置臨近的TURN Server中轉站,并將該兩個TURN Server中轉對應的地址發送給該主叫客戶端,當該主叫客戶端接收到該兩個TURN Server中轉站對應的地址后,基于該兩個TURN Server中轉站對應的地址向該兩個TURN Server中轉站發送ICE請求,以獲取該主叫客戶端對應的第一通話地址信息,并將該第一通話地址信息進行存儲在該主叫客戶端中。當該主叫客戶端開啟音視頻通話模式后,使用SIP會話發起協議,向接聽客戶端發送INVITE呼叫信息,而該INVITE呼叫信息由SDP協議構建的,該SDP協議在構建該INVITE呼叫信息的同時,也將該主叫客戶端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT類型通過增加屬性項的形式構建在該INVITE呼叫信息中,因而該主叫客戶端在向該接聽客戶端發送INVITE呼叫信息的同時,也會將本端對應的第一內網地址、第一外網地址、兩組第一中轉地址以及第一網絡地址轉換NAT 類型發送給該接聽客戶端。在該接聽客戶端接收到該主叫客戶端發送的該INVITE呼叫信息后,解析該INVITE呼叫信息獲取該主叫客戶端對應的第一通話地址信息,其中,該第一通話地址信息包括該主叫客戶端對應的第一內網地址、第一外網地址以及兩組第一中轉地址。當該接聽客戶端接收到該主叫客戶端發送的INVITE呼叫信息后,基于呼叫信息發送的第一通話地址信息中各個通話地址的權重值。
所述第二測試模塊230,用于基于權重值最大的通話地址進行連通性測試;
在主叫客戶端接收到該接聽客戶端發送的第一通話地址信息中各個通話地址的權重值時,更新本端權重值列表,根據權重值最大的通話地址與接聽客戶端進行連通性測試。
所述連接模塊240,用于在連通性測試成功時,根據權重值最大的通話地址與接聽客戶端進行通話連接。
在連通性測試成功時,主叫客戶端根據權重值最大的通話地址與接聽客戶端進行通話連接;在連通性測試失敗時,主叫客戶端根據第一中轉站地址對應的中轉站與接聽客戶端進行通話連接。
需要說明的是,STUN服務器用于獲取客戶端的網絡地址轉換類型,當客戶端的網絡地址轉換類型為預設類型時,確定客戶端為中轉站,并將客戶端的信息發送給中轉站管理服務器,以供中轉站管理服務器記錄客戶端的信息。第一步:檢測客戶端是否有能力進行UDP通信以及客戶端是否位于NAT后,客戶端建立UDP socket然后用這個socket向服務器的(IP-1,Port-1)發送數據包要求服務器的(IP-1,Port-1)地址對請求進行響應,返回客戶端的IP和Port。無法接受到服務器的回應,則判為網絡Blocking。比較返回IP和Port為外網IP,且與本地IP和Port一致時,則網絡為Public,否則繼續進入下一步。第二步:檢測客戶端NAT是否是Full Cone NAT,客戶端向服務器的(IP-1,Port-1)發送數據包要求服務器用另一對(IP-2,Port-2)響應客戶端的請求返回,無法接受到服務器的回應,則說明客戶端的NAT不是一個Full Cone NAT,具體類型有待下一步檢測(繼續)。如果能夠接受到服務器從(IP-2,Port-2)返回的應答UDP包,則說明客戶端是一個Full Cone NAT。第三步:檢測客戶端NAT是否是Symmetric NAT,用同樣的socket向服務器的(IP-2,Port-2)發送數據包要求服務 器用(IP-2,Port-2)地址返回客戶端的IP和Port。比較第一步中返回的客戶端(IP,Port),如果兩個過程返回的(IP,Port)相同繼續進入下一步檢測,否則判為Symmetric NAT。第四步:檢測客戶端NAT是否是Restricted Cone NAT還是Port Restricted Cone NAT,客戶端向服務器的(IP-1,Port-1)發送數據包要求服務器用(IP-1,Port-2)響應客戶端的請求返回,若有收到回應,則說明客戶端是一個Restricted Cone NAT,否則判為Port Restricted Cone NAT。根據NAT類型及IP協議,將檢測NAT類型為Full Cone NAT或Public的客戶端,啟動TURN SERVER服務,將其本地3478端口映躲成與外網端口一致,以便其他客戶端直接以ICE RFC5766協議進行連接訪問。同時客戶端向TURN SERVER管理服務器進行中轉站角色登記。
本實施例通過主叫客戶端接收接聽客戶端基于呼叫信息發送的第一通話地址信息中各個通話地址的權重值,其中,接聽客戶端解析呼叫信息以獲取主叫客戶端對應的第一通話地址信息,并向第一通話地址信息中的第一中轉站地址對應的中轉站獲取本端對應的第二通話地址信息,接聽客戶端基于第一通話地址信息以及第二地址信息確定第一地址信息中各個通話地址的權重值,并將第一通話地址信息中各個通話地址的權重值發送至主叫客戶端,第一通話地址信息中的通話地址包括第一外網地址、第一內網地址以及第一中轉站地址,主叫客戶端基于權重值最大的通話地址進行連通性測試,在連通性測試成功時,主叫客戶端根據權重值最大的通話地址與接聽客戶端進行通話連接。由于主叫客戶端在接收到接聽客戶端發送的第一通話地址信息中各個通話地址的權重值時,基于權重值最大的通話地址進行連通性測試,因此優化了連通性檢測程序,降低了連通性測試時間,從而降低了音視頻通話連接時間,進而提高了音視頻通話連接效率。
以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。