SIP基本呼叫流程
下圖顯示了一個SIP會話的基本呼叫流程。
下面給出的是上述呼叫流程的一步一步的解釋:
被髮送到代理服務器的INVITE請求負責發起會話。
代理服務器發送100立即給調用者(Alice)試圖響應停止重傳的INVITE請求。
代理服務器搜索Bob在位置服務器的地址。得到的地址後,將其轉發INVITE請求進一步。
此後,180 Ringing(臨時響應)由Bob產生被返回給Alice。
200 OK響應很快產生後,Bob拿起手機來。
Bob從Alice收到ACK,當它得到200 OK。
同時,該會話被建立和RTP分組(對話)開始從兩端流出。
談話結束後,任何參與者(甲和乙)可以發送一個BYE請求終止會話。
BYE達到直接繞過代理服務器從Alice給Bob。
最後Bob發送200 OK響應確認BYE並且會話被終止。
另外,在上述的基本呼叫流程,有3個合約(標記爲1,2,3)提供。
完整的呼叫(從INVITE到200行)被稱爲一個對話。
SIP梯形
如何做一個代理的幫助與其他連接一個用戶?讓我們找出使用以下圖的幫助。
圖中示出的拓撲結構稱爲SIP的梯形。該過程發生如下:
當主叫方發起呼叫,INVITE消息被髮送到代理服務器。一旦接收到INVITE時,代理服務器將嘗試解決該被叫方的地址到DNS服務器。
獲取下一個航線後,呼叫者的代理服務器(Proxy1,也稱爲呼出代理服務器)轉發INVITE請求到被叫方的代理服務器充當入站代理服務器(Proxy2)被叫方。
入站代理服務器接觸位置服務器,以獲取有關在用戶註冊的被叫方的地址信息。
從位置服務器獲得信息後,將其轉發該呼叫到其目的地。
一旦用戶代理了解他們的地址,他們可以繞過通話,即通過對話直接。