[導(dǎo)讀]在處理SIP的INVITE請(qǐng)求時(shí),如何區(qū)分它們來自9013端口還是62885端口。
SIP協(xié)議中的INVITE請(qǐng)求是如何攜帶來源端口信息的
在SIP消息中,通常Via頭字段會(huì)記錄請(qǐng)求經(jīng)過的各個(gè)代理的地址和端口。不過,Via頭中的端口可能不是原始發(fā)送端口,而是經(jīng)過NAT或代理后的端口。因此,直接解析Via頭可能不夠準(zhǔn)確。
模擬SIP終端(網(wǎng)關(guān))運(yùn)行在192.168.0.63:9012,而測(cè)試程序(test)在9013端口,MicroSIP使用隨機(jī)端口如62885。需要區(qū)分來自這兩個(gè)端口的INVITE請(qǐng)求,是為了不同的業(yè)務(wù)邏輯處理,比如來自測(cè)試程序的請(qǐng)求需要特殊處理,而來自MicroSIP的請(qǐng)求則按正常流程處理。
如何在Go語言中獲取UDP連接的來源IP和端口
在Go的net包中,當(dāng)使用ReadFromUDP方法讀取數(shù)據(jù)時(shí),會(huì)返回遠(yuǎn)程地址(包括IP和端口),這個(gè)地址是發(fā)送請(qǐng)求的實(shí)際來源地址。因此,在接收INVITE請(qǐng)求時(shí),可以通過檢查這個(gè)遠(yuǎn)程地址的端口來區(qū)分是來自9013還是62885。
接下來,需要驗(yàn)證這一方法的可行性。當(dāng)測(cè)試程序從9013端口發(fā)送INVITE到網(wǎng)關(guān)的9012端口時(shí),網(wǎng)關(guān)在接收時(shí)會(huì)得到來源地址為192.168.0.63:9013。同樣,如果MicroSIP從62885端口發(fā)送請(qǐng)求,網(wǎng)關(guān)會(huì)看到來源端口為62885。因此,通過判斷遠(yuǎn)程地址的端口即可區(qū)分請(qǐng)求來源。在Go中,處理UDP連接時(shí),每次讀取數(shù)據(jù)都會(huì)返回remoteAddr,其中包含IP和端口。因此,在處理每個(gè)INVITE請(qǐng)求時(shí),可以檢查remoteAddr.Port的值,如果是9013,則執(zhí)行特定邏輯;如果是62885,則執(zhí)行另一種邏輯。還需要考慮如何處理其他可能的端口,或者錯(cuò)誤情況。例如,如果收到來自未知端口的INVITE請(qǐng)求,是否需要記錄或拒絕。需要根據(jù)用戶的實(shí)際需求來決定。來自9013的請(qǐng)求需要轉(zhuǎn)發(fā)到MicroSIP,而來自62885的請(qǐng)求可能需要回復(fù)特定的響應(yīng)。
關(guān)鍵步驟:
1. 在接收UDP數(shù)據(jù)時(shí),獲取來源端口。
2. 根據(jù)端口號(hào)(9013或62885)決定處理邏輯。
3. 對(duì)不同來源的請(qǐng)求執(zhí)行不同的操作,如轉(zhuǎn)發(fā)、記錄或響應(yīng)。
核心原理
-
網(wǎng)絡(luò)層信息:當(dāng) SIP 網(wǎng)關(guān)通過 UDP 接收 INVITE 請(qǐng)求時(shí),底層網(wǎng)絡(luò)協(xié)議會(huì)攜帶發(fā)送方的 IP 地址和端口。
-
Go 語言實(shí)現(xiàn):使用 net.UDPConn.ReadFromUDP() 方法讀取數(shù)據(jù)時(shí),會(huì)返回 remoteAddr 對(duì)象,包含發(fā)送端的 IP 和端口。
-
端口判斷:直接檢查 remoteAddr.Port 的值即可區(qū)分來源端口。
欲知詳情,請(qǐng)下載word文檔
下載文檔
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
固定端口的作用包括:確保服務(wù)可達(dá)性、維持NAT和防火墻的映射、保證事務(wù)的正確匹配、遵循協(xié)議規(guī)范。
關(guān)鍵字:
端口
交互
在這篇文章中,小編將對(duì)端口的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對(duì)它的了解程度,和小編一起來閱讀以下內(nèi)容吧。
關(guān)鍵字:
端口
控制端口
端口隔離是為了實(shí)現(xiàn)報(bào)文之間的二層隔離,可以將不同的端口加入不同的VLAN,但會(huì)浪費(fèi)有限的VLAN資源。采用端口隔離特性,可以實(shí)現(xiàn)同一VLAN內(nèi)端口之間的隔離。
關(guān)鍵字:
數(shù)字
端口
隔離?
上海2022年12月24日 /美通社/ -- 近日多名專家預(yù)測(cè)新冠疫情可能在一個(gè)月內(nèi)達(dá)到感染峰值,新冠線上咨詢、問診服務(wù)需求繼續(xù)激增。12月24日,中國平安宣布,以平安健康(港股上市名稱:平安好醫(yī)生)為旗艦的各大免費(fèi)抗疫...
關(guān)鍵字:
防護(hù)
移動(dòng)
端口
醫(yī)療服務(wù)
新竹2022年12月13日 /美通社/ -- MPI Corporation的先進(jìn)半導(dǎo)體測(cè)試部門是半導(dǎo)體射頻測(cè)試解決方案的市場(chǎng)領(lǐng)導(dǎo)者及創(chuàng)新先鋒,該部門演示了無人值守的四端口射頻校準(zhǔn)和量測(cè),由MPI完全集成的射頻校準(zhǔn)和探針...
關(guān)鍵字:
射頻
端口
自動(dòng)校準(zhǔn)
TI
(全球TMT2022年10月31日訊)在第八屆全球超寬帶高峰論壇(UBBF 2022)期間,華為光產(chǎn)品線總裁靳玉志發(fā)表了題為"釋放光纖潛能,邁向F5.5G"的主題演講,深刻闡述了光纖通信技術(shù)在社會(huì)發(fā)展中發(fā)揮的關(guān)鍵作用,...
關(guān)鍵字:
華為
5G
帶寬
端口
北京2022年8月22日 /美通社/ -- 8月19日,在"新新向上 智匯同行"2022年浪潮網(wǎng)絡(luò)合作伙伴大會(huì)上,浪潮網(wǎng)絡(luò)發(fā)布400G云中心網(wǎng)絡(luò)核心交換機(jī)產(chǎn)品——CN12900E,擁有400...
關(guān)鍵字:
交換機(jī)
端口
數(shù)據(jù)中心
(全球TMT2022年8月22日訊)8月19日,在"新新向上 智匯同行"2022年浪潮網(wǎng)絡(luò)合作伙伴大會(huì)上,浪潮網(wǎng)絡(luò)發(fā)布400G云中心網(wǎng)絡(luò)核心交換機(jī)產(chǎn)品——CN12900E,擁有400G算網(wǎng)一體核心超寬端口,適用于云計(jì)算...
關(guān)鍵字:
交換機(jī)
矩陣
端口
(全球TMT2022年8月4日訊)武漢一大學(xué)為采用浪潮網(wǎng)絡(luò)提供的智聯(lián)解決方案對(duì)新校區(qū)實(shí)驗(yàn)室進(jìn)行高規(guī)格建設(shè)。浪潮網(wǎng)絡(luò)通過配置SC9600系列交換機(jī)作為計(jì)算網(wǎng)絡(luò)的核心、以S5560系列交換機(jī)作為接入,為網(wǎng)絡(luò)靶場(chǎng)實(shí)驗(yàn)室、虛擬...
關(guān)鍵字:
數(shù)字化
交換機(jī)
端口
新起點(diǎn)、新征程、新十年、心服務(wù) 廣州2022年6月28日 /美通社/ -- 2022年6月28日,在轉(zhuǎn)場(chǎng)十周年這個(gè)重要日子里,以"新起點(diǎn)、新征程、新十年、心服務(wù)"為主題的云南機(jī)場(chǎng)集團(tuán)會(huì)員體系暨文創(chuàng)設(shè)...
關(guān)鍵字:
大賽
交通運(yùn)輸
OTA
端口
(全球TMT2022年6月27日訊)Stiger Group(Anker、AOC和RAVPower的供應(yīng)商)旗下的快充品牌Kovol將最新的Power Delivery 3.1應(yīng)用到16英寸筆記本電腦設(shè)計(jì)的全新140W...
關(guān)鍵字:
GAN
充電器
OV
端口
上海2022年5月13日 /美通社/ -- 一直以來,以制造業(yè)為主的工業(yè)發(fā)展是社會(huì)經(jīng)濟(jì)的重要基石。在邁向2025"制造強(qiáng)國"的征途中,立邦持續(xù)助力制造業(yè)實(shí)現(xiàn)高質(zhì)量發(fā)展,通過工業(yè)建筑系統(tǒng)化解決...
關(guān)鍵字:
集成
電子電器
端口
數(shù)字化
流量控制(traffic control)在不同的領(lǐng)域有不同的含義。如航空流量控制,網(wǎng)絡(luò)流量控制等。網(wǎng)絡(luò)流量控制(Network traffic control)是利用軟件或硬件方式來實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)流量進(jìn)行控制的一種措施...
關(guān)鍵字:
流量控制
端口
計(jì)算機(jī)網(wǎng)絡(luò)的原理其實(shí)很簡單,但是套上專業(yè)名詞后,那些看不見、摸不著的概念,會(huì)讓人云里霧里。其實(shí)理解了網(wǎng)絡(luò)名詞,再去學(xué)習(xí)網(wǎng)絡(luò),會(huì)感覺像打開了任督二脈,發(fā)現(xiàn)網(wǎng)絡(luò)不過如此。因此,掌握一定數(shù)量的網(wǎng)絡(luò)概念名詞是很有必要的,現(xiàn)在有一...
關(guān)鍵字:
模型
端口
應(yīng)用層
在UDP協(xié)議層次模型中,UDP位于IP層之上。應(yīng)用程序訪問UDP層然后使用IP層傳送數(shù)據(jù)包。
關(guān)鍵字:
UDP
端口
校驗(yàn)值
雙口網(wǎng)絡(luò)(two-port network) 只具有兩個(gè)外接端口的電路,又稱二端口網(wǎng)絡(luò)。
關(guān)鍵字:
雙口網(wǎng)絡(luò)
端口
散射
先說答案:不行。通常,reg[7:0]?mem[1:0]這種寫法是作為內(nèi)部二維寄存器使用的,比如定義一個(gè)1KB的存儲(chǔ)器,可以用reg[7:0]?memory[0:1023],或者reg[7:0]?memory?[1023...
關(guān)鍵字:
端口
輸入輸出
SystemVerilog提供四種不同的實(shí)例之間的通信或連接方式:端口、句柄、全局變量、直接層次引用。?端口是靜態(tài)實(shí)例世界的成員之間的連接,如module和interface實(shí)例。因此,它們可能不會(huì)在動(dòng)態(tài)實(shí)例世界類中使用...
關(guān)鍵字:
全局變量
端口
運(yùn)算放大器(簡稱"運(yùn)放")是具有很高放大倍數(shù)的電路單元。在實(shí)際電路中,通常結(jié)合反饋網(wǎng)絡(luò)共同組成某種功能模塊。它是一種帶有特殊耦合電路及反饋的放大器。其輸出信號(hào)可以是輸入信號(hào)加、減或微分、積分等數(shù)學(xué)運(yùn)算的結(jié)果。 由于早期應(yīng)...
關(guān)鍵字:
放大器
端口
在TCP連接中,客戶端在發(fā)起連接請(qǐng)求前會(huì)先確定一個(gè)客戶端端口,然后用這個(gè)端口去和服務(wù)器端進(jìn)行握手建立連接。那么在Linux上,客戶端的端口到底是如何被確定下來的呢?事實(shí)上很多我們平時(shí)遇到的問題都和這個(gè)端口選擇過程相關(guān),如...
關(guān)鍵字:
TCP
端口