《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > IP電話網(wǎng)關(guān)的語音數(shù)據(jù)處理

IP電話網(wǎng)關(guān)的語音數(shù)據(jù)處理

2009-02-09
作者:黃 旭1, 何 友1, 黃永峰2

  摘? 要: 提出了一種集成式IP電話網(wǎng)關(guān)的實現(xiàn)方法,分析了語音信號在該網(wǎng)關(guān)中的處理過程,詳細介紹了語音采樣、播放、壓縮與解壓縮、RTP包的封裝與解包以及IP包的接受和發(fā)送的實現(xiàn)方法。

  關(guān)鍵詞: IP電話網(wǎng)關(guān)? 語音壓縮? RTP協(xié)議

?

  隨著IP電話技術(shù)的飛速發(fā)展,IP電話的實現(xiàn)方式正在由PC To PC過渡到Phone to Phone,在Phone to Phone的實現(xiàn)方式中,需要所謂的IP電話網(wǎng)關(guān)來連接PSTN和因特網(wǎng)。因此IP電話網(wǎng)關(guān)成為目前計算機和通信領(lǐng)域研究的熱點之一。雖然國內(nèi)外許多廠商都在以不同的方式開發(fā)IP電話網(wǎng)關(guān),但他們有一個共同的的特點,即:幾乎所有IP電話網(wǎng)關(guān)都采用了自己的專用硬件設(shè)備。本文提出了一種采用市場上通用的板卡來構(gòu)造一種硬件集成式的IP電話網(wǎng)關(guān)的方法,并研究了語音數(shù)據(jù)在該網(wǎng)關(guān)的處理過程和實現(xiàn)方法。

  集成式IP電話網(wǎng)關(guān)的硬件構(gòu)成如圖1所示,它是在Pentium II PC機的基礎(chǔ)上,插入Dialogic公司的D/41E型語音卡、LSI公司的C6200資源卡和D_Link網(wǎng)卡所組成。其中D/41E語音卡用來完成語音的采樣和播放。C6200資源卡有一塊TI公司的TMS320C6201 DSP芯片,用來完成語音的壓縮和解壓縮以及回聲抵消。Pentium II PC用來實現(xiàn)H.323協(xié)議棧的主要功能,網(wǎng)卡用來發(fā)送和接受IP包。下面具體分析語音數(shù)據(jù)在IP電話網(wǎng)關(guān)的處理過程和實現(xiàn)方法。

?

?

