中文字幕无码久久精品,13—14同岁无码A片,99热门精品一区二区三区无码,菠萝菠萝蜜在线观看视频高清1

 首頁(yè) > 新聞 > 專(zhuān)家觀點(diǎn) >

《FreeSWITCH: VoIP實(shí)戰(zhàn)》:多臺(tái)FreeSWITCH 服務(wù)器級(jí)聯(lián)

2013-01-23 16:40:16   作者:杜金房   來(lái)源:FreeSWITCH    評(píng)論:0  點(diǎn)擊:


  其實(shí),只要你吃透了前些章節(jié)的內(nèi)容,做 FreeSWITCH 級(jí)聯(lián)是沒(méi)有任何問(wèn)題的。但這個(gè)問(wèn)題還常常被眾網(wǎng)友問(wèn)到,我就索性再寫(xiě)一篇。

  雙機(jī)級(jí)聯(lián)

  假設(shè)你有兩臺(tái) FreeSWITCH 機(jī)器, 分別為A和B,同樣IP分別為 192.168.1.A 和 192.168.1.B。每臺(tái)機(jī)器均為默認(rèn)配置,也就是說(shuō)在每臺(tái)機(jī)器上 1000 ~ 1019 這 20 個(gè)號(hào)碼可以互打電話。位于同一機(jī)器上的用戶(hù)稱(chēng)為“網(wǎng)內(nèi)用戶(hù)”,如果需要與其它機(jī)器上的用戶(hù)通信,則其它機(jī)器上的用戶(hù)就稱(chēng)為“網(wǎng)外用戶(hù)”。

  現(xiàn)在你需要在兩臺(tái)機(jī)器之間的用戶(hù)互撥,因此你想了一種撥號(hào)方案。如果A1000想撥打B1000,則B1000相對(duì)于A1000來(lái)說(shuō)就是“網(wǎng)外用戶(hù)”。就一般的企業(yè)PBX而言,一般撥打外網(wǎng)用戶(hù)就需要加一個(gè)特殊的號(hào)碼,比方說(shuō)“0”。這樣,“0”就稱(chēng)為“出局字冠。

  好了,我們規(guī)定,不管是A用戶(hù)還是B上的用戶(hù),撥打外網(wǎng)用戶(hù)均需要加0. 下面我們僅配置A打B,把B打A的情況留給讀者練習(xí)。

在A機(jī)上,把以下 dialplan 片斷加到 default.xml 中:

<action application="bridge" data="sofia/external/sip:$1@192.168.1.B:5080"/>

  其中,expression= 后面的正則表示式表示匹配以0開(kāi)頭的號(hào)碼,“吃”掉0后,把剩下的號(hào)碼送到B機(jī)的5080端口上。

  所以,如果用戶(hù)1000在A上撥 01000,將會(huì)發(fā)送 INVITE sip:1000@192.168.1.B:5080 到B上。B收到后,由于5080端口默認(rèn)走public dialplan,所以查找 public.xml,找到1000后將電話最終接續(xù)到B機(jī)的1000用戶(hù)。

  除了SIP外,我還在兩臺(tái)機(jī)器上分別加了兩塊E1板卡,中間用交叉線直連,這樣的話,我希望撥9開(kāi)頭就走E1到對(duì)端,設(shè)置如下:

<action application="bridge" data="freetdm/1/a/$1"/>


匯接模式
                             |  匯接局  X |
                            /      |       \
                           /       |        \
                         A         B         C

  其實(shí)你搞定了第一種模式以后,這種匯接模式也就很簡(jiǎn)單了。無(wú)非你需要?jiǎng)右粍?dòng)腦子做一下?lián)芴?hào)計(jì)劃,比方說(shuō)到A撥0,B撥1,到C撥2之類(lèi)的。然后在匯接局配置相關(guān)的 dialplan 就OK了。

  遇到 dialplan 的問(wèn)題還是再看一下第八章,還是那句話,使用 F8 打開(kāi)詳細(xì)的 LOG,打一個(gè)電話,從綠色的行開(kāi)始看。

  安全性

  上面的方法只使用5080端口從 public dialplan 做互通,而發(fā)送到5080端口的INVITE是不需要鑒權(quán)的,這意味著,你任何人均可以向它發(fā)送INVITE從而按你設(shè)定的路由規(guī)則打電話。這在第一種模式下問(wèn)題可能不大,因?yàn)槟愕膒ublic dialplan 僅將外面的來(lái)話路由到本地用戶(hù)。但在匯接局模式下,你可能將一個(gè)來(lái)話再轉(zhuǎn)接到其它外部網(wǎng)關(guān)中去,那你就需要好好考慮一下安全問(wèn)題了,因?yàn)槟憧隙ú幌M澜绲娜硕加媚愕木W(wǎng)關(guān)打免費(fèi)電話。

  一般說(shuō)來(lái),解決這個(gè)問(wèn)題有兩種方式,那就是讓所有來(lái)話都經(jīng)過(guò)認(rèn)證鑒權(quán)后再進(jìn)行路由(本地用戶(hù)發(fā)到5060端口上都是需要鑒權(quán)的)。

考慮雙機(jī)級(jí)聯(lián)的情況,你只需要在A上配置一個(gè)到B的網(wǎng)關(guān)(將下列內(nèi)容存成XML文件放到 conf/sip_profiles/external/b.xml):

    <gateway name="b">
            <param name="realm" value="192.168.1.B"/>
            <param name="username" value="1000"/>
            <param name="password" value="1234"/>
    </gateway>

同時(shí)把A上的 dialplan 改成:

<action application="bridge" data="sofia/gateway/b/$1"/>

  這樣,A上的用戶(hù)可以呼通所有B上的用戶(hù),從B的用戶(hù)來(lái)看,好像所有電話都是從本機(jī)的1000這個(gè)用戶(hù)打進(jìn)來(lái)的(這就是網(wǎng)關(guān)的概念,因?yàn)閷?duì)于B來(lái)說(shuō),A機(jī)就相當(dāng)于一個(gè)普通的SIP用戶(hù)1000。當(dāng)然你從A上理解,B就是給你提供了一條SIP中繼,如果在B上解決了“主叫號(hào)碼透?jìng)?rdquo;以后,B就相法于一條真正的中繼了)。如果這么說(shuō)理解有難度的話,想像一下B是聯(lián)通或電信的服務(wù)器網(wǎng)關(guān),你是不能控制的,而它只給了你一個(gè)網(wǎng)關(guān)的IP,用戶(hù)名,和密碼,你把它配到你的A上,就可以呼通電信能呼通的任何固定電話或手機(jī)了。

分享到: 收藏

專(zhuān)題