1. 程式人生 > >SIP的基本工作過程

SIP的基本工作過程

SIP IP電話系統定義了註冊/登出、呼叫、重定向、能力查詢四種工作過程。

註冊/登出過程

  SIP為使用者定義了註冊和登出過程,其目的是可以動態建立使用者的邏輯地址和其當前聯絡地址之間的對應關係,以方便實現呼叫路由和對使用者移動性的 支援。邏輯地址和聯絡地址的分離也方便了使用者,它不論在何處、使用何種裝置,都可以通過唯一的邏輯地址進行通訊。

  註冊/登出過程是通過REGISTER訊息和200成功響應來實現的。在註冊/登出時,使用者將其邏輯地址和當前聯絡地址通過REGISTER消 息傳送給其註冊伺服器,註冊伺服器對該請求訊息進行處理,並以200成功響應訊息通知使用者註冊/登出成功。

例 

REGISTER sip:192.168.0.157 SIP/2.0

Via: SIP/2.0/UDP 192.168.0.212;rport;branch=z9hG4bKc0a800d4000000104c21966c00007c9900000004
Content-Length: 0
Contact: <sip:[email protected]:5060>
Call-ID: [email protected]
CSeq: 2 REGISTER
From: <sip:[email protected]>;tag=1525750021180
Max-Forwards: 70
To: <sip:[email protected]>
User-Agent: SJphone/1.60.289a (SJ Labs)
Authorization: Digest username="8002",realm="asterisk",nonce="4fc62d23",uri="sip:192.168.0.157",response="39677e3edaed7037bd8af592d8d2a038",algorithm="MD5"

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.0.212;branch=z9hG4bKc0a800d4000000104c21966c00007c9900000004;received=192.168.0.212;rport=5060
From: <sip:[email protected]>;tag=1525750021180
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 2 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:

[email protected]>
Content-Length: 0

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.212;branch=z9hG4bKc0a800d4000000104c21966c00007c9900000004;received=192.168.0.212;rport=5060
From: <sip:[email protected]>;tag=1525750021180
To: <sip:[email protected]>;tag=as3d657ebf
Call-ID: [email protected]
CSeq: 2 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Expires: 120
Contact: <sip:[email protected]:5060>;expires=120
Date: Wed, 23 Jun 2010 05:07:00 GMT
Content-Length: 0

呼叫過程

  SIP IP電話系統中的呼叫是通過INVITE邀請請求、成功響應和ACK確認請求的三次握手來實現的。即當主叫使用者代理要發起呼叫時,它構造一個INVITE 訊息,併發送給被叫。被叫收到邀請後決定接受該呼叫,就回送一個成功響應(狀態碼為200)。主叫方收到成功響應後,向對方傳送ACK請求。被叫收到 ACK請求後,呼叫成功建立。

  呼叫的終止通過BYE請求訊息來實現。當參與呼叫的任一方要終止呼叫時,它就構造一個BYE請求訊息,併發送給對方。對方收到BYE請求後,釋 放與此呼叫相關的資源,回送一個成功響應,表示呼叫已經終止。

  當主被叫雙方已建立呼叫,如果任一方想要修改當前的通訊引數(通訊型別、編碼等),可以通過傳送一個對話內的INVITE請求訊息(稱為re- INVITE)來實現。

INVITE sip:[email protected]:49152 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.157:5060;branch=z9hG4bK0083a186;rport
From: "8002" <sip:[email protected]>;tag=as044943cc
To: <sip:[email protected]:49152>
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Wed, 23 Jun 2010 05:13:11 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 363

SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.0.212;branch=z9hG4bKc0a800d40000002b4c2197e00000549c0000004a;received=192.168.0.212;rport=5060
From: "unknown"<sip:[email protected]>;tag=156294689213
To: <sip:[email protected]>;tag=as46e231f6
Call-ID: [email protected]
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:[email protected]>
Content-Length: 0

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.0.157:5060;branch=z9hG4bK0083a186;rport=5060;received=192.168.0.157
From: "8002" <sip:[email protected]>;tag=as044943cc
To: "unknown" <sip:[email protected]:49152>;tag=653819a85587
Call-ID: [email protected]
CSeq: 102 INVITE
Content-Length: 0
Server: SJphone/1.65.377a (SJ Labs)

OPTIONS sip:192.168.0.157 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.212;rport;branch=z9hG4bKc0a800d4000000104c2197e100000a7a0000004d
Content-Length: 0
Call-ID: [email protected]
CSeq: 18 OPTIONS
From: <sip:[email protected]>;tag=1563048416840
Max-Forwards: 70
To: <sip:192.168.0.157>

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.212;branch=z9hG4bKc0a800d4000000104c2197e100000a7a0000004d;received=192.168.0.212;rport=5060
From: <sip:[email protected]>;tag=1563048416840
To: <sip:192.168.0.157>;tag=as3aafc1a7
Call-ID: [email protected]
CSeq: 18 OPTIONS
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:192.168.0.157>
Accept: application/sdp
Content-Length: 0

SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.0.157:5060;branch=z9hG4bK0083a186;rport=5060;received=192.168.0.157
From: "8002" <sip:[email protected]>;tag=as044943cc
To: "unknown" <sip:[email protected]:49152>;tag=653819a85587
Contact: <sip:[email protected]:49152>
Call-ID: [email protected]
CSeq: 102 INVITE
Content-Length: 0
Server: SJphone/1.65.377a (SJ Labs)

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.157:5060;branch=z9hG4bK0083a186;rport=5060;received=192.168.0.157
From: "8002" <sip:[email protected]>;tag=as044943cc
To: "unknown" <sip:[email protected]:49152>;tag=653819a85587
Contact: <sip:[email protected]:49152>
Call-ID: [email protected]
CSeq: 102 INVITE
Content-Length: 271
Content-Type: application/sdp
Server: SJphone/1.65.377a (SJ Labs)
Supported: replaces,norefersub,timer

ACK sip:[email protected]:49152 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.157:5060;branch=z9hG4bK4ed93e8f;rport
From: "8002" <sip:[email protected]>;tag=as044943cc
To: <sip:[email protected]:49152>;tag=653819a85587
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 ACK
User-Agent: Asterisk PBX
Max-Forwards: 70
Content-Length: 0

重定向過程

  當重定向伺服器(其功能可包含在代理伺服器 和使用者終端中)收到主叫使用者代理的INVITE邀請訊息,它通過查詢定位伺服器發現該呼叫應該被重 新定向(重定向的原因有多種,如使用者位置改變、實現負荷分擔等等),就構造一個重定向響應訊息(狀態碼為3xx),將新的目標地址回送給主叫使用者代理。主 叫使用者代理收到重定向響應訊息後,將逐一向新的目標地址傳送INVITE邀請,直至收到成功響應並建立呼叫。如果嘗試了所有的新目標而無法建立呼叫,則本 次呼叫失敗。

能力查詢過程

  SIP IP電話系統還提供了一種讓使用者在不打擾對方使用者的情況下查詢對方通訊能力的手段。可查詢的內容包括:對方支援的請求方法(methods)、支援的內容 型別、支援的擴充套件項、支援的編碼等等。

  能力查詢通過OPTION請求訊息來實現。當用戶代理想要查詢對方的能力時,它構造一個OPTION請求訊息,傳送給對方。對方收到該請求訊息 後,將自己支援的能力通過響應訊息回送給查詢者。如果此時自己可以接收呼叫,就傳送成功響應(狀態碼為200),如果此時自己忙,就傳送自身忙響應(狀態 碼為 486)。因此,能力查詢過程也可以用於查詢對方的忙閒狀態,看是否能夠接受呼叫。

相關推薦

SIP基本工作過程

SIP IP電話系統定義了註冊/登出、呼叫、重定向、能力查詢四種工作過程。 註冊/登出過程   SIP為使用者定義了註冊和登出過程,其目的是可以動態建立使用者的邏輯地址和其當前聯絡地址之間的對應關係,以方便實現呼叫路由和對使用者移動性的 支援。邏輯地址和聯絡地址的分離也方

【轉】1.2 CDN的基本工作過程

過程 業務 用戶服 fit lan 進行 發的 傳統 告訴 1.2 CDN的基本工作過程 使用CDN會極大地簡化網站的系統維護工作量,網站維護人員只需將網站內容註入CDN的系統,通過CDN部署在各個物理位置的服務器進行全網分發,就可以實現跨運營商、跨地域的用戶覆蓋。由於C

Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作過程

整體而言,RTSP 通常工作於可靠的傳輸協議 TCP 之上,就像 HTTP 那樣,用於發起/結束流媒體傳輸,交換流媒體元資訊。RTP 通常工作於 UDP 之上,用於傳輸實際的流媒體資料,其中的載荷格式因具體流媒體型別的不同而不同,通常有專門的 RFC 規範對其進行定義,如 H

DHCP基本工作過程

約定 應付 跟著 方便 dhcp服務器 小時 pro ip協議 條件 DHCP是什麽,指的是Dynamic Host Configuration Protocol,他的前生叫bootp,就是boot Protocol。bootp是什麽?很簡單的道理,各位有沒有聽說過叫無盤工

SIP交換中的SDP及RTP的工作過程

要傳送媒體首先要建立一個媒體會話(Session)。建立媒體會話實際上就是通過SDP offer/answer交換進行就會話的媒體引數進行協商的一個過程。但在SIP中沒有規定使用哪個SIP訊息來攜帶一個SDP(offer或answer)。理論上,任何SIP訊息的正文中都可以包含會話描述部分。但是,一個SIP

路由器OSPF的基本概念與工作過程

