日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
USB軟件狗的設(shè)計(jì)及反破解技術(shù)
USB軟件狗的設(shè)計(jì)及反破解技術(shù)
 更新時(shí)間:2008-8-16 21:12:30  點(diǎn)擊數(shù):12
【字體: 字體顏色

    摘要:在介紹實(shí)現(xiàn)IP電話基本原理的基礎(chǔ)上,詳細(xì)闡述IP電話的TCP/IP協(xié)議的實(shí)現(xiàn)過程,并簡(jiǎn)要描述1次通話的全過程。

    關(guān)鍵詞:IP電話 TCP/IP協(xié)議 ICMP UDP ARP

引 言

  隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,計(jì)算機(jī)通信系統(tǒng)已漸漸地與網(wǎng)絡(luò)連為一體了,個(gè)人計(jì)算機(jī)的功能得到了極大的增強(qiáng);與此同時(shí),人們的需求在不斷增加,網(wǎng)絡(luò)的應(yīng)用范圍也在不斷擴(kuò)寬,網(wǎng)絡(luò)電話離人們的生活也越來(lái)越近了。尤其是當(dāng)人們正試圖將網(wǎng)絡(luò)改造成能進(jìn)行實(shí)時(shí)通信的全球信息高速公路的雛形時(shí),它作為一種新的話音業(yè)務(wù),已經(jīng)成為研究和開發(fā)的熱點(diǎn)。

1 IP電話的實(shí)現(xiàn)原理

  普通電話通過信令來(lái)控制用戶的呼叫建立、連接、通話、釋放連接等過程。與此類似,IP電話也必須通過電話信令來(lái)控制這些過程,即IP電話要傳送2類數(shù)據(jù):信令數(shù)據(jù)和語(yǔ)音數(shù)據(jù)。與傳統(tǒng)的PSTN電話所不同的是,IP電話是通過網(wǎng)絡(luò)進(jìn)行傳輸?shù)摹Kㄟ^分組交換的方式來(lái)實(shí)現(xiàn),因此TCP/IP協(xié)議是其所應(yīng)遵守的基本協(xié)議。但是TCP/IP協(xié)議是一個(gè)龐大而復(fù)雜的體系結(jié)構(gòu),幾乎涵蓋了網(wǎng)絡(luò)上所有的應(yīng)用,對(duì)于IP電話這一特定的應(yīng)用,實(shí)現(xiàn)整個(gè)TCP/IP協(xié)議是完全沒有必要的。所以在實(shí)現(xiàn)的過程中,可以針對(duì)電話這一特定的要求簡(jiǎn)化TCP/IP協(xié)議。圖1是一個(gè)簡(jiǎn)化了的TCP/IP協(xié)議的分層結(jié)構(gòu)示意圖。

  圖1在遵循OSI的7層結(jié)構(gòu)的基礎(chǔ)上,對(duì)TCP/IP協(xié)議機(jī)制進(jìn)行了適當(dāng)?shù)暮?jiǎn)化。在網(wǎng)絡(luò)接口層,基于帶寬及接口復(fù)雜程度的考慮,我們選擇Ethernet網(wǎng)卡作為接入網(wǎng)絡(luò)的接口,并采用ARP的方式對(duì)電話進(jìn)行尋址。網(wǎng)絡(luò)層仍然用IP數(shù)據(jù)報(bào)的方式封裝從上層傳來(lái)的數(shù)據(jù)包,它包括傳輸層的UDP及ICMP兩種數(shù)據(jù)包,這兩種數(shù)據(jù)包分別傳送信令數(shù)據(jù)和語(yǔ)音數(shù)據(jù)。與TCP的傳輸方式相比,UDP的傳輸方式在網(wǎng)絡(luò)壓力不太大的情況下傳輸效率會(huì)更高。

  圖2是IP電話的實(shí)現(xiàn)框圖:以單片機(jī)為核心,包括存儲(chǔ)、輸入輸出、與網(wǎng)絡(luò)的接口及語(yǔ)音的編解碼部分。

2 TCP/IP協(xié)議的設(shè)計(jì)

  根據(jù)IP電話實(shí)現(xiàn)的基本原理,可以將TCP/IP協(xié)議固件分為以下4個(gè)模塊來(lái)實(shí)現(xiàn)。

(1)ARP模塊

  ARP模塊主要實(shí)現(xiàn)對(duì)電話的尋址功能。在網(wǎng)絡(luò)中,IP電話同計(jì)算機(jī)一樣,每個(gè)IP電話對(duì)應(yīng)1個(gè)IP地址,用戶每次建立連接之前首先要獲得電話的IP地址及物理地址。在局域網(wǎng)中,為了減輕單片機(jī)的負(fù)擔(dān),可以在服務(wù)器中給用戶建立電話號(hào)碼與IP地址及物理地址的對(duì)應(yīng)。用戶建立連接之前,主叫用戶首先給服務(wù)器發(fā)送1個(gè)ARP請(qǐng)求,與服務(wù)器取得聯(lián)系,進(jìn)而再發(fā)送ICMP請(qǐng)求。服務(wù)器將用戶所需的對(duì)方的IP地址及物理地址放到ICMP包中,形成應(yīng)答發(fā)送給主叫用戶。

  ARP包的首部采用結(jié)構(gòu)的方式來(lái)封裝,一個(gè)ARP的頭結(jié)構(gòu)ARPKT如下:

