第 4 章 以 SIP 為基礎之監聽與側錄之網路架構
4.3 合法監聽與側錄元件
4.3.2 SIPm- SIP Monitor
圖4.10 包含 SDP 內容的 INVITE 指令之 SIP 訊息
在圖4.10 中,“v"代表協定版本;“o"代表通話的發話者;“s"代表通 話名稱;“c"代表連線的資料,其中包含連線型式、網路型式以及連線位址;
“t"代表通話的起始時間;“m"表示多媒體的型式,其中包含視訊或音訊說 明、可用的連接埠、封包格式以及所支援的編碼代碼;“a"則列出“m"所支 援的編碼代碼,其中來說明了編碼名稱和位元率。在 SIPm 執行“Create Session"時,同時也修改了“o"、“c"以及“m"的部分內容。在“o"和“c"
中把發話者的網路位址改成 SIPm 的網路位址;而在“m"中,則修改了發話者 的通訊埠,取代成 SIPm 在“Create Session"時所新產生的通訊埠。而在修改 的同時,SIPm 必須記錄發話者原始的網路位址與通訊埠。在修改 SDP 後,SIPm 便將封包回傳給 SIPx,由 SIPx 最後傳到受話者。所以受話者會認為發者的網 路位址與通訊埠位址在於 SIPm 上。因此若受話者接起通話時,便會將 RTP Stream 導向 SIPm 設備上。同時 SIPm 再將受話者的 RTP Stream 複製一份儲 存下來並轉送到先前記綠下來的原始發話者網路位址與通訊埠。如此即可側錄到 受話者的語音封包。
B. Start Session
當 SIPx 收到“200 OK"指令時會轉送該封包至 SIPm,此時 SIPm 之前
“Create Session"建立的側錄執行緒將會準備開始側錄。其中“200 OK"本文 包含著 SDP 的內容 [8],其 SDP 內容為受話者提供給發話者可用的語音編碼 和連線到受話者的網路位址與通訊埠。此時 SIPm 會修改“o"、“c"以及
“m"的部分內容。在“o"和“c"中把受話者的網路位址改成 SIPm 的網路位 址;而在“m"中,則修改了受話者的通訊埠,取代成 SIPm 在“Create Session"
時所新產生的另一個通訊埠。而在修改的同時,SIPm 必須記錄受話者原始的網 路位址與通訊埠。在修改 SDP 後,SIPm 便將封包回傳給 SIPx,由 SIPx 最後 傳到發話者。所以發話者會認為受者的網路位址與通訊埠位址均位於 SIPm 上。因此在受話者從發話者所送出的語音封包均會經過 SIPm 設備,以達到側 錄發話者的語音的需求。
C. End Session
當發話者與受話者其中一方想結束通話時,會送出 BYE 的指令,此時 SIPx 會將指令送往 SIPm 設備上。當 SIPm 收到 BYE 指令時即可“End Session"來終止側錄的工作。終止側錄後,SIPm 會將此通聯記錄與雙方的通話 內容全部儲存並記錄在資料庫上,以提供將來合法監聽者用來搜尋與聽取側錄的 語音內容。
D. Delete Session
當發話者與受話者其中一方想取消此通話時,會送出 CANCEL 的指令。
當 SIPx 收到 CANCEL 指令時,會轉送該封包至 SIPm。當 SIPm 收到來自 SIPx 的 CANCEL 指令時即可“Delete Session"來取消側錄的工作。