1 語音采樣和播放

  在該IP電話網(wǎng)關(guān)中,語音的采樣和播放是由Dialogic公司的D/41E型語音卡來完成,其中,語音采樣是利用語音卡所提供的錄音函數(shù)來完成的。在實時語音通信時,語音數(shù)據(jù)存入語音采樣緩沖區(qū)中,等待語音壓縮線程取出并處理。錄音函數(shù)形式如下:

  dx_reciottdata(activeChdev,&chinfo[activeChdev].iott,&tptrec[0],&xpbVox,mode);??????????????????

  該函數(shù)的輸入?yún)?shù)的含義如下:

  int chdev? ??????????? ????? 語音通道的設(shè)備句柄

  DX_IOTT *iott? ???????   ? 指向語音數(shù)據(jù)目的地的指針

  DV_TPT *tptp? ?? ??????????? 指向終止參數(shù)塊的指針

  DX_XPB *xpbp?? ????????????? 指向I/O傳輸塊的指針

  unsigned short mode? ??????? 錄音所采取的方式

  iott是一種DX_IOTT類型的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)中的io_type可取值IO_DEV和IO_MEM,分別用于指定語音數(shù)據(jù)是存入文件還是存入緩沖區(qū)中。io_type的另一類取值可為IO_CONT,IO_LINK或 DX_IOTT,用于指定語音數(shù)據(jù)目的地的結(jié)構(gòu)。如果io_type取值IO_DEV,則io_fhandle的值應(yīng)為一個文件的句柄;如果io_type取值IO_MEM,則io_fhandle的值應(yīng)為0,此時,io_bufp指向存放語音數(shù)據(jù)的緩沖區(qū)的起始地址。io_offset為地址偏移量。io_length用于指定文件或緩沖區(qū)的大小。如果io_type取值IO_LINK,則io_nextp指向下一個存放語音數(shù)據(jù)的DX_IOTT數(shù)據(jù)結(jié)構(gòu),而io_prevp指向上一個存放語音數(shù)據(jù)的DX_IOTT數(shù)據(jù)結(jié)構(gòu)。DX_IOTT的數(shù)據(jù)結(jié)構(gòu)定義如下:

  typedef struct dx_iott {

  unsigned short io_type;??????????? ?? /*Transfer type*/

  unsigned short rfu;?     ??? ??? /*Reserved*/

  int???? io_fhandle;???      ??? /*File descriptor*/

  char*? io_bufp;???         ?? /*Pointer to base memory*/

  unsigned long io_offset;??  ? ????? /*File/Buffer offset*/

  long int io_length;?     ??????? /*Length of data*/

  DX_IOTT *io_nextp;???    ? ?????? /*Ptr to next DX_IOTT if IO_LINK set*/

  DX_IOTT *io_prevp;?       ?? ? /*(Optional) Ptr to previous DX_IOTT*/

  } DX_IOTT;

  DV_TPT數(shù)據(jù)結(jié)構(gòu)用于指定終止某語音通道上函數(shù)的條件。具體如下:

  typedef struct DV_TPT {

  unsigned short? tp_type;?? ????? ???? /*Flags describing this structure*/

  unsigned short tp_termno;       /*Termination parameter number */

  unsigned short tp_length; ?      /*Length of terminator*/

  unsigned short tp_flags;??????? ????? /*Term.parameter attributes flag*/

  unsigned short tp_data; ??     ?? /*Optional additional data*/

  unsigned short rfu;? ??????????????? /*Reserved for future use*/

  struct DV_TPT *tp_nextp;        /*Pointer to next term.parameter if*/

?????????????????????????????????????????? /*IO_LINK is set*/

  } DV_TPT;

  DX_XPB數(shù)據(jù)結(jié)構(gòu)用于指定用何種算法進行錄音等。WFileFormat可取值FILE_FORMAT_VOX和FILE_FORMAT_WAVE,分別代表用VOX文件格式和WAV文件格式存放語音數(shù)據(jù)。wDataFormat可取值DATA_FORMAT_DIALOGIC_ADPCM、DATA_FORMAT_MULAW、DATA_FORMAT_ALAW、DATA_FORMAT_PCM,分別代表用ADPCM、μ率、A率或線性PCM的算法對聲音進行采樣。nSamplesPerSec可取值DRT_6kHz、DRT_8kHz、DRT_11kHz,用于指定采樣頻率分別為6kHz、8kHz或11kHz。nBitsPerSample可取值4和8,為每個樣本點的位數(shù)。如果wDataFormat采用ADPCM算法,則nBitsPerSample只能取4。DX_XPB的數(shù)據(jù)結(jié)構(gòu)定義如下:

  typedef struct {

?  USHORT?? wFileFormat;??? ????? //file format

?  USHORT?? wDataFormat;?? ????? //audio data format

?  ULONG?? nSamplesPerSec;? ???? //sampling rate

?  ULONG?? nBitsPerSample;? ????? //bits per sample

  } DX_XPB;

  mode用于指定錄音的方式,可取值PM_TONE、EV_SYNCH或EV_ASYNCH。取值PM_TONE代表在錄制前先播放一個200ms的提示音。取值為EV_SYNCH時,代表用同步的方式執(zhí)行語音采樣,在同一線程中的其它功能將被暫時掛起,直到該同步函數(shù)執(zhí)行完后才被釋放。取值為EV_ASYNCH代表是用異步的方式執(zhí)行語音采樣,在同一線程中的其它功能仍可照常進行。

  語音播放是利用語音卡播放函數(shù)來完成的。該函數(shù)所用的參數(shù)與錄音函數(shù)的參數(shù)類似。播放函數(shù)的形式如下:

????dx_playiottdata(activeChdev,&chinfo[activeChdev].iott,&tptplay[0],&xpbVox,mode)