typedef struct{

WORD hrd, /* 硬件類型 */

pro; /* 協(xié)議類型 */

BYTE hln, /*物理地址長(zhǎng)度*/

pln; /* IP地址長(zhǎng)度*/

WORD op; /* ARP操作字段*/

BYTE smac[MACLEN]; /*源物理地址*/

LWORD sip; /* 源IP地址*/

BYTE dmac[MACLEN]; /* 目的物理地址*/

LWORD dip; /* 目的IP地址 */

} ARPKT;

(2)IP模塊

  IP模塊主要實(shí)現(xiàn)對(duì)電話信令和語(yǔ)音數(shù)據(jù)的傳輸。在一個(gè)物理網(wǎng)絡(luò)中,數(shù)據(jù)報(bào)可以直接從一個(gè)IP電話傳送到另一個(gè)IP電話,因此不必考慮間接投遞的問題。當(dāng)IP電話要傳送電話信令或語(yǔ)音數(shù)據(jù)時(shí),IP層對(duì)ICMP或UDP包進(jìn)行封裝,進(jìn)而傳遞給物理層形成幀發(fā)送出去。當(dāng)IP數(shù)據(jù)報(bào)到達(dá)IP電話時(shí),網(wǎng)絡(luò)接口軟件把它傳給IP軟件處理。如果其中的目的地址與自己的IP地址匹配,則接收該數(shù)據(jù)報(bào)并上傳給合適的高層協(xié)議;如果不匹配,則丟棄該數(shù)據(jù)報(bào)。

  IP數(shù)據(jù)報(bào)的頭部采用結(jié)構(gòu)的形式進(jìn)行封裝,一個(gè)IP數(shù)據(jù)報(bào)的頭部結(jié)構(gòu)如下:

typedef struct{

BYTE vhl, /*版本及首部長(zhǎng)度*/

service; /*IP服務(wù)類型*/

WORD len, /*IP數(shù)據(jù)報(bào)總長(zhǎng)度*/

ident, /* 標(biāo)識(shí) */

frags; /*標(biāo)志 */

BYTE ttl, /*生存時(shí)間*/

pcol; /*數(shù)據(jù)區(qū)所用的協(xié)議*/

WORD check; /*首部校驗(yàn)和*/

LWORD sip, /* IP源地址*/

dip; /*IP 目的地址*/

} IPHDR;

(3)ICMP模塊

  ICMP模塊主要實(shí)現(xiàn)對(duì)電話信令的封裝。ICMP包可分為2種:ICMP請(qǐng)求和ICMP應(yīng)答。ICMP請(qǐng)求包括2種情況:向服務(wù)器發(fā)送請(qǐng)求獲取對(duì)方用戶的IP地址及物理地址和向?qū)Χ擞脩舭l(fā)送請(qǐng)求進(jìn)行通話連接。相應(yīng)的ICMP應(yīng)答也有2種:服務(wù)器發(fā)送的應(yīng)答和普通用戶的應(yīng)答。

  主叫用戶與服務(wù)器取得聯(lián)系后,向服務(wù)器發(fā)送1個(gè)ICMP請(qǐng)求并等待應(yīng)答,從服務(wù)器的應(yīng)答中獲取對(duì)方的IP地址和物理地址,然后再向?qū)Χ税l(fā)送1個(gè)ICMP請(qǐng)求包,從叫用戶收到主叫用戶的請(qǐng)求,做出應(yīng)答。ICMP包的格式如圖3所示。

  用數(shù)據(jù)區(qū)的第1個(gè)字節(jié)來(lái)標(biāo)識(shí)2種情況:若第1個(gè)字節(jié)全為零,則在后面的數(shù)據(jù)區(qū)域中可填入IP地址及物理地址。若不全為零,則第1個(gè)字節(jié)為電話信令。電話信令可以自己定義,按照程控交換機(jī)的技術(shù)規(guī)范,只需要以下一些基本信令即可:

Req-ID 請(qǐng)求對(duì)應(yīng)IP地址 Ethernet ID號(hào);

Req-conn 請(qǐng)求連接;

Conn-In 連接指示;

Req-lease 請(qǐng)求釋放;

Lease-In 釋放指示;

Acknowledge 應(yīng)答;

ID_In ID 指示。

