乙個基於h323協議的網守橋接伺服器

2021-04-12 23:22:56 字數 623 閱讀 6788

熟悉h323協議的讀者都清楚,在h323協議中網守間的關係通常為相鄰或上下級關係。相鄰網守間的定位請求都用lrq信令(這麼描述也許不太準確,簡單地說,如果a終端通過網守g1呼叫b終端,而b終端是註冊在另外乙個網守g2上,如果這兩個網守配置成互為信任的網守),那麼 g1將通過lrq請求g2來進行位址轉換工作)。上下級關係一般是乙個網守充當閘道器或終端。而且這必須是上級網守允許的情況下。

筆者開發的這個橋接伺服器的工作情形是這樣:乙個是硬體網守,乙個是聯通寶視通網守伺服器。當時客戶已經有了乙個硬體網守,又有大量的寶視通**卡,寶視通網守不允許網守註冊為閘道器,而且乙個終端(可以理解為乙個**卡/或號碼)只能同時一路通話。為了讓這兩個都用上,筆者採取了如下設計:

採用gnugk作為伺服器原型(這樣就不用去花費大量時間去找或寫h323協議棧了,而且也省略了伺服器的架構編碼,呵呵,比較省事了)。將gnugk中的gkclient類作為乙個終端註冊到寶視通網守(乙個gkclient位乙個終端,那麼n張寶視通卡不就可以有n個gkclient嗎),這樣在呼叫時只需更改呼叫信令的路由和e164及ip位址的轉換就可以了。注意最後要將改伺服器和硬體網守設為相鄰關係。

在實際環境中,通過改寫e164,基本實現了通過自己的網守和橋接伺服器(也可稱為網守)加上寶視通網守實現了voip和pstn的雙向通話。

H 323協議中的網守發現和網守註冊過程

1.網守發現 1 使用的訊息 網守搜尋請求 grq 網守搜尋證實 gcf 網守搜尋拒絕 grj 2 過程 終端節點1在lan上傳送乙個網守請求 grq,gatekeeper request 請求訊息被乙個或多個網守進行檢測,若是則網守響應乙個網守確認訊息 gcf,gate keeper confir...

乙個簡易的基於tun tap裝置的協議棧

從上一次準備開坑開幹,到現在初步完成,已經過了乙個半月了,造乙個輪子確實是非常耗時耗力的一件事情,但是不管怎樣,我終究還是做完了,完成了當初的目標,雖然 還有非常多值得改進的地方,但是現在已經不是很著急了,一步一步慢慢來吧,接下來的一段時間裡,我會將這個協議棧背後涉及到的一些知識貼成博文,但是我不會...

用C 設計乙個基於UDP協議的簡單網路聊天器

用c 設計乙個基於udp協議的簡單網路聊天器 不多說廢話,這是乙個簡單的基於udp協議的組播群聊器 介面如下 原始檔見附件 using system using system.collections.generic using system.componentmodel using system.d...