2 電話狀況偵測

  電話狀況偵測功能主要是判斷電話線狀況,如判斷現(xiàn)在電話機話筒是拿起或放下,有沒有撥號音,是否電話正忙或沒有人接電話。在異步方式下,采用語音卡的ATDX_CPTERM()來檢測某語音通道上電話呼叫的返回值。在同步方式下無需該步驟。當(dāng)返回值為CR_CEPT時,表示特殊通知音,即撥了無效的電話號碼或遇到了其它特殊問題。當(dāng)返回值為CR_NORB時,表示無回鈴音,即檢測不到可識別的信號模式。當(dāng)返回值為CR_NOANS時,表示無應(yīng)答,即線已撥通,但無應(yīng)答。當(dāng)返回值為CR_CNCT時,表示連接音。當(dāng)返回值為CR_BUSY時,表示忙音。當(dāng)返回值為CR_CNCT時,還可利用ATDX_CONNTYPE(chdev)函數(shù)檢測連接音的類型。返回值可能是CON_CAD,CON_LPC,CON_PVD或CON_PAMD,分別代表韻律連接音,循環(huán)流連接音,陽極音連接音或陽極應(yīng)答機連接音。

  進行呼叫時,先用ATDX_HOOKST(activeChdev)函數(shù)獲取電話機的狀態(tài)。如果是掛機狀態(tài),則用dx_sethook(activeChdev,DX_OFFHOOK,EV_SYNC)將電話機置為摘機狀態(tài)。然后給呼叫函數(shù)傳遞所需的參數(shù)。參數(shù)是通過DX_CAP這個數(shù)據(jù)結(jié)構(gòu)來傳遞的,其定義為:

  typedef struct DX_CAP {

  unsigned short ca_nbrdna;?    ? //# of rings before no answer.

  unsigned short ca_stdely;?? ???? ? //Delay after dial before analysis

  unsigned short ca_cnosig;???    //Duration of no signal time out delay

  unsigned short ca_lcdly;???   ? //Delay after dial before lc drop connect

  unsigned short ca_lcdly1;???    //Delay after lc drop?con. before msg.

  unsigned short ca_hedge;????    //Edge of answer to?send connect message

  unsigned short ca_cnosil;?     //Initial continuous noise timeout delay

  unsigned short ca_lo1tola;??    //% acceptable pos.dev?of short low sig.

  unsigned short ca_lo1tolb;     //% acceptable neg.dev of short low sig.

  unsigned short ca_lo2tola;??    //% acceptable pos.dev of long low sig.

  unsigned short ca_lo2tolb;??    //% acceptable neg.dev of long low sig.

  unsigned short ca_hi1tola;?   ??//% acceptable pos.dev of high signal.

  unsigned short ca_hi1tolb;????   //% acceptable neg.dev of high signal

  unsigned short ca_lo1bmax;??    //Maximum interval?for shrt low for busy.

  unsigned short ca_lo2bmax;?     //Maximum interval for long low for busy.

  unsigned short ca_hi1bmax;??    //Maximum interval for 1st high for busy

??? unsigned short ca_nsbusy;????????? //Num. of highs after nbrdna busy check.

??? unsigned short ca_logltch;???????? //Silence deglitch duration.

????unsigned short ca_higltch;???????? //Non-silence deglitch duration.

??? unsigned short ca_lo1rmax;???????? //Max. short low dur. of double ring

??? } DX_CAP;

  該數(shù)據(jù)結(jié)構(gòu)中有大量的參數(shù)項,一般使用缺省值即可。需要修改時,可通過程序提供的呼叫對話框來修改。呼叫的電話號碼也在該對話框中指定。

