没有合适的资源?快使用搜索试试~ 我知道了~
Dundi-Whitepaper.pdf
需积分: 0 0 下载量 102 浏览量
2010-06-30
00:45:41
上传
评论
收藏 168KB PDF 举报
温馨提示
试读
13页
Dundi-Whitepaper.pdf
资源详情
资源评论
资源推荐
Using DUNDi with a Cluster of Asterisk Servers!
General Description and Scope
DUNDi™ is a peer-to-peer system for locating Internet gateways to telephony services.
Unlike traditional centralized services (such as the remarkably simple and concise
ENUM standard), DUNDi is fully-distributed with no centralized authority whatsoever.
Clustering Asterisk gives us the ability to distribute the load of PBX/Soft Switch
functions across a lot of Asterisk servers in a common infrastructure. This allows the
cluster to look and feel like one huge soft switch. This can also give the soft switch
function built in failover protection and high availability for the SIP Agents.
Put DUNDi and an Asterisk Cluster together and you have the foundation of a core VoIP
switching network that is scalable without the need for statically addressing SIP peers to
a specific registration server then scripting static dial-plan routes to those registration
servers. Dynamic peer location and immediate contact is the goal.
This serves a couple of fundamental needs when designing and building an IP Telephony
network.
1. We design in an environment that is self healing across the core soft switch.
2. We design architecture with scalability and growth in mind, organic growth so
incremental equipment costs are low.
Figure 1 Asterisk Cluster
Functional Requirements
We have to address several individual needs to achieve dynamic peer location and a
method of contacting them directly or indirectly during a PBX failure.
To accomplish dynamic peer location across the cluster, we will first implement a method
whereby an individual PBX is aware when a specific SIP Agent peer has an active
registration on itself. When a SIP Agent registers with a PBX, it is the duty of the local
PBX to let the other PBX’s know where this SIP agent is and how it can be contacted.
We also need the ability for the cluster to share a common pool of SIP Agent registration
information. This will be accomplished through the Asterisk RealTime Architecture
using sip users/peer information pulled from a MySQL Database. This database will be a
stand-alone server for the purpose of this paper but could also be a cluster of servers in a
high availability or load balanced arrangement.
Having a common database where all servers pull the same information eliminates the
need to provision each SIP registration server in the cluster.
For Dynamic Peer Awareness We Use “regcontext” in sip.conf
regcontext=<context>
If regcontext is specified, Asterisk will dynamically create and destroy a NoOp priority 1
extension for a given peer who registers with the server. If the context is not specified in
extensions.conf, then it will be dynamically created when a sip agent registers.
Example:
In the [general] section of sip.conf:
[general]
regcontext=sipregistration
Once the phones, in this example 1001 and 1006 register with REGPBX1, a context of
[sipregistration] appears and the “show dialplan” command at the asterisk CLI> will
produce:
REGPBX1*CLI> show dialplan
[ Context 'sipregistration' created by 'SIP' ]
'1001' => 1. Noop(1001) [SIP]
'1006' => 1. Noop(1006) [SIP]
This gives this PBX a dedicated context that we can map DUNDi lookup request to.
When a DUNDi lookup requests location information for extension 1001, this PBX will
reply, “Yes, the extension is active here and this is the contact address”. When a DUNDi
lookup requests location information for extension 1002, this PBX will reply, “No, that
extension is not active here”.
We do not insert a [sipregistration] context in the extensions.conf file because there is no
need. The PBX dynamically creates the context in the dialplan as soon as 1 sip agent
registers.
As we insert regcontext=sipregistration in the sip.conf file in each registration server, we
begin to see how the cluster, with DUNDi lookups, intuitively knows where SIP Agents
are registered.
DUNDi Lookup Server
With a server in the cluster dedicated to processing DUNDi lookup requests, we
eliminate 2 headaches associated with scaling and growth of the core soft switch
function.
1. When adding a new registration or PSTN gateway server to the cluster, we
just need to insert the new peer information to the DUNDi lookup server
instead of adding the new peers to all the registration servers and PSTN
gateway servers. With a handful of servers, not much of a big deal, but with
50 or more servers, now you have a maintenance event that could span several
hours or over the course of several evenings.
2. As we bring on more trunk access between other markets, say you are turning
up a Dedicated T1 to Lake Charles, LA; you just have to make a
route/translation in the DUNDi lookup server instead of across all of the
registration servers.
DUNDi Configuration:
First we have to setup a channel for internal DUNDi to talk across and also a channel to
pass calls between the PBX’s
In this example we will use IAX2. Now there are many ways to set this up and quite a
few parameters we could specify for security between all the registration servers and
DUNDi lookup server, each having its own context, peer/users relationships and security
keys or passwords. Because this is a cluster, protected from the outside world and only
used to route calls and DUNDi request internally, just use a simple context in iax.conf
that is common to all the servers.
Example in iax.conf:
[priv]
type=friend
剩余12页未读,继续阅读
james_sep
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0