繼上一篇freepbx的基礎配置之后,我們這里要研究的是一個相對比較實用的中繼的配置和使用,可以說,SIP中繼,核心是中繼的理解,若不理解這個,估計很簡單的一個中繼配置和使用,會讓人很頭疼,也整不出來效果。
freepbx的環境信息,可以參考我上一篇博客:VoIP語音通話研究【進階篇(一):freepbx的first call】
這里要記錄的內容,其實相對很簡單,為何是相對呢,要是沒有足夠多的對中繼的理解,是很難弄清楚如何配置的,因為在freepbx里面,配置相對還是比較細的,同時也體現了freepbx在中繼方面的功能還是比較強大的。因為,他除了要配置SIP trunk,還分了inbound route和outbound route的內容。
為何要專門寫一篇博文介紹freepbx的SIP中繼呢?其實在實際的pbx的應用中,中繼是非常常見的技術應用。
就拿一個集團化的企業來說,在全國乃至全球有很多分公司或者子公司,公司之間的員工通信,就是一個擺在眼前的問題。不能將所有的員工都集中在一個聯系人池子里面,這樣,對PBX的要求就非常高了,分機注冊的壓力就比較大,集中度過高,相對而言,浪費就尤為突出。也不是很利於各公司的差異化管理。
於是,就有了各個子公司自己的PBX系統,公司內部的員工之間通信,可以在同一個PBX系統內完成,不同的公司之間的通信,其實就涉及到了PBX之間的通信,這里,就引出了今天的話題,中繼,因為我們是在freepbx下研究中繼,所以,SIP中繼,即SIP Trunk,就是今天的正題。
企業內部通信,通常都是基於SIP的電話,各個電話機之間都是通過SIP協議,注冊諸多的分機。分機還可以向外部的手機或者座機打電話,當然,前提是公司的IPPBX對接了運營商的中繼線路服務,完成IP到PSTN的轉網,實現語音互通。
企業也可以與運營商的SIP服務進行對接,實現誇SIP網絡的通信,這里,就涉及到了今天的話題,及SIP服務與SIP服務之間的通信,即SIP Trunk的話題。
這里的Trunk,直面意思,就是枝干,或者干線,表示兩個不同的SIP網絡之間的連接通道。Trunk在配置的時候,有一點是非常值得注意的,那就是配置服務點的地址。因為站在當前的服務配置點,要想建立一個Trunk,就必須知道對端服務節點的IP和端口。Trunk是連接兩個端點的通道,在配置的時候,在任何一個端點配置Trunk,只需要將另一端的地址配置上,即IP和端口。
除了IP和端口之外,通常還有一些和應用相關的額外信息配置,依據需要選擇配置即可。
下面,就具體以兩個freepbx之間建立SIP trunk,介紹freepbx上建立SIP trunk是怎么回事。
Freepbx1: 192.168.38.129,下面簡稱pbx129
Freepbx2: 192.168.38.130,下面簡稱pbx130
分別在pbx129和pbx130上進行配置,涉及到進線路由出線路由,分別會有截圖說明。
(一)首先配置pbx129
1)選擇“通信接口連接”-》“中繼”
2)General頁簽內,參照指示配置中繼名,其他可以不管
3)在“號碼變換路由規則”頁簽,配置撥號模式向導,“匹配模式”里面填入“X.”,表示匹配所有的來電號碼。
4)最為重要的配置項,“SIP服務器”填寫對端的IP,即pbx130的IP:192.168.38.130. “SIP Server Port”里面,填寫pbx130的對外SIP服務端口:5060. 其他項的內容,就采用默認的配置。
5)配置進線路由,即“通信接口連接”-》“入局線路”
6)參照圖,做了一些簡單的配置,核心是,當pbx130來的呼叫,在pbx129上找不到目的地的處理規則,這里指向了分機20001,意思是說,任何不存在的被撥打號碼,最終都會轉到分機20001來接話。其他的頁簽內容,可以不用配置,采用默認項。
7)出局路由配置,參考“入局線路”的菜單位置,在出局線路配置里,參考下圖,填寫相關信息,重點是圖中序號2的配置,另外,若出局擁塞了,還可以選擇備用的出局中繼,參考序號3和4
8) 配置出局號碼匹配規則,參考下圖,這里是匹配所有的號碼,填寫“X.”
到此,在pbx129端的所有的配置都已經完成。
(二) 配置PBX130
9) 配置中繼,命名為“TO129”,表示是對接pbx129的中繼,其他采用默認信息。
10) 配置“號碼變換路由規則”,這里依然是可以匹配所有的號碼,參照圖,填入“X.”
11) 配置“pjsip設置”頁簽的內容,是中繼配置中最為重要的內容。“SIP服務器”項填入pbx129的地址:192.168.38.129,“SIP Server Port”項填入端口5060.其他的內容,采用默認項即可。
12) 配置“入局線路”,重點還是下圖中的2和3配置項(當從129來的呼叫,在本交換系統內若找不到目標地址,就將其轉到30001分機進行接聽,這個分機必須要在線咯,否則,當然也是無法接聽的),若不考慮這些無目的的號碼的情況,入局線路其實是可以不需要配置的。Pbx129上也是如此。
13) 配置“出局線路”,這里重點是要配置“匹配中繼順序”中的內容,選擇剛剛創建的中繼“TO129”。
14) 配置出局線路撥號規則,同樣是將所有的號碼都撥出去,填入“X.”,當然,也可以依據需求,這個規則可以調整業務所需的。
到此,pbx130的配置全部結束。
(三)配置驗證
依據上面的配置,我們實現的效果是在pbx129上撥打電話,本交換系統不存在的分機都會被轉到pbx130上;在pbx130上撥打電話,本交換系統不存在的分機都會被轉到pbx129上。下面可以驗證。
在pbx129上創建分機20001,20002,在pbx130上創建分機30001,30002
Pbx129上endpoints內容:執行下面pjsip show endpoints
Pbx130上endpoints內容:執行下面pjsip show endpoints
正常的撥打電話,從pbx129的20001撥打到pbx130的30002:
正常的撥打電話,從pbx129的20001撥打50000(5000是不存在的號,注意,當前系統只有20001,20002和30001,30002)這個號,在pbx130上依然能收到20001的來電(被30001接聽了):
到這里,所有的關於pbx129向pbx130的SIP Trunk的配置和驗證都完成了,細心的博友可能會問,從pbx130向pbx129撥打電話會如何?其實是一樣的,這里是對等的配置。在當前pbx系統內若能找到目標分機號,就由當前pbx處理呼叫,若當前pbx內找不到目標分機號,則路由到SIP Trunk對端的pbx系統進行處理,Trunk的邏輯是不是非常簡單的就理解了。
歡迎轉帖,轉發需要注明出處,謝謝,版權所有,違者必究!