3 語音數(shù)據(jù)壓縮與解壓縮

  G.723.1、G.729均為ITU H.323所推薦的語音編碼標(biāo)準(zhǔn)。其中G.723.1采用ACELP和MP_MLQ算法,比特率為6.3kbps和5.3kbps。G.729采用CS_ACELP算法,比特率為8kbps。由于G.723.1無論是在帶寬還是語音質(zhì)量都優(yōu)于G.729,因此,一般在IP電話中普遍使用G.723.1語音壓縮標(biāo)準(zhǔn)。

  在集成式IP電話網(wǎng)關(guān)中,語音的壓縮是由C6200資源卡上的TMS320C6201 DSP來完成。G.723.1編碼器的輸入信號是8kHz的16位線性PCM碼,由語音卡采樣的語音信號包括8kHz的8位線性PCM碼在內(nèi)的多種形式,在輸入到G.723.1編碼器之前,需要進行轉(zhuǎn)換。相應(yīng)地,解碼器的輸出語音信號也應(yīng)轉(zhuǎn)化為語音卡能識別的格式數(shù)據(jù)流。Dialog D/4E語音卡只識別ADPCM碼,其它高級一些的語音卡如D/41ESC語音卡既可識別ADPCM碼,也能識別線性PCM碼。編碼器每30ms處理一幀數(shù)據(jù),每幀包含240個樣本點,每個樣本點占16位。G.723.1編碼/解碼器的處理流程大致過程如下:

  每一幀首先通過高通濾波器,去除直流成分,然后被分為4個子幀,每個子幀包括60個采樣點。每個子幀被送入一個10階線性預(yù)測編碼器,計算LPC系數(shù)。最后一個子幀的LPC系數(shù)采用預(yù)測分裂矢量量化器(PSVQ)量化。量化前的LPC系數(shù)用來建立短時感覺加權(quán)濾波器,整幀信號通過它得到感覺加權(quán)語音信號。對于每兩個子幀,用感覺加權(quán)后的語音信號來計算開環(huán)基音周期,基音周期的搜索范圍在18和145之間。對于每一個子幀,運用估計的基音周期建立諧波噪聲成形濾波器(Harmonic Noise Shaping filter)。LPC合成濾波器、共振峰感覺加權(quán)濾波器和諧波噪聲成形濾波器組成一個聯(lián)合濾波器,然后可以得到該濾波器的沖激響應(yīng)。運用基音周期估計和沖激響應(yīng)計算閉環(huán)基音周期。采用五階基音預(yù)測器,以開環(huán)基音周期為中心,作小范圍內(nèi)閉環(huán)搜索,得到精確的基音周期,然后將基音預(yù)測器的貢獻從初始的目標(biāo)矢量中扣除。最后,進行非周期性的激勵信號的估計。對于高碼率6.3kbps,采用多脈沖最大似然量化激勵(MP_MLQ);對于低碼率5.3 kbps,采用代數(shù)碼本激勵(ACELP)。

4 RTP包的形成與解包

  RTP包的形成與解包是由網(wǎng)關(guān)中的主CPU(Pentium Ⅱ)來完成。RTP是IEFT的提議標(biāo)準(zhǔn)RFC1890。它是一個獨立于應(yīng)用程序的協(xié)議規(guī)范,在具體應(yīng)用中可有不同的獨立框架。每個RTP數(shù)據(jù)包都由一個頭部和一個有效數(shù)據(jù)部組成。有效數(shù)據(jù)部中放置壓縮后的語音數(shù)據(jù)。RTP包頭的前12個字節(jié)是固定的,其格式如圖2所示。

?

?

  在RTP包頭中,標(biāo)記M占有1比特位,用來指明語音數(shù)據(jù)的邊界。PT占7比特位,指明語音數(shù)據(jù)的壓縮類型。Sequence number占16比特位,是一個正整數(shù)的序列號。每發(fā)送一個RTP數(shù)據(jù)包,序列號就加1。接收端可通過序列號監(jiān)測數(shù)據(jù)包傳輸過程中的丟包情況以及失序情況。序列號的初始值是隨機分配的。Timestamp是時間戳,占32比特位,描述RTP包中語音數(shù)據(jù)的采樣時刻,主要用于同步和計算時延。Synchronization source identifier是同步資源標(biāo)識符SSRC,占32比特位,用于標(biāo)識同步資源。RTP打包過程如圖3所示。

?

?

  如果是第一次生成RTP包,則序列號的初值為一隨機數(shù)而不是0。這樣做的目的是為了通信過程中的安全性。SSRC標(biāo)識符是一個32位的隨機數(shù)。在一個RTP會話中,不允許兩個SSRC有相同的值。RTP解包過程是RTP打包過程的逆過程,在此不再贅述。

