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