(4)UDP 模塊

  UDP模塊主要實(shí)現(xiàn)對(duì)語(yǔ)音數(shù)據(jù)的封裝。在用戶已經(jīng)確定建立連接之后,將編碼后的語(yǔ)音數(shù)據(jù)放在UDP的數(shù)據(jù)區(qū)域中進(jìn)行傳送。一個(gè)UDP的數(shù)據(jù)包格式如圖4所示。

  它包括16bit的源地址、16bit的目的地址、16bit的報(bào)文長(zhǎng)度及16bit的校驗(yàn)和。為了保證語(yǔ)音數(shù)據(jù)的質(zhì)量及傳輸效率,數(shù)據(jù)區(qū)域的長(zhǎng)度應(yīng)適當(dāng)選擇,不宜過大或過小。

3 IP電話的呼叫過程

  整個(gè)IP電話的呼叫流程可分為3部分:連接階段、通話階段、拆線階段。

(1)建立連接階段

  在空閑狀態(tài)下,CPU一直循環(huán)檢測(cè)是否有摘機(jī)或其它用戶呼入的信號(hào)。用戶摘機(jī)時(shí), CPU檢測(cè)到摘機(jī)信號(hào),就發(fā)送撥號(hào)音給用戶并準(zhǔn)備接收用戶所撥的電話號(hào)碼。待號(hào)碼收齊后,CPU給服務(wù)器發(fā)送ARP請(qǐng)求,收到服務(wù)器的應(yīng)答后再發(fā)送ICMP請(qǐng)求,從服務(wù)器的ICMP應(yīng)答中獲取對(duì)端的IP地址及物理地址,然后開始發(fā)起呼叫。通過ICMP包送到Ethernet,等待被叫用戶回應(yīng),如果等待一段時(shí)間,用戶未回應(yīng),說明用戶不在或線路故障,給用戶送忙音;如果被叫用戶回應(yīng),就給話筒送回鈴音,同時(shí)被叫用戶一方振鈴;若被叫久不摘機(jī),被叫停止振鈴,并發(fā)ICMP消息給主叫用戶拆線,主叫用戶收到此消息,送忙音,等待主叫用戶掛機(jī);如果被叫用戶在規(guī)定時(shí)間內(nèi)摘機(jī),則停止送振鈴音,并用ICMP應(yīng)答信號(hào),通知主叫用戶,被叫已應(yīng)答,主叫用戶收到此消息,停止送鈴音,通話開始。

(2)通話階段

  進(jìn)入通話階段,主叫用戶就開始發(fā)送話音數(shù)據(jù)的IP包。具體過程如下:首先,將編碼后的語(yǔ)音數(shù)據(jù)進(jìn)行接收,并按照UDP進(jìn)行封裝,再封裝成IP包送往Ethernet;同時(shí),將Ethernet Card接收到的語(yǔ)音IP包進(jìn)行拆包,并按一定節(jié)拍將解封語(yǔ)音數(shù)據(jù)進(jìn)行解碼,從而將被叫用戶的話音送到聽筒,將話筒的話音送到被叫方。被叫用戶在通話階段與主叫用戶通話階段所處理的過程完全相同。

(3)拆線階段

  當(dāng)雙方通話階段結(jié)束時(shí),如果主叫先掛機(jī),CPU檢測(cè)了掛機(jī)信號(hào),就經(jīng)被叫方送拆線信號(hào)ICMP。被叫方收到此拆線信號(hào),就給被叫方送忙音,提醒被叫方掛機(jī)。如果被叫方掛機(jī),就經(jīng)主叫方送1個(gè)釋放應(yīng)答信號(hào),并停止送忙音,這次通話就宣告結(jié)束。相反地,如果被叫方先掛機(jī),其處理過程與上面是相同的。1次通話過程結(jié)束后,雙方進(jìn)入空閑狀態(tài),CPU再進(jìn)行循環(huán)檢測(cè)是否有摘機(jī)以及其它用戶呼入的信號(hào),然后重復(fù)上面的處理過程。

結(jié)束語(yǔ)

  本設(shè)計(jì)方案將傳統(tǒng)電話的實(shí)現(xiàn)方式與網(wǎng)絡(luò)結(jié)合起來(lái),在遵守TCP/IP基本協(xié)議的基礎(chǔ)上,通過對(duì)其進(jìn)行簡(jiǎn)化,在局域網(wǎng)內(nèi)簡(jiǎn)單地實(shí)現(xiàn)IP電話,成本較低。同時(shí),還存在一些缺陷,如時(shí)延、數(shù)據(jù)的丟失及互連互通等問題,這些都影響了話音的傳輸質(zhì)量和電話的推廣。不過可以通過增設(shè)網(wǎng)關(guān)來(lái)實(shí)現(xiàn)IP電話的互連互通性,拓寬網(wǎng)絡(luò)的帶寬可以減少網(wǎng)絡(luò)的時(shí)延等,并且隨著網(wǎng)絡(luò)技術(shù)及其它電子技術(shù)的發(fā)展,這些問題必將迎刃而解!

  • 上一篇: 單信道用戶線接口電路
  • 下一篇: TINI的硬件結(jié)構(gòu)和軟件環(huán)境
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1