5 IP包的發(fā)送與接收

  利用H.323協(xié)議棧軟件包可以生成符合H.323協(xié)議的API函數(shù)。在程序中,先執(zhí)行 mcInitialize()和mcSetEventHandler()建立H.245控制信道,然后執(zhí)行mcOpenCall() 函數(shù)以建立H.225.0呼叫信令信道。在mcOpenCall()函數(shù)的參數(shù)中可以設(shè)置所選的音頻編解碼協(xié)議。所選的音頻編解碼協(xié)議包括G.711協(xié)議(必選) 、G.722、G.723.1、G.728或G.729協(xié)議。當(dāng)H.245控制信道和H.225.0呼叫信令信道成功建立后,使用mcSendAudio()函數(shù)發(fā)送包含壓縮語音數(shù)據(jù)的IP包。當(dāng)通話結(jié)束后,使用mcCloseCall()函數(shù)關(guān)閉H.225.0呼叫信令信道和H.245控制信道。

  本文提出的集成式IP電話網(wǎng)關(guān)具有硬件結(jié)構(gòu)簡單、維護方便、升級容易等優(yōu)點,并具有很高的性能價格比,更有價值的是拓寬了設(shè)計IP電話網(wǎng)關(guān)的設(shè)計思想。另外,本文還詳細地給出了語音在網(wǎng)關(guān)中的各個階段的處理過程和實現(xiàn)方法,其中有關(guān)語音壓縮和回聲抵消的處理,是網(wǎng)關(guān)中語音的關(guān)鍵技術(shù),涉及到網(wǎng)關(guān)的DSP的運行效率、壓縮算法的優(yōu)化、語音質(zhì)量的提高和噪聲的消除等技術(shù)問題。

?

參考文獻

1 Dialogic, Standard Runtime Library Programmer's Guide for Windows NT. Dialogic Corporation,1997

2 Heffes H,Lucanoni D.A. Markov modulation characterization of packetized voice and data traffic and related?statistical multiplexer analysis[J].IEEE JSAC, 1986;4(6):856~868

3 H.Schulzrinne, S.Casner, R.Frederick, V.Jacobson.?RTP-A Transport Protocol for Real-Time Applications. Internet Draft, draft-ietf-avt-rtp-new-ps, Internet Engineering Task Force, Dec.,1997

4 H.Schulzrinne. RTP Profile for Audio and Video Conferences with Minimal Control. Internet Draft, draft-

