您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > Asterisk权威指南(第3版)中文第07章外线连接
《Asterisk权威指南》,第七章 外线连接 译者: Steele,2011‐12‐26 Asterisk On MIPS论坛,‐mips.org 1 第七章 外线连接 目录 7.1 干线(Trunking)基础 ................................................................................................. 2 7.2 用于外线连接的基本Dialplan ..................................................................................... 3 7.3 PSTN线路 ..................................................................................................................... 4 7.3.1 传统PSTN干线 ................................................................................................ 4 7.3.2 安装PSTN干线(PSTN Trunks) ..................................................................... 6 7.4 VoIP ............................................................................................................................. 13 7.4.1 PSTN终结(termination) ............................................................................ 13 7.4.2 PSTN再生 ....................................................................................................... 14 7.4.3 VoIP to VoIP ..................................................................................................... 15 7.4.4 配置VoIP干线(VoIP Trunks) ..................................................................... 16 7.5 结论 ............................................................................................................................. 22 《Asterisk权威指南》,第七章 外线连接 译者: Steele,2011‐12‐26 Asterisk On MIPS论坛,‐mips.org 2 在之前的章节里,我们已经介绍了很多重要知识,这些知识是对于使Asterisk系统能正产工作是必不可少的。然而,我们还没有完成一件对于任何PBX都必不可少的事情:即,将Asterisk与外部世界连接起来。在本章中,我们即来讨论这件工作。 之所以说Asterisk的软件架构具有重要意义,很大程度上是由于这样一个事实,Asterisk平等的对待每一个channel。这一点完全不同于传统PBX,在传统PBX中,外线(用于连接外部世界)和分机(用于连接内部用户和资源)是完全不同的。事实上,Asterisk dialplan用相似的方法处理所有channel,这意味着你可以在Asterisk系统中非常容易的实现一些在传统PBX非常难以实现(或不可能实现)的工作。 然而,这种灵活性也是有代价的。由于系统并不会固有的知道内部资源(例如一部内线分机)和外部资源(例如,一个电信线路)的不同,Asterisk系统需要你来保证你的dialplan恰当的处理了每种类型的资源。 7.1干线(Trunking)基础 干线(Trunking)的目的是在两个实体间提供一个共享连接。举例来说,公路干线是把两个镇子连接起来的高速公路。铁路上广泛的使用术语“干线(trunk)”,来指代那些将支线铁路连接到一起的主要线路。 同样地,在电信领域,干线用于将两个系统连接起来。电信运营商利用通讯干线把他们的网络连接到一起,而对PBX来说,将PBX与外部世界连接起来的线路一般就被称作干线(尽管电信运营商一般不会认为这些是干线)。从技术的观点看,PBX干线的定义并不像其它例子那么清晰(PBX干线使用了与终端线路完全不同的技术),但作为一个概念,干线仍然是非常重要的。举例来说,在VoIP系统中,一切通讯实际上是点对点的(所以从技术的观点看,并不真实的存在干线),但是这个概念仍然是有用的,它可以帮助我们区分连接到外部世界的VoIP资源和连接到用户分机(例如一部SIP电话机)的VoIP资源。 大概最容易的理解方式是把干线理解为一组提供外线路由的线路集合。所以,在Asterisk PBX中,你可能有VoIP服务商提供长途呼叫的干线,有连接PSTN线路的干线,以及将你的不同地点的办公室连接在一起的干线。这些干线可能实际上是通过同一个网络连接,但在你的dialplan中,你可以用完全不同的方法处理它们。 尽管我们相信VoIP最终将完全取代PSTN,许多VoIP线路使用的概念(例如电话号码)继续存在更多是由于历史原因而不是技术需求,但是我们认为,在我们完全进入VoIP时代前,讨论一下在Asterisk中如何使用传统PSTN线路还是非常有用的。 如果你的Asterisk系统计划只使用VoIP线路,那也没问题,请直接阅读本章的VoIP部分,我们会告诉你应当怎么做。不过我们强烈建议阅读PSTN部分,因为其中包含了很多有用的基础知识,虽然这些并不是理解和使用Asterisk所必须的。 《Asterisk权威指南》,第七章 外线连接 译者: Steele,2011‐12‐26 Asterisk On MIPS论坛,‐mips.org 3 7.2用于外线连接的基本Dialplan 在传统PBX中,访问外线一般都需要通过拨打一个号码前缀来实现注1。我们一般用数字9作为这个前缀。 在Asterisk中,同样可以指定9作为外线路由前缀,但是由于Asterisk dialplan要智能的多,完全没有必要强制用户在呼叫外线前加拨9。典型地,你会为你的系统配置一个分机范围(如100-199),以及一个feature code范围(*00到*99)。任何这个范围之外的,匹配了你设定的国家码和区域码的呼叫,都会被视为外线呼叫。 如果你通过一个电信运营商提供全部的外线资源,你可以通过几条简单的样式匹配处理外线呼叫。本节提供的例子是针对NANP(North American Numbering Plan)的。如果你的国家不在NANP中(NANP服务于加拿大,美国,以及几个加勒比海国家),你可能会需要不同的样式匹配。 在 [globals] 部分中包含两个变量,叫做 LOCAL 和 TOLL 注2。这些变量的目的是当你需要更换电信运营商时简化你的dialplan管理。它们允许你只修改dialplan的一个地方,但会对所有引用这个channel的地方生效: [globals] LOCAL=DAHDI/Go ; assuming you have a PSTN card in your system TOLL=SIP/YourVoipCarrier ; as defined in sip.conf 在 [external] 部分中包含实际的dialplan代码,这些代码将识别呼叫的号码并将它们传递给 Dial() application注3: [external] exten = _NXXNXXXXXX,1,Dial(${LOCAL}/${EXTEN}) ; NANP的10位号码样式匹配 exten = _NXXXXXX,1,Dial(${LOCAL}/${EXTEN}) ; NANP的7位号码样式匹配 exten = _1NXXNXXXXXX,1, Dial(${LOCAL}/${EXTEN}) ; NANP的长途号码样式匹配 exten = _011.,1, Dial(${TOLL}/${EXTEN}) ; NANP的国际电话号码样式匹配 ; 这部分的功能与上面相同。 ; 这是为了喜欢拨外线前先拨“9”的用户设计的 exten = _9NXXNXXXXXX,1, Dial(${LOCAL}/${EXTEN:1}) exten = _9NXXXXXX,1, Dial(${LOCAL}/${EXTEN:1}) exten = _91NXXNXXXXXX,1, Dial(${LOCAL}/${EXTEN:1}) exten = _9011.,1, Dial(${LOCAL}/${EXTEN:1}) 在任意分机或设备使用的context中,你可以用一个 include= 指令来允许访问 external context: [LocalSets] 《Asterisk权威指南》,第七章 外线连接 译者: Steele,2011‐12‐26 Asterisk On MIPS论坛,‐mips.org 4 include = external 非常重要的一点是,不要在可能处理来电的任何context中包含访问外线 的代码。风险在于仿冒机器人程序将最终获得访问你外线的方法(你将被 这种仿冒机器人程序的常见所吓到)。 我们怎么强调都不过分的是,你一定要保证没有外部资源可以访问你的付 费电话线路。 7.3PSTN线路 公共交换电话网络(PSTN – Public Switched Telephone Network)已经存在超过一个世纪了。它是许多对我们今天有重大影响的技术的先驱,从Internet到MP3播放器。 7.3.1传统PSTN干线 固定电话运营商采用两种技术交付电话线路:模拟的和数字的。 7.3.1.1模拟电话 最初的电话系统完全是模拟的。你通过声音发出的音频信号,被用于产生一种运载到通话的另一端的电讯号。这种电讯号具有与原始声音一样的特性。 模拟线路具有一些与其它你可能想连接到Asterisk的线路所不同的特性: 没有信令通道 —— 大部分信令是
本文标题:Asterisk权威指南(第3版)中文第07章外线连接
链接地址:https://www.777doc.com/doc-3236196 .html