五 SIP中乙個INVITE訊息的發起過程

2021-06-07 14:05:08 字數 1338 閱讀 2857

當通過sip協議發起乙個會話時,需要通過invite訊息實現該流程。而sip協議是乙個基於事務的協議,每乙個sip會話的都是通過sip部件間的一系列訊息來完成的。首先需要明確的重要概念就是事務。

事務如圖所示,對於1003來說,虛線框內的從invite訊息到**伺服器回送的200ok整個訊息互動流程稱為乙個客戶端事務,而對於1005來說,虛線框內的從invite訊息到**伺服器回送的200ok整個訊息互動流程稱為乙個伺服器事務。

不管是客戶端事務還是伺服器事務,都必須維護乙個有限狀態機,記錄當前事務的進展情況,事務和其狀態機的維護,構成了一款sip終端軟體最重要的一部分。

客戶端invite事務的狀態轉換如上圖所示。

當用兩個終端發起invite呼叫時,用wireshark抓包得到的結果如下圖所示:

其中ip:192.168.1.33是**伺服器的位址,ip:192.168.1.104是客戶端sip終端的位址。這裡,**伺服器的作用相當於乙個uas。這裡總共有兩個事務流程,整個過程如下:

a)        sip終端在位址192.168.1.104向伺服器發起乙個會議3000的invite訊息,客戶端進入calling狀態,啟動a和b的定時器,用於invite訊息的超時重傳。

b)        伺服器傳送100/trying,客戶端收到後進入proceeding狀態,取消a和b定時器。

c)        伺服器傳送407要求認證,客戶端進入completed狀態。

d)        客戶端通過ack傳送認證資訊。

e)        進入terminated狀態後銷毀該事務。

到此為止,乙個客戶端invite事務結束。

a)        sip終端在位址192.168.1.104再次向伺服器發起乙個會議3000的invite訊息,啟動a和b的定時器,用於invite訊息的超時重傳

b)        伺服器傳送100/trying,客戶端收到後進入proceeding狀態,取消a和b定時器。

c)        伺服器傳送200ok,客戶端進入accepted狀態。

d)        客戶端向伺服器傳送ack應答。

注:其中在進入calling狀態之前,也就是在傳送invite訊息時,客戶端必須將其中的sdp訊息包含著invite訊息的content中傳送到。

居中乙個元素

1.行內元素水平居中 利用 text align center 可以實現在塊級元素內部的行內元素水平居中。此方法對inline inline block inline table和inline flex元素水平居中都有效。parent此外,如果塊級元素內部包著也是乙個塊級元素,我們可以先將其由塊級元...

如何居中乙個div?如何居中乙個浮動元素?

居中乙個div 給div設定乙個寬度,margin 0px auto。position absolute top 50 left 50 transform translate 50 50 彈性盒居中 justify content center align items center 居中乙個浮動元素...

如何居中乙個div?如何居中乙個浮動元素?

第一種方法 居中乙個div 給div設定乙個寬度,margin 0px auto。position absolute top 50 left 50 transform translate 50 50 彈性盒居中 justify content center align items center 居中...