ietf-avt-profile-new-01.ps, Internet Engineering Task?Force, Jan.,1998

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜亚洲一区| 亚洲毛片在线观看| 亚洲高清在线观看| 国产主播一区二区三区四区| 国产精品久久久久影院亚瑟| 欧美精品在线视频| 欧美电影免费观看网站| 久久综合伊人| 久久精品视频在线看| 久久成年人视频| 欧美一区免费| 欧美在线地址| 欧美在线视频免费观看| 久久精品国产综合精品| 久久精品免费电影| 久久三级视频| 久久综合久色欧美综合狠狠| 久久一区欧美| 蘑菇福利视频一区播放| 女女同性精品视频| 欧美国产先锋| 欧美日韩成人在线播放| 欧美日韩三区四区| 国产精品久久777777毛茸茸| 国产精品久久久久久久久搜平片| 久久精品国产69国产精品亚洲| 欧美在线观看视频在线| 亚洲欧美精品| 久久成人精品一区二区三区| 久久精品男女| 亚洲精品美女免费| 一本色道久久综合狠狠躁篇怎么玩| 亚洲视频在线视频| 欧美一区激情| 久久这里只有精品视频首页| 欧美国产丝袜视频| 国产精品www.| 国产日韩亚洲欧美综合| 激情一区二区三区| 亚洲国产成人不卡| 在线视频亚洲一区| 欧美一区二区视频免费观看| 亚洲国产三级网| 中国女人久久久| 性一交一乱一区二区洋洋av| 久久免费偷拍视频| 欧美日韩成人综合在线一区二区 | 久久国产精品一区二区| 久久免费黄色| 欧美日韩国产探花| 国产日韩欧美一区在线 | 欧美极品在线视频| 国产精品美女一区二区| 一区二区亚洲精品国产| 99国内精品久久| 久久精品国产99| 亚洲永久网站| 久久亚洲免费| 国产精品久久国产精品99gif | 欧美国产综合一区二区| 国产精品亚洲综合| 亚洲高清资源综合久久精品| 午夜精品理论片| 久久综合婷婷| 国产精品久久婷婷六月丁香| 黄色精品在线看| 在线一区二区视频| 亚洲黄色一区| 亚洲欧美文学| 亚洲男女自偷自拍图片另类| 欧美一区二区三区在线看| 日韩亚洲国产精品| 久久国产欧美| 欧美特黄一级大片| 亚洲第一二三四五区| 亚洲专区欧美专区| 一本色道久久88综合日韩精品 | 欧美一区二区三区在线| 欧美日韩的一区二区| 国模吧视频一区| 亚洲一区视频在线| 一区电影在线观看| 奶水喷射视频一区| 国产一区二区三区在线观看免费| 99这里只有精品| 亚洲精品裸体| 免播放器亚洲| 狠狠色伊人亚洲综合网站色 | 久久精品国产久精国产爱| 亚洲欧美成人一区二区在线电影| 欧美11—12娇小xxxx| 国产亚洲毛片在线| 亚洲一区免费在线观看| 亚洲视频精选| 欧美日韩国产亚洲一区| 亚洲国产精品www| 久久激五月天综合精品| 欧美一区二区视频在线观看| 欧美日韩一区在线播放| 亚洲精品乱码久久久久久按摩观| 亚洲大胆av| 久久免费视频这里只有精品| 国产手机视频精品| 亚洲欧美国产精品va在线观看| 亚洲在线一区二区三区| 欧美丝袜第一区| 99在线精品视频在线观看| 一区二区冒白浆视频| 欧美精品电影在线| 亚洲国产一区二区视频| 亚洲精品一二区| 欧美成人精品| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美一区激情视频在线观看| 国产精品第三页| 在线一区日本视频| 亚洲免费一在线| 国产精品毛片a∨一区二区三区|国 | 亚洲一区二区三区免费观看| 亚洲视频在线一区| 欧美色图麻豆| 亚洲视频一区二区在线观看 | 国产精品jvid在线观看蜜臀| 99ri日韩精品视频| 国产精品99久久99久久久二8| 欧美日韩不卡视频| 日韩系列欧美系列| 亚洲视频网在线直播| 欧美视频一区在线观看| 在线亚洲欧美| 欧美亚洲在线视频| 国产一区二区三区高清| 亚洲国产一区在线| 欧美激情一二区| 日韩亚洲欧美成人| 亚洲欧美欧美一区二区三区| 国产毛片一区| 久久经典综合| 欧美精品www| 在线综合亚洲| 西西人体一区二区| 国内精品模特av私拍在线观看| 亚洲国产欧美另类丝袜| 欧美成人在线影院| 日韩一级二级三级| 欧美一站二站| 一区二区三区在线免费播放| 亚洲美女在线观看| 国产精品成人一区二区三区吃奶| 亚洲综合日韩在线| 久久这里只精品最新地址| 亚洲人成在线播放| 午夜精品一区二区三区四区| 国产主播一区| 99热免费精品在线观看| 国产精品乱人伦中文| 久久精品国产免费观看| 欧美精品一区二区高清在线观看| 在线视频中文亚洲| 久久久综合网站| 亚洲精品免费一二三区| 亚洲欧美亚洲| 影音先锋成人资源站| 亚洲四色影视在线观看| 国产欧美婷婷中文| 亚洲精品一区二区三区四区高清 | 国产精品视频免费一区| 亚洲国产mv| 欧美日韩国产成人| 亚洲欧美中文字幕| 欧美连裤袜在线视频| 小处雏高清一区二区三区| 欧美成人精品一区| 亚洲欧美国产视频| 欧美精品二区| 久久国产精品亚洲77777| 欧美视频二区| 亚洲精华国产欧美| 国产精品色婷婷| 亚洲乱码日产精品bd| 国产精品亚洲综合色区韩国| 亚洲人成网站999久久久综合| 国产精品久久久亚洲一区| 亚洲国产美女久久久久| 国产噜噜噜噜噜久久久久久久久| 99pao成人国产永久免费视频| 国产无一区二区| 亚洲网址在线| 在线免费观看日本欧美| 午夜日韩在线| 亚洲精品免费在线| 裸体女人亚洲精品一区| 亚洲一区二区三区午夜| 欧美激情精品久久久久久大尺度 | 91久久嫩草影院一区二区| 国产精品久久看| 99re6这里只有精品视频在线观看| 国产亚洲欧美日韩日本| 亚洲一区日韩| 亚洲精品欧美精品|