本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,尤其涉及一種利用sip協(xié)議實(shí)現(xiàn)sip-nat的方法。
背景技術(shù):
1、sip是在ip網(wǎng)絡(luò)上進(jìn)行多媒體通信的應(yīng)用層控制協(xié)議,其最大的特點(diǎn)是充分利用已定義的頭域,對(duì)其進(jìn)行簡(jiǎn)單必要的擴(kuò)充就能很方便地支持各項(xiàng)新業(yè)務(wù)和智能業(yè)務(wù),有利于與網(wǎng)絡(luò)的各項(xiàng)應(yīng)用集成開(kāi)發(fā)增值業(yè)務(wù)。sip是通過(guò)“invite”的方法構(gòu)成對(duì)話的,由同一個(gè)源邀請(qǐng)的一個(gè)會(huì)議的所有參加者構(gòu)成一個(gè)呼叫。nat技術(shù)是在ipv4地址日益缺少的環(huán)境下,提出可以節(jié)省ip地址,利用讓內(nèi)部網(wǎng)絡(luò)的多個(gè)設(shè)備使用同一個(gè)公共ip地址的方式,有效的節(jié)省ip地址,讓網(wǎng)絡(luò)管理者節(jié)省購(gòu)買ip地址的成本的技術(shù)。我國(guó)所廣泛發(fā)展的寬帶城域網(wǎng)、企業(yè)網(wǎng)中普遍采用nat。
2、由于nat技術(shù)目前主要應(yīng)用于ip及udp/tcp層,然而sip協(xié)議是基于udp/tcp之上的應(yīng)用層協(xié)議,sip消息頭中有很多對(duì)于路由,接續(xù)sip信令和建立呼叫連接的必不可少的地址信息,這就成為了sip穿透nat的障礙。如若解決sip穿透nat問(wèn)題,會(huì)給sip的大規(guī)模應(yīng)用提供便利,由此sip-nat應(yīng)運(yùn)而生。
3、sip-nat網(wǎng)關(guān)是一種將傳統(tǒng)nat行為應(yīng)用到數(shù)據(jù)部分,按照傳統(tǒng)nat概念和sip協(xié)議規(guī)范將sip消息中豐富的地址信息進(jìn)行nat地址轉(zhuǎn)換,使其達(dá)到正確的目的地,并能被正確接受的網(wǎng)關(guān),它應(yīng)用在私網(wǎng)邊界上。
技術(shù)實(shí)現(xiàn)思路
1、為了解決以上技術(shù)問(wèn)題,本發(fā)明提供了一種利用sip協(xié)議實(shí)現(xiàn)sip-nat的方法,清除sip穿透nat的障礙,給大規(guī)模應(yīng)用sip協(xié)議提供便利,解決sip和nat協(xié)同工作的沖突問(wèn)題。
2、本發(fā)明的技術(shù)方案是:
3、包括sip-nat的snat和dnat地址轉(zhuǎn)換,利用sipproxy擴(kuò)展技術(shù),定義一種新的header參數(shù):rport,對(duì)sip消息進(jìn)行擴(kuò)展。之后利用傳統(tǒng)nat機(jī)制的地址轉(zhuǎn)發(fā)能力,查詢nat地址表,轉(zhuǎn)發(fā)對(duì)應(yīng)的地址和端口,達(dá)成私網(wǎng)軟交換系統(tǒng)和公網(wǎng)軟交換系統(tǒng)的通信目的。
4、進(jìn)一步的,
5、兩種地址轉(zhuǎn)發(fā)方式包括內(nèi)部私網(wǎng)向外部公網(wǎng)發(fā)出請(qǐng)求snat和外部公網(wǎng)向內(nèi)部私網(wǎng)發(fā)出請(qǐng)求dnat。
6、其中snat轉(zhuǎn)發(fā)利用sipproxy擴(kuò)展技術(shù),在user1發(fā)出invite消息時(shí),在via添加rport參數(shù),nat查詢帶有空值的rport消息后插入對(duì)外提供的ip和端口,并修改via中源主機(jī)的ip和端口,從而可以兼容user2可能不支持sipproxy擴(kuò)展功能的情況。再根據(jù)nat表中記錄的源主機(jī)的地址信息,轉(zhuǎn)發(fā)user2的響應(yīng)消息。
7、而dnat轉(zhuǎn)發(fā)是利用初始化時(shí)nat表中記錄的相關(guān)user2的信息,匹配對(duì)應(yīng)user1的ip和端口,從而進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
8、再進(jìn)一步的,
9、snat的消息傳輸過(guò)程中,當(dāng)user1發(fā)送一個(gè)invite消息時(shí),這個(gè)消息到達(dá)sipproxy將其擴(kuò)展,添加rport參數(shù)。
10、當(dāng)消息到達(dá)sip-nat時(shí),進(jìn)行snat轉(zhuǎn)換,nat給他分配一個(gè)新的端口和外部地址,并將此地址插入帶有空值的rport參數(shù)上,同時(shí)修改via域中源發(fā)主機(jī)地址和端口來(lái)兼容不支持sipproxy擴(kuò)展的系統(tǒng)。
11、消息從nat發(fā)出到達(dá)外部公網(wǎng)的user2的sipproxy,user2回復(fù)相應(yīng)消息到達(dá)nat,通過(guò)nat表中的對(duì)應(yīng)項(xiàng),將回復(fù)消息發(fā)往user1。
12、再進(jìn)一步的,
13、dnat的消息傳輸過(guò)程:建立外部sip系統(tǒng)ip地址和端口表,在nat初始化時(shí)裝入內(nèi)存,并隨著注冊(cè)情況的變化隨時(shí)動(dòng)態(tài)更新;
14、當(dāng)有外部呼叫到來(lái)時(shí),dnat轉(zhuǎn)換后進(jìn)行路由選擇,通過(guò)查看sip-nat上的表的匹配結(jié)果,將消息發(fā)往對(duì)應(yīng)主機(jī)。
15、本發(fā)明的有益效果是
16、本發(fā)明有效解決sip和nat的沖突問(wèn)題,sip-nat能夠使sip消息順利穿越網(wǎng)關(guān),可以將私網(wǎng)中的軟交換系統(tǒng)同公網(wǎng)上的軟交換系統(tǒng)進(jìn)行通信,使軟交換系統(tǒng)能夠得到更廣泛的應(yīng)用。
1.一種利用sip協(xié)議實(shí)現(xiàn)sip-nat的方法,其特征在于,
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,
8.根據(jù)權(quán)利要求4所述的方法,其特征在于,