• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種新的面向IMS網(wǎng)絡(luò)的SIP協(xié)議棧*

    2012-10-08 01:58:28季光獻
    電信科學 2012年4期
    關(guān)鍵詞:狀態(tài)機事務(wù)消息

    季光獻

    (麗水職業(yè)技術(shù)學院 麗水 323000)

    1 引言

    IMS(IP multimedia subsystem,IP 多媒體子系統(tǒng))是第三代移動通信伙伴組織(3GPP)在R5版本標準中提出的支持IP多媒體業(yè)務(wù)的子系統(tǒng)。它基于SIP(session initiation protocol,會話初始化協(xié)議)的體系,使用SIP呼叫控制機制來創(chuàng)建、管理和終結(jié)各種類型的多媒體業(yè)務(wù)。各種類型的客戶端通過IMS都可以建立起端到端的IP通信,并可獲得所需要的服務(wù)質(zhì)量。在網(wǎng)絡(luò)融合的發(fā)展趨勢下,IMS技術(shù)為基于IP的移動和固定通信融合提供了基礎(chǔ),并被業(yè)界認為是網(wǎng)絡(luò)演進的一個重要階段[1]。

    SIP是由IETF制定的面向Internet會議和電話的應(yīng)用層控制協(xié)議,用于建立、修改和終止多媒體會話。最初版本是1999年形成的RFC2543,之后不斷更新,最新的版本是2002年6月提出來的RFC3261。所謂多媒體會話是指多媒體發(fā)送者、接收者和從發(fā)送者到接收者的數(shù)據(jù)流的集合。在基于SIP的應(yīng)用中,每一個會話可以是各種不同的數(shù)據(jù),如普通的文本、經(jīng)過數(shù)字化處理的音頻、視頻數(shù)據(jù)等,應(yīng)用具有很大的靈活性[2,3]。

    SIP是一個基于ASCII碼的端到端的協(xié)議,參與會話的成員可以通過多播方式、單播連網(wǎng)或者兩者結(jié)合的形式進行通信。作為一個應(yīng)用層的控制協(xié)議,SIP可以用來建立、修改和終止多媒體會話(或者會議),如 Internet電話;也可以邀請參與者參加已經(jīng)存在的會話,如多方會議。媒體可以在一個已經(jīng)存在的會話中方便地增加(或者刪除)。SIP支持名字映射和重定向服務(wù),可用于支持個人移動業(yè)務(wù)——用戶可以使用一個唯一的外部標志而不用關(guān)心他們的實際網(wǎng)絡(luò)地點。

    SIP在建立和維持終止多媒體會話協(xié)議上,支持以下5個方面的功能。

    ·用戶定位:檢查終端用戶的位置,用于通信。

    ·用戶有效性:檢查用戶參與會話的意愿程度。

    ·用戶能力:檢查媒體和媒體的參數(shù)。

    ·建立會話:在呼叫方和被叫方間建立會話參數(shù)。

    ·會話管理:包括發(fā)送和終止會話,修改會話參數(shù),激活服務(wù)等[4]。

    SIP是IETF多媒體數(shù)據(jù)和控制體系結(jié)構(gòu)的一部分,該協(xié)議大量借鑒了成熟的HTTP協(xié)議,并且具有易擴展、易實現(xiàn)等特點。SIP信令的特點如下[6]。

    ·基于文本,便于用Java、Perl等面向?qū)ο笳Z言實現(xiàn),易于調(diào)測排錯,結(jié)構(gòu)靈活,便于擴展。

    ·中性的底層傳輸協(xié)議:可用TCP或UDP,推薦首選UDP。TCP是通過證實機制保證可靠傳送的,在網(wǎng)絡(luò)負載較大的情況下,常會發(fā)生超時,導致建立信令通道時延較大,采用UDP后,可以用應(yīng)用層控制協(xié)議消息的定時和重發(fā),并可方便地利用多播機制并行搜索目的用戶,無需為每一次搜索建立一個TCP連接。

    ·呼叫和媒體信息同時發(fā)送:SIP在傳送呼叫控制信令的同時,還可以在消息本體中傳送呼叫的媒體類型和格式等信息,以加快呼叫的建立速度。

    ·充分利用和組合Internet已有的協(xié)議:SIP容易與其他協(xié)議組合起來提供服務(wù),如DNS用于地址解析、SDP用于會話和媒體流描述、RTP用于實時多媒體傳送、RSVP和RTCP用于QoS質(zhì)量保證等。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,只需更新相關(guān)的協(xié)議,有利于系統(tǒng)的優(yōu)化和對新業(yè)務(wù)的靈活、快速反應(yīng)。

    ·SIP使用統(tǒng)一資源定位器給出SIP資源的地址:SIP URI的格式和Web及E-mail系統(tǒng)中使用的格式是相同的,這給SIP重定向以巨大的靈活性,并且能將多種通信格式整合起來。

    SIP的消息機制[7]使用ISO0646字符集UTF-8格式,除了字符集的區(qū)別以外,SIP的許多消息語法都與HTTP/1.1相同,也是一個請求/應(yīng)答協(xié)議。需要注意的是,SIP并不是HTTP的擴展。SIP消息可以是客戶端發(fā)給服務(wù)器的請求或服務(wù)器對客戶端的響應(yīng)。SIP客戶端是指產(chǎn)生請求的SIP實體,而SIP服務(wù)器是指接收請求和返回應(yīng)答的SIP實體,按照這個定義,當兩個用戶代理交換SIP消息的時候,發(fā)送請求的用戶代理就是用戶代理客戶端(UAC),而返回應(yīng)答的用戶代理就是用戶代理服務(wù)器 (UAS)。一個SIP請求連同它所出發(fā)的所有應(yīng)答稱為一個SIP事務(wù)。

    SIP消息分為兩種:從客戶端到服務(wù)器的請求;從服務(wù)器返回網(wǎng)絡(luò)客戶端的響應(yīng)。SIP請求和響應(yīng)消息都使用RFC2822規(guī)定的通用消息格式,包括開始行、一個或多個消息頭、一個空行(CRLF,表示消息頭結(jié)束)以及一個可選消息體。

    SIP消息=開始行

    *消息頭

    空行(CRLF)

    [消息體]

    開始行=請求行|狀態(tài)行

    消 息 頭=(通 用 頭 (general-header)|請 求 頭 (requestheader)|響應(yīng)頭(response-header)|實體頭(entity-header))

    SIP協(xié)議中的請求消息提供了6種方法,見表1。

    表1 SIP請求消息

    SIP的響應(yīng)消息和請求消息結(jié)構(gòu)類似,但格式中第一行由狀態(tài)碼構(gòu)成,代表服務(wù)器不同的響應(yīng)狀態(tài)。RFC3261中使用nXX(n從1到6)的格式對狀態(tài)碼進行定義,n用來表示不同的響應(yīng)類型,XX用來對響應(yīng)類型進行進一步的描述。響應(yīng)消息中的相關(guān)應(yīng)答碼及其含義見表2。

    SIP的協(xié)議結(jié)構(gòu)如圖1所示。SIP是一個分層的協(xié)議,由多個處理層次組成。協(xié)議分成不同層次來描述是為了能夠更清晰地表達。

    最底層的是語法和編碼層。編碼方式是采用擴展的Backus-Naur Form Grammar(BNF 范式)。

    第二層是傳輸層。它定義了一個客戶端如何發(fā)送請求和接收應(yīng)答以及一個服務(wù)器如何接收請求和發(fā)送應(yīng)答。所有的SIP要素都包含一個通信層。

    表2 SIP響應(yīng)消息

    第3層是事務(wù)層。事務(wù)是SIP的基本組成部分。一個事務(wù)是客戶發(fā)送一個請求事務(wù)(通過通信層)到一個服務(wù)器事務(wù),連同服務(wù)器事務(wù)的所有該請求的應(yīng)答發(fā)送回客戶端事務(wù)。事務(wù)層處理應(yīng)用服務(wù)層的重發(fā),匹配請求的應(yīng)答以及應(yīng)用服務(wù)層的超時。任何一個用戶代理客戶端完成的事情都是由一組事務(wù)構(gòu)成的。用戶代理包含一個事務(wù)層來實現(xiàn)有狀態(tài)的代理服務(wù)器。無狀態(tài)的代理服務(wù)器并不包含事務(wù)層。事務(wù)層包含一個客戶元素(可以認為是一個客戶事務(wù))和一個服務(wù)器元素(可以認為是一個服務(wù)器事務(wù)),它們都可以用一個有限狀態(tài)機來處理特定的請求。

    在事務(wù)層之上是事務(wù)用戶(TU)。每一個SIP實體,除了無狀態(tài)代理,都是一個事務(wù)用戶。當一個TU發(fā)出一個請求,它首先創(chuàng)建一個客戶事務(wù)實例 (client transaction instance)并且和請求一起發(fā)送,這包括了目標IP地址、端口號以及發(fā)送請求的設(shè)備。TU可以創(chuàng)建客戶事務(wù),也可以取消客戶事務(wù)。當客戶取消一個事務(wù),它請求服務(wù)器終止正在處理的事務(wù),并且回滾狀態(tài)到該事務(wù)開始前的狀態(tài),并且產(chǎn)生指定的該事務(wù)的錯誤報告。這是由cancel請求完成的,這個請求有自己的事務(wù),并且包含一個被取消的事務(wù)[3]。

    在本文中,設(shè)計了一個穩(wěn)定、高效的SIP協(xié)議棧,其實現(xiàn)方式主要通過提供SIP操作所需的基本數(shù)據(jù)結(jié)構(gòu)和應(yīng)用程序編程接口(API),包括用于表示SIP中的各類對象(如SIP消息、SDP消息體以及各種頭域、計時器等)的數(shù)據(jù)結(jié)構(gòu)以及對消息、消息體進行解析的API和實現(xiàn)4類有限狀態(tài)機的API。為驗證信令協(xié)議棧的可靠性和SIP軟終端的通信功能,本文對局域網(wǎng)內(nèi)SIP軟終端的信令流程進行測試,采用Wireshark軟件抓取分組,并分析所捕獲數(shù)據(jù)分組的內(nèi)容,結(jié)果表明本文提出的SIP協(xié)議棧是有效的。

    2 提出的SIP協(xié)議棧

    oSIP是按照RFC3261和RFC2327標準,使用ANSIC編寫的開源協(xié)議棧。它結(jié)構(gòu)簡單小巧,支持線程安全,可用于多線程及單線程的編程模式,eXosip是oSIP的一個擴展協(xié)議集,它在oSIP基礎(chǔ)上對SIP消息的API做了較高級的封裝。eXosip可方便地創(chuàng)建一個完整的SIP程序,適用于SIP終端開發(fā)。

    鑒于上述特性,本終端的SIP協(xié)議棧在oSIP/eXosip協(xié)議?;A(chǔ)上,通過引入有限狀態(tài)機進行修改和二次開發(fā)來實現(xiàn),包括4大模塊:狀態(tài)機模塊、解析器模塊、工具模塊和上層封裝接口層。其模塊結(jié)構(gòu)如圖2所示。

    解析器模塊主要完成對SIP消息的語法解析,SIP中以事務(wù)為單位來描述各種請求和響應(yīng)的交互過程。狀態(tài)機模塊的功能就是完成UAS或UAC對接收到的某個事務(wù)的響應(yīng),完成對該事務(wù)(注冊過程、呼叫過程等)的狀態(tài)記錄,并在特定狀態(tài)下觸發(fā)相應(yīng)的事件或回調(diào)函數(shù)。工具模塊主要是提供一些進行SDP協(xié)商和對話管理的API。上層封裝接口層根據(jù)MVC模式中的Model層的調(diào)用方式,提供了面向Model層簡便易用的操作協(xié)議棧接口。

    2.1 狀態(tài)機

    2.1.1 事務(wù)

    事務(wù)是SIP最基本的元素,事務(wù)是指SIP客戶端向SIP服務(wù)器發(fā)起的一次請求以及針對此次請求產(chǎn)生的所有應(yīng)答的處理過程。

    事務(wù)分為客戶事務(wù)和服務(wù)器事務(wù)兩大類??蛻羰聞?wù)是指發(fā)起請求一端(即客戶端)的處理過程,服務(wù)器事務(wù)是指接收請求一端(即服務(wù)器端)的處理過程。事務(wù)還可以根據(jù)發(fā)起事務(wù)的請求是否為invite分為invite事務(wù)和non-invite事務(wù)。因此,事務(wù)可以分為4類:invite客戶事務(wù)、non-invite客戶事務(wù)、invite服務(wù)器事務(wù)和non-invite服務(wù)器事務(wù)。

    結(jié)構(gòu)體transaction_t主要用于管理事務(wù),同時在這個結(jié)構(gòu)中記錄事務(wù)的相關(guān)信息。協(xié)議棧在開始一個對話時(如創(chuàng)建一個invite transaction來發(fā)送invite請求)分配該數(shù)據(jù)結(jié)構(gòu)。在transaction_t的數(shù)據(jù)結(jié)構(gòu)中,transactionid是事務(wù)處理鏈表中每個個體的唯一標識,transactionff是一個FIFO結(jié)構(gòu),用以標識此事務(wù)處理的事件,事務(wù)的狀態(tài)則由state來說明。

    2.1.2 有限狀態(tài)機

    SIP UA的核心就是事務(wù)處理,UA中事務(wù)的處理可以用有限狀態(tài)機來表示。

    一個事務(wù)和一個狀態(tài)機有關(guān)。每一時刻狀態(tài)機(發(fā)送方或接收方)總處于一個特定的狀態(tài),其狀態(tài)是由所有變量值組成的,包括計數(shù)器在內(nèi),其執(zhí)行于事務(wù)層。每個狀態(tài)機都有一個初始狀態(tài),當有消息到來時,判斷是哪種狀態(tài)機的事件,根據(jù)消息的類型和狀態(tài)機的狀態(tài),在狀態(tài)機的鏈表中查找需要執(zhí)行的操作函數(shù)的地址進行處理,并設(shè)置事件完成后的狀態(tài)。狀態(tài)機使用鏈表結(jié)構(gòu)而不是單一對象,是為了在多事務(wù)同時處理環(huán)境下的應(yīng)用(SIP服務(wù)器以及支持多方會議的SIP電話)。

    事務(wù)有4大類,因此對事務(wù)的處理就由4種有限狀態(tài)機來表示,分別為ICT(請求客戶端事務(wù)的狀態(tài))、IST(請求服務(wù)器端事務(wù)的狀態(tài))、NICT(非請求客戶端事務(wù)的狀態(tài))和NIST(非請求服務(wù)器端事務(wù)的狀態(tài))。其執(zhí)行函數(shù)分別為 osip_ict_execute (manager→config)、 osip_nist_execute(manager→config)、osip_ist_execute(manager→config)、osip_nist_execute(manager→config)。

    2.1.3 事件

    狀態(tài)機內(nèi)部的狀態(tài)跳轉(zhuǎn)是由事件觸發(fā)的。事件是應(yīng)用程序與狀態(tài)機通信的手段。所有的從網(wǎng)絡(luò)上收取的數(shù)據(jù)分組都視為狀態(tài)機的事件,這些事件將被存儲在狀態(tài)機結(jié)構(gòu)相關(guān)的事件隊列里。

    一個事件主要包含事件類型和關(guān)聯(lián)的事務(wù)兩部分內(nèi)容,事件類型指導致狀態(tài)機狀態(tài)跳轉(zhuǎn)的各類事件的具體類型,如超時事件、收到invite請求等??梢哉f,外界與SIP模塊通信的載體是SIP消息和程序指令;在SIP模塊內(nèi),協(xié)議棧外圍程序與內(nèi)核狀態(tài)機通信的載體則是事件。

    在有限狀態(tài)機中有3種事件:發(fā)送SIP消息(請求和應(yīng)答)、接收SIP消息(請求和應(yīng)答)、計時器事件(重傳和上下文刪除或結(jié)束)。

    事件的結(jié)構(gòu)定義如下:

    struct sipevent_t

    {

    type_t type; //事件的類型

    int transactionid; //關(guān)聯(lián)的事務(wù)的標識號

    sip_t*sip; //SIP消息結(jié)構(gòu)

    };

    2.1.4 回調(diào)函數(shù)

    在SIP協(xié)議棧中,對各類事件的響應(yīng)都是以回調(diào)函數(shù)的方式實現(xiàn)的。回調(diào)函數(shù)本身是函數(shù)指針的形式,它在狀態(tài)機內(nèi)部狀態(tài)跳轉(zhuǎn)時被事務(wù)處理函數(shù)調(diào)用,事務(wù)處理函數(shù)的其余部分完成對該事件的默認響應(yīng)行為。所以說回調(diào)函數(shù)是SIP協(xié)議棧留給外界的用戶接口,用戶需要定義自己UA相關(guān)的處理內(nèi)容。

    本協(xié)議棧定義了osip_t對象作為所有回調(diào)函數(shù)的管理對象,外圍UA應(yīng)用程序必須通過該對象實現(xiàn)對協(xié)議?;卣{(diào)函數(shù)的使用。osip_t除了管理所有的回調(diào)函數(shù),也包含了4個狀態(tài)機事務(wù)對象的相關(guān)信息。在使用協(xié)議棧前必須調(diào)用函數(shù)osip_init()分配該結(jié)構(gòu)并進行初始化。在系統(tǒng)運行期間,該結(jié)構(gòu)存儲的內(nèi)容是動態(tài)變化的,而這些變化主要是基于事務(wù)的建立或結(jié)束。

    2.2 解析器模塊

    解析器模塊可以分為3個部分:URI解析器、SIP解析器和SDP解析器。它主要實現(xiàn)將收到的SIP消息從文本解析成一個SIP消息結(jié)構(gòu)體(sip_t),處理完畢后將待發(fā)送的sip_t結(jié)構(gòu)還原成SIP文本消息然后發(fā)送的功能。在使用語法解析器之前必須先對它進行初始化:int parser_init()。

    sip_t中存儲著發(fā)送或接收到的SIP消息的詳細結(jié)構(gòu),包含SIP協(xié)議定義的各個頭域以及SIP消息體,而這些解析后的頭域本身也是一些結(jié)構(gòu)體,解析器在解析整個消息的同時也將消息中的頭域分別解析成對應(yīng)的結(jié)構(gòu)。解析的作用在于方便應(yīng)用程序內(nèi)部對消息及各個頭域進行操作。下面給出sip_t結(jié)構(gòu)的部分內(nèi)容:

    struct sip_t

    {

    startline_t*strtline;

    from_t*from;

    to_t*to;

    call_id_t*call_id;

    list_t*contacts;

    content_type_t*content_type;

    ......

    }

    sip_t的數(shù)據(jù)結(jié)構(gòu)定義分3部分。第一部分是起始行,其結(jié)構(gòu)單獨定義為startline_t,當此消息是SIP請求時,其為請求的方法和請求源的URI;當此消息是SIP應(yīng)答時,它為應(yīng)答狀態(tài)碼。第二部分是一些SIP消息頭域的結(jié)構(gòu)列表,這是由于頭域的個數(shù)是可變的原因,故采用列表來存放。最后一部分是一些其他頭域字段、消息體(list_t*bodies)以及對消息的描述字段。

    sip_t中的一些成員(不包括char*message)為null時表示該SIP消息不含該字段。協(xié)議棧在要發(fā)送SIP消息或接收到SIP消息時創(chuàng)建sip_t,并填寫好相應(yīng)的信息,發(fā)送完后或處理完之后釋放該結(jié)構(gòu)。

    sip_t結(jié)構(gòu)中各個變量的值是從界面的用戶輸入或系統(tǒng)配置中讀取的,然后通過函數(shù)將讀取的值存放到sip_t結(jié)構(gòu)中。如int msg_setbody(sip_t*sip,char*buf)就是設(shè)定sip_t結(jié)構(gòu)中body的值。相應(yīng)地,也可以從結(jié)構(gòu)中根據(jù)名字獲取各個參數(shù),實現(xiàn)函數(shù)的名稱類似對應(yīng)的函數(shù)中的set改為 get,如 int msg_getbody(sip_t*sip,char*buf)就是獲得body的值。

    對于消息結(jié)構(gòu)體sip_t的操作包括以下5種操作。

    (1)初始化結(jié)構(gòu)體

    利用msg_init函數(shù)對結(jié)構(gòu)體進行初始化,目的是為結(jié)構(gòu)體分配存儲空間。

    (2)釋放結(jié)構(gòu)體

    利用msg_free函數(shù)釋放初始化時分配給結(jié)構(gòu)體的存儲空間。

    (3)將結(jié)構(gòu)體變成字符串的形式

    利用msg_2char函數(shù)將結(jié)構(gòu)體轉(zhuǎn)化為符合SIP消息規(guī)范的字符串的形式。

    (4)將消息的字符串格式轉(zhuǎn)化為結(jié)構(gòu)體的存儲形式

    利用msg_parse函數(shù)分析消息的字符串,將相應(yīng)的字符存儲到結(jié)構(gòu)體實例的相應(yīng)字段中。

    (5)拷貝結(jié)構(gòu)體

    利用msg_clone函數(shù)創(chuàng)建結(jié)構(gòu)體實例的副本。

    2.2.1 SIP消息的解析

    SIP消息的解析流程如圖3所示。

    (1)解析起始行

    對起始行的分析首先是判斷第一個參數(shù),如果是sipversion(字符是SIP/2.0),則該消息是響應(yīng)消息,這時從起始行中獲得狀態(tài)碼和原因短語,并將結(jié)構(gòu)體中的成員sipmethod 和 rquri設(shè)為 null;如果是 sipmehtod(invite、Ack、bye、register、cancel、options共 6 種方法),則該消息是請求消息,這時從起始行中獲得請求方法、請求URI和版本號,并將statuscode和reasonphrase設(shè)為 null。

    (2)解析 SIP 頭域

    頭域采用通用格式,其結(jié)構(gòu)體定義如下:

    typedef struct_header_t{

    char*hname;

    char*hvalue;

    }header_t;

    字段的值可以有多個參數(shù),參數(shù)之間用分號";"來分隔。對頭域的分析可有以下兩種情況:

    ·對于僅僅為單個參數(shù)的成員,根據(jù)頭域字段的名字調(diào)用相應(yīng)字段的分析函數(shù),分析字符串來獲得該頭域字段的值;

    ·對于可以有多個參數(shù)的成員,由于是采用鏈表的形式存儲,直接將字段名字和字段的值相分離,根據(jù)字段名字的屬性將字段的值賦給相應(yīng)的成員。

    (2)解析 SIP 消息體

    根據(jù)content type(編碼類型)和 content length(編碼長度)兩個標題頭的值來判斷消息體部分是否有值,這兩個標題頭的參數(shù)表明消息體中是否存在消息體,如果有,則把這些數(shù)據(jù)拷貝到消息體的結(jié)構(gòu)體中。

    2.2.2 SIP消息的構(gòu)造

    相對于SIP消息的解析過程,SIP消息的構(gòu)造也是通過調(diào)用解析器模塊的相關(guān)函數(shù)和工具模塊的相關(guān)函數(shù)來完成的。

    當SIP服務(wù)器想發(fā)送一個消息時,通知解析器模塊開始操作。首先對起始行、頭域等結(jié)構(gòu)體進行初始化;隨后調(diào)用各個功能函數(shù)對SIP消息結(jié)構(gòu)體中的各項內(nèi)容分別進行添加和設(shè)定;然后調(diào)用sipmsg_2char函數(shù)將SIP消息結(jié)構(gòu)體中的信息轉(zhuǎn)化為可以發(fā)送的字符串,調(diào)用sipmsg_clone函數(shù)為sipmsg_t結(jié)構(gòu)創(chuàng)建副本 (以備重發(fā));最后對各結(jié)構(gòu)體的信息進行釋放。

    2.3 工具模塊

    工具模塊提供了比較完善的SDP協(xié)商機制,包括SDP結(jié)構(gòu)體的定義、各類SDP字段的添加設(shè)置以及根據(jù)預(yù)定義的本地SDP環(huán)境產(chǎn)生針對某個SDP結(jié)構(gòu)體的應(yīng)答。SDP協(xié)商指主被叫用戶交換關(guān)于呼叫的一些相關(guān)媒體信息(如媒體編解碼方式、媒體流傳輸所用的端口號等)的行為。SDP協(xié)商主要采用offer/answer的模式,而協(xié)議棧中的SDP協(xié)商工具(SDP negotiator)主要提供了一種從SDP offer去構(gòu)建SDP answer的方法,如通過分析invite請求消息中消息體SDP部分的媒體參數(shù)描述去構(gòu)造對于invite請求的響應(yīng)消息200OK中的SDP消息體部分。

    此外,工具模塊還提供了基本的對話(dialog)處理機制。對話就是指持續(xù)一段時間的兩個UA之間對等的一種SIP會話關(guān)系。對話可以幫助管理UA的消息排序和UA之間正確的路由。在dialog中,可以動態(tài)地創(chuàng)建新的事務(wù)來開始端點之間的SIP通信過程。在UA中,對話用dialog ID標識。一個dialog ID由SIP消息中的Call-ID、一個本地tag(local tag)和一個遠程 tag(remote tag)組成。在同一個對話中,UA的本地tag就是對等 UA的遠程tag,反之,遠程tag就是對等UA的本地tag?;镜膁ialog處理機制包括dialog結(jié)構(gòu)體的定義、按照兩種方式建立的dialog(被叫方callee和主叫方caller)、對話的更新維護、對話的拆除。本協(xié)議棧中的對話管理工具主要用來創(chuàng)建dialog并對dialog信息進行管理。

    2.4 上層封裝接口層

    eXosip封裝了大部分的SIP協(xié)議調(diào)用接口,一般的應(yīng)用都不需要直接調(diào)用oSIP的接口函數(shù)。上層封裝接口層在其基礎(chǔ)上進一步封裝,供上層Model層調(diào)用,使用幾行代碼就可以實現(xiàn)一個具有音視頻功能的呼叫。下面對其處理呼叫的關(guān)鍵接口進行定義。

    (1)OWPL_RESULT owplLineAdd (const char *displayname,constchar* sipUsername,constchar*sipServer,const char*sipProxy,OWPL_TRANSPORT_PROTOCOL sipTransport,int regTimeout,OWPL_LINE*phLine)

    方法功能描述:添加一條虛擬線路,即向服務(wù)器注冊。

    參數(shù)說明:displayname:SIP實體要顯示的名字,對應(yīng)于“displayname”;sipUsername 和sipServer對應(yīng)于上述格式;sipProxy是代理服務(wù)器地址;sipTransport為傳輸層協(xié)議;regTimeout為注冊超時時間;phLine指向新建立的虛擬線路。

    (2)OWPL_RESULT owplLineDelete(OWPL_LINE hLine,unsigned int skipUnregister)

    方法功能描述:刪除一條虛擬線路。

    參數(shù)說明:hLine代表要刪除的虛擬線路;skipUnregister值為1時表示在刪除虛擬線路時跳過注銷,為0時強制刪除虛擬線路,無需注銷。

    (3)OWPL_RESULT owplLineRegister(const OWPL_LINE hLine,const int bRegister)

    方法功能描述:注冊一條虛擬線路。

    參數(shù)說明:hLine代表要注冊的虛擬線路;bRegister值為1時注冊該虛擬線路,為0時注銷該虛擬線路。

    (4)OWPL_RESULT owplCallCreate(const OWPL_LINE hLine,OWPL_CALL*hCall)

    方法功能描述:建立一個呼叫對象。

    參數(shù)說明:hLine代表要建立呼叫對象的虛擬線路;hCall指向建立好的呼叫對象。

    (5)OWPL_RESULT owplCallConnect(const OWPL_CALL hCall,const char*szAddress,int mediaStreams)

    方法功能描述:呼叫連接。

    參數(shù)說明:hCall代表要進行連接的呼叫對象;szAddress呼叫對端的SIP地址;mediaStreams表示媒體流種類。

    (6)OWPL_RESULT owplCallAccept(constOWPL_CALL hCall,int mediaStreams)

    方法功能描述:接收一個呼叫。

    參數(shù)說明:hCall代表要接收的呼叫對象;mediaStreams表示媒體流種類。

    (7)OWPL_RESULT owplCallAnswer(const OWPL_CALL hCall,int mediaStreams)

    方法功能描述:對到來的一個呼叫應(yīng)答。

    參數(shù)說明:hCall代表要應(yīng)答的呼叫對象;mediaStreams表示媒體流種類。

    (8)OWPL_RESULT owplCallReject(const OWPL_CALL hCall,const int errorCode,const char*szErrorText)

    方法功能描述:拒絕到來的一個呼叫。

    參數(shù)說明:hCall代表要拒絕的呼叫對象;errorCode指SIP消息的錯誤碼;szErrorText是對應(yīng)錯誤碼的文本信息。

    (9)OWPL_RESULT owplCallHold(const OWPL_CALL hCall)

    方法功能描述:掛起一個呼叫。

    參數(shù)說明:hCall代表要掛起的呼叫對象。

    (10)OWPL_RESULT owplCallUnhold(constOWPL_CALL hCall)

    方法功能描述:恢復一個呼叫。

    參數(shù)說明:hCall代表要恢復的呼叫對象。

    (11)OWPL_RESULT owplCallDisconnect(OWPL_CALL hCall)

    方法功能描述:結(jié)束一個呼叫。

    參數(shù)說明:hCall代表要結(jié)束的呼叫對象。

    3 仿真實驗

    為驗證信令協(xié)議棧的設(shè)計實現(xiàn)的可靠性和SIP軟終端的通信功能,本文對局域網(wǎng)內(nèi)SIP軟終端的信令流程進行測試,采用Wireshark軟件抓取分組,并分析所捕獲數(shù)據(jù)分組的內(nèi)容。實驗的目的是為了驗證提出的協(xié)議棧的有效性,對其中呼叫建立的基本交互流程不做詳細說明,且由于版面的限制,有關(guān)SIP協(xié)議交互流程的更多交互信息見參考文獻[3]。

    3.1 實驗建立

    如圖4所示,測試環(huán)境包括分別部署在兩臺PC(IP地址分別為***.***.156.225和***.***.158.730)上的兩個SIP軟終端以及一臺IP地址為***.***.158.230的SIP服務(wù)器。

    3.2 注冊功能

    注冊功能測試用例見表3。

    表3 注冊功能測試用例

    3.3 通話功能

    通話功能測試用例見表4。

    表4 通話功能測試用例

    圖5展示了本SIP軟終端通話功能的實際效果。大的視頻窗口顯示對方的影像,右下角的視頻窗口顯示本地攝像頭采集的影像。

    3.4 呼叫建立時間

    呼叫建立時間測試用例見表5。

    3.5 長時通話

    長時通話測試用例見表6。

    表5 呼叫建立時間測試用例

    表6 長時通話測試用例

    由表3~表6及圖5,驗證了本文所設(shè)計的軟終端能夠使用SIP信令建立連接,可以完成實時視音頻通信功能,并且具備一定的可靠性,表明本文提出的SIP協(xié)議棧的設(shè)計思路和實現(xiàn)方法是合理的、切實可行的。

    4 結(jié)束語

    IMS網(wǎng)絡(luò)使用SIP呼叫控制機制來創(chuàng)建、管理和終結(jié)各種類型的多媒體業(yè)務(wù)。各種類型的客戶端通過SIP都可以建立起端到端的通信,并可獲得所需要的服務(wù)質(zhì)量。本文提出了一種新的SIP協(xié)議棧,并依照該協(xié)議棧實現(xiàn)了SIP軟終端,具備基于SIP的視頻和音頻通話功能。經(jīng)過驗證,該軟終端具有良好的穩(wěn)定性和實用性,能較好地運行于IMS網(wǎng)絡(luò)環(huán)境下,實現(xiàn)雙方通信。

    1 王尚廣,孫其博,楊放春.IMS網(wǎng)絡(luò)中的SIP洪泛攻擊檢測.軟件學報,2011,22(4):761~772

    2 胡成喆.一種基于MVC架構(gòu)的SIP軟終端的設(shè)計與實現(xiàn).北京郵電大學碩士學位論文,2010

    3 孫建勇.基于SIP協(xié)議的軟終端的研究與實現(xiàn).北京郵電大學碩士學位論文,2004

    4 鄧挺,李小兵.SIP在視頻監(jiān)控系統(tǒng)中的應(yīng)用.安防科技,2007(8)

    5 Gonzalo Camarillo著.白建軍,彭暉,田敏等譯.SIP揭密.北京:人民郵電出版社,2003

    6 趙慧玲,葉華.以軟交換為核心的下一代網(wǎng)絡(luò)技術(shù).北京:人民郵電出版社,2002

    7 Session Initiation Protocol RFC3261.IETF Network Working Group,2002

    猜你喜歡
    狀態(tài)機事務(wù)消息
    “事物”與“事務(wù)”
    基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
    河湖事務(wù)
    一張圖看5G消息
    基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
    消息
    消息
    消息
    SQLServer自治事務(wù)實現(xiàn)方案探析
    FPGA設(shè)計中狀態(tài)機安全性研究
    黑龍江科學(2011年2期)2011-03-14 00:39:36
    国产精品香港三级国产av潘金莲| 国产精品亚洲美女久久久| 女人被狂操c到高潮| 国产日本99.免费观看| 久久久久九九精品影院| 久久久色成人| 禁无遮挡网站| 亚洲成人久久爱视频| 国产淫片久久久久久久久 | 久久久久性生活片| 老司机午夜十八禁免费视频| 狂野欧美激情性xxxx| 欧洲精品卡2卡3卡4卡5卡区| 国产在线精品亚洲第一网站| 免费av不卡在线播放| 国产一区在线观看成人免费| 老汉色av国产亚洲站长工具| 成人av在线播放网站| 国产在线精品亚洲第一网站| 国内少妇人妻偷人精品xxx网站 | 两性午夜刺激爽爽歪歪视频在线观看| 亚洲美女黄片视频| 国产高清有码在线观看视频| 欧美中文日本在线观看视频| 欧美精品啪啪一区二区三区| 国产午夜福利久久久久久| 在线观看一区二区三区| 一边摸一边抽搐一进一小说| 真实男女啪啪啪动态图| 在线观看免费视频日本深夜| 精品国产美女av久久久久小说| 少妇裸体淫交视频免费看高清| x7x7x7水蜜桃| 欧美乱色亚洲激情| 欧美在线黄色| 日本免费a在线| 99久久精品国产亚洲精品| 99国产精品99久久久久| 欧美av亚洲av综合av国产av| 欧美在线一区亚洲| 国产综合懂色| 欧美日韩黄片免| 久久久久久久久久黄片| 国产精品美女特级片免费视频播放器 | 中文亚洲av片在线观看爽| 久久婷婷人人爽人人干人人爱| 欧美激情在线99| 色av中文字幕| 国产亚洲精品久久久久久毛片| 久久久成人免费电影| 母亲3免费完整高清在线观看| 亚洲国产中文字幕在线视频| 在线观看66精品国产| 久久这里只有精品中国| 禁无遮挡网站| 日日摸夜夜添夜夜添小说| 国产精品综合久久久久久久免费| 亚洲性夜色夜夜综合| 免费在线观看成人毛片| 国产精品乱码一区二三区的特点| 日韩 欧美 亚洲 中文字幕| 亚洲精品中文字幕一二三四区| 婷婷丁香在线五月| 欧美日韩综合久久久久久 | 精品日产1卡2卡| 免费看光身美女| www日本黄色视频网| 亚洲精品中文字幕一二三四区| 老司机福利观看| 欧美日韩瑟瑟在线播放| 国产高清激情床上av| 精品久久久久久久末码| 国产探花在线观看一区二区| 欧美日本亚洲视频在线播放| 日日干狠狠操夜夜爽| 成人亚洲精品av一区二区| 婷婷亚洲欧美| 久久中文看片网| 久久性视频一级片| 国产成人精品久久二区二区免费| av国产免费在线观看| 一夜夜www| 婷婷丁香在线五月| 国产99白浆流出| АⅤ资源中文在线天堂| 老司机午夜十八禁免费视频| 特级一级黄色大片| 91麻豆精品激情在线观看国产| 99riav亚洲国产免费| 久久久久久久久免费视频了| 亚洲av成人不卡在线观看播放网| 国产成人精品久久二区二区91| 精品99又大又爽又粗少妇毛片 | 操出白浆在线播放| 亚洲自偷自拍图片 自拍| 国产不卡一卡二| 日本 欧美在线| 午夜成年电影在线免费观看| 亚洲电影在线观看av| 19禁男女啪啪无遮挡网站| 18禁黄网站禁片午夜丰满| 亚洲成av人片在线播放无| 国产野战对白在线观看| 亚洲国产欧美一区二区综合| 中文在线观看免费www的网站| 成年女人看的毛片在线观看| 国产一区二区三区在线臀色熟女| 美女 人体艺术 gogo| netflix在线观看网站| 午夜福利18| 亚洲国产精品成人综合色| 成人18禁在线播放| 久久久久久九九精品二区国产| 综合色av麻豆| 熟女少妇亚洲综合色aaa.| 三级男女做爰猛烈吃奶摸视频| 欧美黄色片欧美黄色片| 国产成人aa在线观看| 搡老熟女国产l中国老女人| av国产免费在线观看| 午夜福利在线观看吧| 久久久久久久久免费视频了| 2021天堂中文幕一二区在线观| 亚洲精品中文字幕一二三四区| 色尼玛亚洲综合影院| 成人特级黄色片久久久久久久| 长腿黑丝高跟| 99久国产av精品| 免费av不卡在线播放| 亚洲熟妇中文字幕五十中出| 美女 人体艺术 gogo| 日韩国内少妇激情av| 国产主播在线观看一区二区| 欧美乱妇无乱码| 在线国产一区二区在线| av国产免费在线观看| 18禁裸乳无遮挡免费网站照片| 免费观看精品视频网站| 午夜影院日韩av| 国产精品 国内视频| 欧美一级a爱片免费观看看| 亚洲精品在线观看二区| 欧美xxxx黑人xx丫x性爽| 夜夜躁狠狠躁天天躁| 欧美又色又爽又黄视频| 99久久无色码亚洲精品果冻| 丁香六月欧美| 久久这里只有精品中国| 久久这里只有精品19| 特级一级黄色大片| 国产欧美日韩精品亚洲av| 亚洲人成伊人成综合网2020| 欧美日韩精品网址| 视频区欧美日本亚洲| 精品久久蜜臀av无| 国产午夜福利久久久久久| 国产精品爽爽va在线观看网站| 亚洲欧美精品综合久久99| 免费无遮挡裸体视频| 欧美黄色片欧美黄色片| aaaaa片日本免费| 国产黄a三级三级三级人| e午夜精品久久久久久久| 国语自产精品视频在线第100页| 日本精品一区二区三区蜜桃| 欧美色欧美亚洲另类二区| 网址你懂的国产日韩在线| 国产欧美日韩精品亚洲av| 欧美丝袜亚洲另类 | 真实男女啪啪啪动态图| 免费在线观看日本一区| 国产亚洲av高清不卡| 18禁黄网站禁片免费观看直播| 九九热线精品视视频播放| 亚洲国产色片| 人妻丰满熟妇av一区二区三区| 免费在线观看视频国产中文字幕亚洲| 男人舔女人的私密视频| 精品国产美女av久久久久小说| 99久久无色码亚洲精品果冻| 成年免费大片在线观看| 啦啦啦韩国在线观看视频| 悠悠久久av| 九色成人免费人妻av| 麻豆成人午夜福利视频| 淫妇啪啪啪对白视频| 久久精品91蜜桃| 他把我摸到了高潮在线观看| 久久亚洲真实| 午夜成年电影在线免费观看| 久久久久免费精品人妻一区二区| 麻豆久久精品国产亚洲av| 色综合亚洲欧美另类图片| 午夜亚洲福利在线播放| 很黄的视频免费| 亚洲欧洲精品一区二区精品久久久| 国产成+人综合+亚洲专区| 欧美+亚洲+日韩+国产| 九色成人免费人妻av| 久久午夜亚洲精品久久| 久久伊人香网站| 又黄又爽又免费观看的视频| 亚洲国产精品999在线| 午夜福利免费观看在线| 麻豆国产av国片精品| 最新美女视频免费是黄的| 日韩国内少妇激情av| 99re在线观看精品视频| 可以在线观看的亚洲视频| 曰老女人黄片| 亚洲性夜色夜夜综合| 午夜久久久久精精品| 男女午夜视频在线观看| 性色avwww在线观看| 搡老熟女国产l中国老女人| 色吧在线观看| 首页视频小说图片口味搜索| 午夜两性在线视频| 免费搜索国产男女视频| 真人做人爱边吃奶动态| 亚洲,欧美精品.| 国产精品亚洲av一区麻豆| 亚洲 欧美 日韩 在线 免费| 欧美日韩乱码在线| 两个人看的免费小视频| 久久人人精品亚洲av| 桃红色精品国产亚洲av| 一个人看的www免费观看视频| 色综合站精品国产| 人妻丰满熟妇av一区二区三区| 五月伊人婷婷丁香| 欧美色视频一区免费| 国内精品一区二区在线观看| 极品教师在线免费播放| 真人做人爱边吃奶动态| 亚洲激情在线av| 国产69精品久久久久777片 | 麻豆国产av国片精品| 少妇的逼水好多| 小说图片视频综合网站| 制服人妻中文乱码| 亚洲av成人一区二区三| 亚洲国产高清在线一区二区三| avwww免费| 舔av片在线| 18禁黄网站禁片午夜丰满| 国产探花在线观看一区二区| 国产99白浆流出| 天堂√8在线中文| 国产淫片久久久久久久久 | 亚洲精品一区av在线观看| 叶爱在线成人免费视频播放| 在线看三级毛片| 国产伦一二天堂av在线观看| 亚洲成人精品中文字幕电影| 亚洲七黄色美女视频| 亚洲国产精品久久男人天堂| 亚洲色图av天堂| 亚洲18禁久久av| bbb黄色大片| 99热精品在线国产| 人妻夜夜爽99麻豆av| 久久精品aⅴ一区二区三区四区| 香蕉国产在线看| 欧美绝顶高潮抽搐喷水| 欧美午夜高清在线| 欧美日韩中文字幕国产精品一区二区三区| 久久精品国产99精品国产亚洲性色| 一个人看的www免费观看视频| 久久精品国产亚洲av香蕉五月| 嫩草影院入口| 高清在线国产一区| 亚洲精品在线美女| 中文字幕人妻丝袜一区二区| 欧美日韩一级在线毛片| 日日摸夜夜添夜夜添小说| 此物有八面人人有两片| 九九热线精品视视频播放| 国产97色在线日韩免费| 老司机深夜福利视频在线观看| 一级a爱片免费观看的视频| 欧美zozozo另类| 中文字幕最新亚洲高清| 久久香蕉精品热| 床上黄色一级片| 亚洲欧美激情综合另类| 无限看片的www在线观看| avwww免费| 久久久色成人| 国产毛片a区久久久久| 91字幕亚洲| 淫秽高清视频在线观看| 日韩大尺度精品在线看网址| 五月玫瑰六月丁香| 久久热在线av| 香蕉av资源在线| 美女扒开内裤让男人捅视频| 少妇丰满av| 美女高潮的动态| 成人国产一区最新在线观看| 国产美女午夜福利| 国内少妇人妻偷人精品xxx网站 | 日本与韩国留学比较| 女警被强在线播放| 久久久久久九九精品二区国产| 禁无遮挡网站| 午夜福利在线观看免费完整高清在 | 无遮挡黄片免费观看| 黄色片一级片一级黄色片| 日本黄大片高清| 成人无遮挡网站| 亚洲国产精品合色在线| 亚洲av第一区精品v没综合| 搡老熟女国产l中国老女人| 琪琪午夜伦伦电影理论片6080| 国产在线精品亚洲第一网站| 亚洲精品色激情综合| 黄色丝袜av网址大全| 色噜噜av男人的天堂激情| 欧美中文日本在线观看视频| 美女大奶头视频| 国产亚洲欧美98| 午夜福利在线在线| 午夜激情欧美在线| 亚洲av成人不卡在线观看播放网| 成人性生交大片免费视频hd| 悠悠久久av| 久久午夜亚洲精品久久| 每晚都被弄得嗷嗷叫到高潮| 欧美乱妇无乱码| 日韩中文字幕欧美一区二区| 欧美在线一区亚洲| 黄色日韩在线| 免费看十八禁软件| 亚洲成人免费电影在线观看| 两性夫妻黄色片| 久久香蕉精品热| 亚洲精品久久国产高清桃花| 手机成人av网站| 性色av乱码一区二区三区2| 国产人伦9x9x在线观看| 国产精品99久久99久久久不卡| 久久午夜综合久久蜜桃| av天堂在线播放| 我要搜黄色片| 亚洲av电影不卡..在线观看| 欧美另类亚洲清纯唯美| 91九色精品人成在线观看| 99久久精品热视频| 亚洲人与动物交配视频| 老司机在亚洲福利影院| 欧美性猛交黑人性爽| 日本三级黄在线观看| 我的老师免费观看完整版| 亚洲欧美一区二区三区黑人| 亚洲欧美日韩高清在线视频| 少妇人妻一区二区三区视频| 给我免费播放毛片高清在线观看| 搞女人的毛片| 亚洲熟妇中文字幕五十中出| 亚洲欧美精品综合久久99| 午夜福利在线在线| 国产成人欧美在线观看| 男人舔女人下体高潮全视频| 高清在线国产一区| 99热只有精品国产| 成人一区二区视频在线观看| 成人特级av手机在线观看| 中文字幕高清在线视频| 舔av片在线| 搡老熟女国产l中国老女人| 亚洲狠狠婷婷综合久久图片| 国产成+人综合+亚洲专区| 制服丝袜大香蕉在线| 欧美乱色亚洲激情| 免费人成视频x8x8入口观看| 黄色成人免费大全| 桃红色精品国产亚洲av| 一区二区三区高清视频在线| 真人一进一出gif抽搐免费| 欧美日韩黄片免| 99在线视频只有这里精品首页| 两个人的视频大全免费| 很黄的视频免费| 男女午夜视频在线观看| 亚洲av电影不卡..在线观看| 午夜免费观看网址| 99热精品在线国产| 亚洲性夜色夜夜综合| 国产伦在线观看视频一区| 欧美日韩乱码在线| h日本视频在线播放| 嫩草影院入口| 亚洲中文字幕一区二区三区有码在线看 | 中文在线观看免费www的网站| 欧美黄色片欧美黄色片| 国产伦精品一区二区三区四那| 亚洲国产欧美人成| 久久精品亚洲精品国产色婷小说| 亚洲黑人精品在线| 日本成人三级电影网站| 国产欧美日韩一区二区精品| 欧美+亚洲+日韩+国产| av片东京热男人的天堂| av国产免费在线观看| 法律面前人人平等表现在哪些方面| 日韩欧美一区二区三区在线观看| 高潮久久久久久久久久久不卡| 长腿黑丝高跟| 亚洲国产欧美网| 观看美女的网站| 成人国产综合亚洲| 午夜福利视频1000在线观看| 午夜福利高清视频| 亚洲成a人片在线一区二区| 亚洲成人中文字幕在线播放| 99热这里只有精品一区 | 99久久综合精品五月天人人| 国产精品久久久久久精品电影| 国产精品一区二区免费欧美| 成人特级av手机在线观看| 香蕉久久夜色| 亚洲国产欧美一区二区综合| 国产一区二区三区视频了| 一进一出抽搐动态| 好男人电影高清在线观看| 老司机午夜十八禁免费视频| 色噜噜av男人的天堂激情| 久久久久精品国产欧美久久久| 亚洲av美国av| 亚洲国产欧美网| 亚洲av第一区精品v没综合| h日本视频在线播放| 嫁个100分男人电影在线观看| 1000部很黄的大片| 桃色一区二区三区在线观看| av欧美777| 久久午夜综合久久蜜桃| 久久精品综合一区二区三区| 久久精品亚洲精品国产色婷小说| 中亚洲国语对白在线视频| 亚洲中文字幕日韩| 亚洲成人久久爱视频| 91字幕亚洲| 麻豆国产av国片精品| 欧美日韩国产亚洲二区| 欧美绝顶高潮抽搐喷水| 久久精品夜夜夜夜夜久久蜜豆| 一级作爱视频免费观看| 日本黄色视频三级网站网址| 亚洲狠狠婷婷综合久久图片| 亚洲avbb在线观看| 亚洲自拍偷在线| 男人和女人高潮做爰伦理| 一个人看的www免费观看视频| 制服丝袜大香蕉在线| netflix在线观看网站| 女生性感内裤真人,穿戴方法视频| 国产精品一区二区免费欧美| 欧美午夜高清在线| 色综合欧美亚洲国产小说| www.自偷自拍.com| 精品欧美国产一区二区三| 国产亚洲精品久久久久久毛片| 男女视频在线观看网站免费| 午夜福利视频1000在线观看| 特级一级黄色大片| 免费看十八禁软件| 亚洲专区中文字幕在线| 99久久综合精品五月天人人| 丰满人妻一区二区三区视频av | 国产探花在线观看一区二区| 日韩欧美免费精品| 黑人巨大精品欧美一区二区mp4| 亚洲色图 男人天堂 中文字幕| 婷婷精品国产亚洲av在线| 成人三级做爰电影| 免费电影在线观看免费观看| 在线国产一区二区在线| 啪啪无遮挡十八禁网站| 日韩欧美 国产精品| 夜夜夜夜夜久久久久| 久久婷婷人人爽人人干人人爱| 看免费av毛片| 日本免费a在线| 国产精品亚洲一级av第二区| 可以在线观看的亚洲视频| 美女免费视频网站| 国产高清三级在线| av在线天堂中文字幕| 精品福利观看| 久久午夜亚洲精品久久| 色在线成人网| 国产人伦9x9x在线观看| 国产精品日韩av在线免费观看| 欧美绝顶高潮抽搐喷水| 国产亚洲精品久久久com| av中文乱码字幕在线| 国产精品 欧美亚洲| 久久香蕉国产精品| 手机成人av网站| 精品一区二区三区视频在线 | 51午夜福利影视在线观看| 女同久久另类99精品国产91| 很黄的视频免费| 久久这里只有精品中国| 国产伦精品一区二区三区四那| 日日干狠狠操夜夜爽| 亚洲精品在线美女| 首页视频小说图片口味搜索| 97超视频在线观看视频| 香蕉久久夜色| 国产精华一区二区三区| 男女午夜视频在线观看| 久久国产精品人妻蜜桃| 精品国产乱码久久久久久男人| 在线a可以看的网站| 日韩有码中文字幕| 亚洲美女视频黄频| 99国产精品99久久久久| 色精品久久人妻99蜜桃| 欧美又色又爽又黄视频| 中文字幕最新亚洲高清| 99国产综合亚洲精品| 国产亚洲av高清不卡| aaaaa片日本免费| 香蕉av资源在线| 欧美日本视频| 丝袜人妻中文字幕| 免费看a级黄色片| 欧美大码av| 偷拍熟女少妇极品色| 小说图片视频综合网站| 国产视频内射| 国产91精品成人一区二区三区| 国产成人精品久久二区二区免费| 中国美女看黄片| 午夜免费成人在线视频| 国产 一区 欧美 日韩| 免费看美女性在线毛片视频| 成年女人看的毛片在线观看| 亚洲第一欧美日韩一区二区三区| 亚洲国产欧洲综合997久久,| 亚洲国产精品合色在线| 国产精品美女特级片免费视频播放器 | 精品熟女少妇八av免费久了| 日本 av在线| 波多野结衣巨乳人妻| 午夜福利在线观看吧| 国内少妇人妻偷人精品xxx网站 | 久久人人精品亚洲av| 少妇的丰满在线观看| 成人三级黄色视频| 91麻豆av在线| 美女大奶头视频| 99热这里只有精品一区 | or卡值多少钱| 无限看片的www在线观看| 一夜夜www| 757午夜福利合集在线观看| 国产精品 国内视频| 亚洲国产高清在线一区二区三| 别揉我奶头~嗯~啊~动态视频| 日韩人妻高清精品专区| 欧美色欧美亚洲另类二区| 美女免费视频网站| 亚洲国产精品久久男人天堂| 色吧在线观看| 国产精品野战在线观看| 免费看美女性在线毛片视频| 亚洲av五月六月丁香网| 日本一二三区视频观看| 国产高清视频在线播放一区| 欧美色欧美亚洲另类二区| 国产一区二区在线观看日韩 | aaaaa片日本免费| 啦啦啦免费观看视频1| 国产高清videossex| 国产高清视频在线观看网站| 免费一级毛片在线播放高清视频| 国内毛片毛片毛片毛片毛片| 白带黄色成豆腐渣| 毛片女人毛片| 精品电影一区二区在线| 国产亚洲欧美98| 国产欧美日韩精品亚洲av| 国产黄片美女视频| 夜夜夜夜夜久久久久| 国产欧美日韩精品亚洲av| 一个人看的www免费观看视频| xxxwww97欧美| 男女床上黄色一级片免费看| 激情在线观看视频在线高清| 热99re8久久精品国产| 黄片小视频在线播放| 亚洲国产精品合色在线| 很黄的视频免费| 国产成年人精品一区二区| 亚洲av五月六月丁香网| 亚洲成a人片在线一区二区| 一二三四社区在线视频社区8| 国产精品99久久99久久久不卡| 色视频www国产| 免费高清视频大片| av天堂中文字幕网| 性欧美人与动物交配| 成年女人永久免费观看视频| 中文亚洲av片在线观看爽| 午夜福利成人在线免费观看| 中文字幕熟女人妻在线| 亚洲一区二区三区色噜噜| 亚洲国产精品久久男人天堂| 在线观看美女被高潮喷水网站 | 亚洲国产欧美网| 男人和女人高潮做爰伦理|