在內部分機之間呼叫和接收電話(huà)是一回事,但如果你的不能接收和呼叫外部世界的話(huà),就不是一個(gè)真正的電話(huà)系統。
為了達到通聯(lián)外部,你至少需要一個(gè)通向外部世界的中繼。
本指南僅是給初學(xué)Elastix用戶(hù)理解中繼(Trunks) 設置的簡(jiǎn)單指導。
Points to keep in min(請牢記此點(diǎn))
小心!!!如果你使用ATA,請你準備你的規則和模式時(shí)ATA可以傳送給asterisk。如果你想asterisk對應到所有規則,最好確保你的ATA正確傳送你呼叫的給Asterisk——從你的ATA刪除你的呼叫規則并用(**︱*x.︱xx.)代替。網(wǎng)關(guān)呼出和呼入路由配置控制了呼叫通話(huà)的方向,所以請預先檢查網(wǎng)關(guān)或者ATA的呼叫路由。
8.1 呼叫模式是什么?
呼叫模式是外呼(Outbound Routing)的部分,他們作用就象過(guò)濾器一樣,用中繼匹配(match)被呼叫的號碼。
你能輸入各種模式,類(lèi)似與他們中的Asterisk的定義:
- X-指任何在0和9之間的數字
- N-指任何在2和9之間的數字
- Z-任何非零的數字(如1至9)
- [Various]-僅匹配一個(gè)字符,該字符能匹配在中括號里的任何一個(gè)字符(如,[02-68*#]將匹配0,包括任何在2和6之間的數字,8,*和#。或者,以另外一種方式說(shuō),這將“匹配*或者#,或不是1、7或9的一個(gè)數字”)-避免在你的Trunk Dial Rule中使用這種符合,因為它似乎不能工作,僅在你的Outing Route Dial Patern中使用這個(gè)。
- 通配符(wildcard),匹配任何事的任何數字,必須匹配*something*
- 這是讓你使用“0向外撥”(或者9,在美國),通過(guò)在前面的線(xiàn)路匹配任何東西,但不傳送給中繼。
8.2 什么是中繼
中繼是電話(huà)服務(wù)線(xiàn)路,是電話(huà)呼出的通道。如,在你家有的Telstra(澳洲電信)電話(huà)線(xiàn)路是一個(gè)中繼(它能被用作中繼,如果不是你希望需要的)。一個(gè)VOIP service provider(VSP,VOIP服務(wù)提供者)就是你已經(jīng)使用的,也是一個(gè)中繼。在中國地區,你可以購買(mǎi)虛擬運營(yíng)的SIP 中繼服務(wù),來(lái)呼出。當然有很多是運營(yíng)商的灰色地帶,服務(wù)質(zhì)量不一定得到很好的保證。
為了達到外呼PSTN或者VOIP電話(huà),你必須至少有一條中繼。
為什么asterisk的用戶(hù)有幾條中繼的原因解釋如下:
- 中繼(a)為本地通話(huà)提供最優(yōu)的費率,與昂貴的手機相比,并且對國際呼叫不是那么貴。
- 中繼(b)對國際呼叫有更好的費率優(yōu)勢
- 中繼(c)有好的手機費率,并在其它兩個(gè)不能工作時(shí)將允許1300數字
比如,當你給一個(gè)手機打電話(huà),asterisk將引導著(zhù)你經(jīng)中繼(c),當你呼叫一個(gè)本地電話(huà)它又引導著(zhù)到中(a)。類(lèi)似地,當你進(jìn)行國際呼叫時(shí),asterisk將引導你經(jīng)由中繼(b)向外呼。
8.3 中繼和呼出路由
對缺乏經(jīng)驗的人,Outbound Route Dial Patterns和Trunk Outgoing Dial Rules是兩個(gè)困惑的區域,我將試圖以最簡(jiǎn)單的詞匯解釋這點(diǎn)。
這兩個(gè)中的每一個(gè)都以彼此相關(guān)聯(lián)工作——當一個(gè)外呼電話(huà)時(shí),他們彼此關(guān)聯(lián)。
8.3.1 Outgoing Route Dial Pattern(呼出路由呼叫模式)
當你想要打一個(gè)電話(huà)時(shí),這種模式是你正常采用的呼叫方式。
例如,如果你住在Brisbane,而你想打電話(huà)給一個(gè)在Sydney的朋友,你通常的撥的號碼是02 91234567,然而如果你那個(gè)朋友在Victoria,你將需要撥03 91234567。
因為你的VOIP提供者并不辨別你在哪里打電話(huà)或者你要打到哪里去,它需要一個(gè)通用型的號碼去呼叫,因此,你的呼叫能直接指向正確的接收者。
在許多情形下,VOIP提供者需要撥通用的e164格式,如,6129123456是Sydney,或61391234567是Melbourne的。(61是Australia的代碼,2或3是Sydney或Melbourne各自的代碼,后面再跟上你朋友的電話(huà)號碼91234567)。
因為你撥的號碼03 91234567,asterisk僅需要傳送391234567(不需要前面的0)。因此,在你的Outgoing Route Dial Pattern(外呼路徑呼叫模式)(讓我們稱(chēng)這種模式為Outgoing Route Domestic國內外呼模式)中,你需要按照下面的方式:
0︱Nxxxxxxxx
這個(gè)模式告訴Asterisk僅需傳送10個(gè)數字中的9z位數,不傳送前面的0. 如果你撥的是0291234567,將被傳送的數字是291234567. 系統將自動(dòng)去掉 前綴0.
但是怎樣被轉換為61291234567的呢?這就需要看Trunk Outgoing Dial Rule。
8.3.2 Trunk Outgoing Dial Rules 中繼外撥規則
這就是中繼是怎么被要求傳送給VSP而成功的呼叫你撥的號碼。
用上面的例子來(lái)說(shuō),假定VOIP服務(wù)提供者需要完整的e164格式,Asterisk將需要添加忽略的Australian的代碼61.
在你的Trunk Outgoing Dial Rule,你將需要按照下面的模式:
61+NXXXXXXXX
這個(gè)規則告訴Asterisk如果通過(guò)此中繼路由呼出前,在291234567前面添加61.需更多模式,請參見(jiàn)What is a Dial Pattern在前面的章節里。
......
詳見(jiàn):