SIP - 基本呼叫流程



下圖顯示了 SIP 會話的基本呼叫流程。

SIP Call Flow

以下是上述呼叫流程的分步說明:

  • 傳送到代理伺服器的 INVITE 請求負責啟動會話。

  • 代理伺服器立即向呼叫者(Alice)傳送 100 Trying 響應,以停止 INVITE 請求的重傳。

  • 代理伺服器在位置伺服器中搜索 Bob 的地址。獲取地址後,它會進一步轉發 INVITE 請求。

  • 此後,Bob 生成的 180 Ringing(臨時響應)將返回給 Alice。

  • Bob 接起電話後不久,就會生成 200 OK 響應。

  • Bob 在收到 200 OK 後,會從 Alice 處收到 ACK

  • 同時,會話建立,並且 RTP 資料包(對話)開始從兩端流動。

  • 對話結束後,任何參與者(Alice 或 Bob)都可以傳送 BYE 請求以終止會話。

  • BYE 直接從 Alice 到 Bob,繞過代理伺服器。

  • 最後,Bob 傳送 200 OK 響應以確認 BYE,並且會話終止。

  • 在上述基本呼叫流程中,有三個 事務(標記為 1、2、3)。

完整的呼叫(從 INVITE 到 200 OK)稱為 對話

SIP 梯形

代理如何幫助一個使用者連線到另一個使用者?讓我們藉助下圖瞭解一下。

SIP Trapezoid

圖中所示的拓撲稱為 SIP 梯形。該過程如下:

  • 當呼叫者發起呼叫時,會向代理伺服器傳送 INVITE 訊息。收到 INVITE 後,代理伺服器會嘗試在 DNS 伺服器的幫助下解析被叫方的地址。

  • 獲取下一條路由後,呼叫者的代理伺服器(代理 1,也稱為出站代理伺服器)將 INVITE 請求轉發到被叫方的代理伺服器,該伺服器充當被叫方的入站代理伺服器(代理 2)。

  • 入站代理伺服器聯絡位置伺服器以獲取有關被叫方註冊使用者地址的資訊。

  • 在從位置伺服器獲取資訊後,它會將呼叫轉發到其目的地。

  • 一旦使用者代理瞭解其地址,他們就可以繞過呼叫,即對話直接傳遞。

廣告