出現 地址 應該 watermark 傳遞 啟動 b2c 聲明 prior OSPF是基於開放標準的鏈路狀態路由選擇協議,它完成各路由選擇協議算法的兩大主要功能:路徑選擇和路徑交換。 在共同管理域下的一組運行相同路由選擇協議的路由器的集合為一個自治系統(autonomous

【原創】源碼角度分析Android的消息機制系列(二)——ThreadLocal的工作過程

機制 simple hand 這就是 數據存儲 read etc lena 並且 ι 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 在上一篇文章中,我們已經提到了ThreadLocal,它並非線程,而是在線程中存儲數據用的。數據存儲以後,只能在指定的線程中獲取到數據

ARP的工作過程

arpARP(Address Resolution Protocol,地址解析協議)是將IP地址解析為以太網MAC地址(或稱物理地址)的協議。 在局域網中,當主機或其它網絡設備有數據要發送給另一個主機或設備時,它必須知道對方的網絡層地址(即IP地址)。但是僅僅有IP地址是不夠的,因為IP數據報文必須封裝成幀

+++++++DNS基本工作原理、DNS正反向解析及主從同步

博客 運維 linux dns基礎工作原理bind Berkerley Information Name DomainDNS Domain Name ServerTCP/UDP 53UDP 53 無連接協議,域名解析TCP 53 面向連接協議,區域傳送歷史IANA統一名字,自己hosts中維護(%

STP生成樹協議的工作過程

stp生成樹協議的工作過程1、確定交換機角色 根交換機:在一個局域網中(LAN),同一個VLAN中只有一個(無其他配置) 非根交換機:在一個局域網中除根交換機之外的其他交換機。 原則:比較每個交換機的 BID(橋ID),越小越好;最小的一個就是根交換機。

SVC 工作過程中出現的錯誤記錄(SEO項目)

.com ntc ebs src 檢查 system async 錯誤記錄 client 1.同一のキーを含む項目が既に追加されています。追加的項目中含有重復主鍵) /seo‘ アプリケーションでサーバー エラーが発生しました。 同一のキーを含む項目が既に追加されていま

Spark- Spark基本工作原理

最大 取數 park spa 移動 工作 區別 bsp 行處理 Spark特點: 1.分布式   spark讀取數據時是把數據分布式存儲到各個節點內存中 2.主要基於內存(少數情況基於磁盤,如shuffle階段)   所有計算操作,都是針對多個節點上內存的數據,進行並行操作

Linux運維之計算機硬件組成與基本工作原理+服務器簡單介紹

linux 服務器 運維 第1章 計算硬件組成與基本工作原理1.1 計算機組成 1.顯示器2.機箱(主機) | |-----CPU |-----硬盤 |-----內存 |-----電源

交換機基本工作原理

什麽是交換機【1】 目前市場常用數據通信產品品牌有: CIisco (思科)------- Huawei(華為)---------- 3 COM(三康) ---- D--Linkk 等一些知名品牌: 【2】交換機工作在 上一篇 OSI 模型 中提到 :它工作在OSI

SpringMVC框架及基本工作流程詳解

req isp 需要 用戶 數據呈現 工作流 esp servle 組件映射 傳統原生的JSP+Servlet在開發上過程上雖然簡單明了,JSP頁面傳遞數據到Servlet,Servlet整理數據(邏輯開發)或者從數據庫提取數據接著再轉發到JSP頁面上,但是其似乎只能止步於

WEB測試(2)--WEB核心技術之WEB工作過程---URL

class wpa quest www. gpo 類型 pos item src web工作過程,首先談到url地址解析。如下圖:包括5個部分 1.協議類型 https 2.主機名 www.zhihu.com (通過DNS解析出主機名) 3.端口號 圖中端口號為443

apache 工作過程和模式

改變 web ive 情況下 高效率 控制 ocr keep 性問題 常見web程序服務器(靜態網站服務器)應用程序服務器(能直接讀取網站動態元素) IIS tomcat,jetty,jboss,resin webshpere

Git基本命令 -- 基本工作流程 + 文件相關操作

-- 一個 命令執行 IT 每次 tro 有變 並且 -c 可以先找一個已經被git管理的項目, 我就使用這個項目吧: https://github.com/solenovex/ID3-Editor 基本工作流程 克隆以後呢, 進入該目錄查看一下狀態: 然後添加一

OSI 七層協議(網絡工作過程--復習)

OSI 七層協議(1)網絡層由於網絡媒體只能傳送 0 與 1 這種位串,因此物理層必須定義所使用的媒體設備之電壓與訊號等, 同時還必須了解數據訊框轉成位串的編碼方式,最後連接實體媒體並傳送/接收位串。 (2)數據鏈結層 這一層是比較特殊的一個階層,因為底下是實體的定義,而上層則是軟件封裝的定義。因此第二層又分

了解SpringMVC框架及基本工作流程

adapter AD pri 頁面 解決 pos 普通 url 重定向 轉自:http://www.cnblogs.com/xxzhuang/p/5940709.html   傳統原生的JSP+Servlet在開發上過程上雖然簡單明了,JSP頁面傳遞數據到Servlet,S