在内部分机之间呼叫和接收电话是一回事,但如果你的不能接收和呼叫外部世界的话,就不是一个真正的电话系统。
为了达到通联外部,你至少需要一个通向外部世界的中继。
本指南仅是给初学Elastix用户理解中继(Trunks) 设置的简单指导。
Points to keep in min(请牢记此点)
小心!!!如果你使用ATA,请你准备你的规则和模式时ATA可以传送给asterisk。如果你想asterisk对应到所有规则,最好确保你的ATA正确传送你呼叫的给Asterisk——从你的ATA删除你的呼叫规则并用(**︱*x.︱xx.)代替。网关呼出和呼入路由配置控制了呼叫通话的方向,所以请预先检查网关或者ATA的呼叫路由。
8.1 呼叫模式是什么?
呼叫模式是外呼(Outbound Routing)的部分,他们作用就象过滤器一样,用中继匹配(match)被呼叫的号码。
你能输入各种模式,类似与他们中的Asterisk的定义:
- X-指任何在0和9之间的数字
- N-指任何在2和9之间的数字
- Z-任何非零的数字(如1至9)
- [Various]-仅匹配一个字符,该字符能匹配在中括号里的任何一个字符(如,[02-68*#]将匹配0,包括任何在2和6之间的数字,8,*和#。或者,以另外一种方式说,这将“匹配*或者#,或不是1、7或9的一个数字”)-避免在你的Trunk Dial Rule中使用这种符合,因为它似乎不能工作,仅在你的Outing Route Dial Patern中使用这个。
- 通配符(wildcard),匹配任何事的任何数字,必须匹配*something*
- 这是让你使用“0向外拨”(或者9,在美国),通过在前面的线路匹配任何东西,但不传送给中继。
8.2 什么是中继
中继是电话服务线路,是电话呼出的通道。如,在你家有的Telstra(澳洲电信)电话线路是一个中继(它能被用作中继,如果不是你希望需要的)。一个VOIP service provider(VSP,VOIP服务提供者)就是你已经使用的,也是一个中继。在中国地区,你可以购买虚拟运营的SIP 中继服务,来呼出。当然有很多是运营商的灰色地带,服务质量不一定得到很好的保证。
为了达到外呼PSTN或者VOIP电话,你必须至少有一条中继。
为什么asterisk的用户有几条中继的原因解释如下:
- 中继(a)为本地通话提供最优的费率,与昂贵的手机相比,并且对国际呼叫不是那么贵。
- 中继(b)对国际呼叫有更好的费率优势
- 中继(c)有好的手机费率,并在其它两个不能工作时将允许1300数字
比如,当你给一个手机打电话,asterisk将引导着你经中继(c),当你呼叫一个本地电话它又引导着到中(a)。类似地,当你进行国际呼叫时,asterisk将引导你经由中继(b)向外呼。
8.3 中继和呼出路由
对缺乏经验的人,Outbound Route Dial Patterns和Trunk Outgoing Dial Rules是两个困惑的区域,我将试图以最简单的词汇解释这点。
这两个中的每一个都以彼此相关联工作——当一个外呼电话时,他们彼此关联。
8.3.1 Outgoing Route Dial Pattern(呼出路由呼叫模式)
当你想要打一个电话时,这种模式是你正常采用的呼叫方式。
例如,如果你住在Brisbane,而你想打电话给一个在Sydney的朋友,你通常的拨的号码是02 91234567,然而如果你那个朋友在Victoria,你将需要拨03 91234567。
因为你的VOIP提供者并不辨别你在哪里打电话或者你要打到哪里去,它需要一个通用型的号码去呼叫,因此,你的呼叫能直接指向正确的接收者。
在许多情形下,VOIP提供者需要拨通用的e164格式,如,6129123456是Sydney,或61391234567是Melbourne的。(61是Australia的代码,2或3是Sydney或Melbourne各自的代码,后面再跟上你朋友的电话号码91234567)。
因为你拨的号码03 91234567,asterisk仅需要传送391234567(不需要前面的0)。因此,在你的Outgoing Route Dial Pattern(外呼路径呼叫模式)(让我们称这种模式为Outgoing Route Domestic国内外呼模式)中,你需要按照下面的方式:
0︱Nxxxxxxxx
这个模式告诉Asterisk仅需传送10个数字中的9z位数,不传送前面的0. 如果你拨的是0291234567,将被传送的数字是291234567. 系统将自动去掉 前缀0.
但是怎样被转换为61291234567的呢?这就需要看Trunk Outgoing Dial Rule。
8.3.2 Trunk Outgoing Dial Rules 中继外拨规则
这就是中继是怎么被要求传送给VSP而成功的呼叫你拨的号码。
用上面的例子来说,假定VOIP服务提供者需要完整的e164格式,Asterisk将需要添加忽略的Australian的代码61.
在你的Trunk Outgoing Dial Rule,你将需要按照下面的模式:
61+NXXXXXXXX
这个规则告诉Asterisk如果通过此中继路由呼出前,在291234567前面添加61.需更多模式,请参见What is a Dial Pattern在前面的章节里。
......
详见: