[Asterisk-Users] Feedback from VON expo! Info on * HA and
Polycomphone!!
Douglas Garstang
dgarstang at oneeighty.com
Thu Mar 16 20:39:12 MST 2006
I spent some time today working on HA option number 1. I don't know if I'd really call it HA, given that the phones need to have a high registration frequency to get around a server failing. How often do you have the phones re-register? Once a minute? Imagine that multiplied by thousands of phones, and even that's too high. A downtown of 60s isn't acceptable.
You really need to have a) registrations replicated between all Asterisk servers, or b) a SIP Realtime working to a central db (replicated or clustered of course), although we can skip that because SIP realtime doesn't work in that configuration.
We're using BLF too. With this model, no BLF. When the phone sends a SUBSCRIBE message, if it's using SRV, the SUBSCRIBE message could go to any Asterisk server. Another Asterisk system starts/ends a call, and that Asterisk box wouldn't have a copy of the SUBSCRIBE.
Also.. the SIP MESSAGE message... for instant messaging.... Asterisk doesn't support it... won't even process it.
Doug.
-----Original Message-----
From: Gabriel Afana [mailto:asterisk at gafana.com]
Sent: Thu 3/16/2006 1:38 AM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Cc:
Subject: [Asterisk-Users] Feedback from VON expo! Info on * HA and Polycomphone!!
Hey group,
I just got back from the VON expo. It was insane....there were so many
companies there. The #1 thing ***EVERY*** company focused on was
"convergance" - getting all your communication devices to intergrate with
eachother. There were some nifty products out there that did some cool
stuff :-)
Of course Digium/Asterisk was there and I had a list of questions for
them. I went by several times asking more and more questions...by the last
visit, these guys were running from me because I was driving them nuts :-)
Here are all the questions I asked them (this is not word for word...just a
summary):
Q: What are the plans for HA?
A: With a configuration using DNS-SRV and DUNDi, you can create a
pretty resiliant setup now.
Q: What about failover without losing a call
A: IBM has been able to make asterisk do this. However, at this time
we are not working on any solution to offer this as part of the program.
Q: Do you plan on offering support for other distros for Asterisk
Business Edition?
A: [uncertain answer] Not really sure...maybe SuSE...not sure
Q: When is asterisk going to fully support video?
A: Asterisk can complety support video using H.261, H.263 and we
recently added support for H.264
Q: What do you recommend as the best solution for HA?
I got two different answers for this from two different people there.
Both made good sense and are basically what everyone is doing now. Here
both approaces are in a nut-shell:
Approach 1 (seemed to be the preferred method): Use DNS-SRV lookups for
all registrations. This will distribute the calls among the * servers.
Next, you configure your servers using regexten and DUNDi. You use regexten
to dynamically create the "exten => 1234,1,NoOp" when a phone registers with
that server. Then when a call comes in, you use DUNDi to try to complete
the call locally. If the phone is not registered to that server, then do a
DUNDi lookup to find the server that the phone is registered to and then
pass the call over IAX to that server to take it to the phone. Of course
the phones will need to have a short registration expiration so they update
frequently because if the server they are registered to crashes, until it
re-registered, no server can access it. But by doing this, the phone will
re-register to another server and then the next DUNDi lookup will then go to
this new server. I asked about the load of having many phones registering
frequently and he said it is no big deal at all. He also said it was very
important to make sure cache is disabled in DUNDi!!! Each call that is made
should result in a new query. This will ensure the calls are not getting
old cached info which may no longer be accurate.
Approach 2: Use a SER box to handle all registrations. The SER box will
take care of distributing the load between the * boxes. You do not use
DUNDi or regexten in this case. Just let each * box function on its own.
If one of the servers fails, SER will not use it to terminate calls. Sinces
the phones are registering to SER, and all incoming calls will be routed to
SER, you do not need to worry much about the * boxes. You just need to make
sure you have your SER boxes in a cluster to fail-over in the event of
failure.
Overall theme of the Asterisk stand: selling third-party products. In
the there section, Digium had 10 seperate vendors that have teamed with them
to sell special programs/products/services that intergrate with Asterisk.
One was a call-center program, another was a resellers package, another delt
with firewalls and NAT, another for voice recognition, another was Intel
(that has partnered with Digium to offer drivers in the ABE for the intel
cards), another was some email, fax, chat, presence, etc. kind of box that
sits in front of * to combine all these services....and some others I dont
remember. It felt like I was walking into an infomercial!
I also spoke with Polycom guys a great deal and asked many questions:
Q: Do you plan on offering 10/100/1000 ports on the phones?
A: Yes, in the near future
Q: Do you plan on offering a standard phone jack for failover purposes?
A: No, we have no talks of this. However, I will take this idea to the
production development team.
Q: What is the "services" button ever used for?
A: This is only operable in the 601 and is used to launch the XML
browser. We have partned with many companies to offer you sports, weather,
stock, movie ticket info...etc that can be fed directly to the phones
screen.
Q: What the deal with the limit on the number of people you can monitor
for presence?
A: There is no limit in the phone. This is an Asterisk limitation.
Q: How can you get the name of the person you are calling to appear on
the phone instead of their extension? (they had a demo of their phones there
and they were doing this!!!)
A: You enter the information into the phone book directly via the XML
script loaded from the bootserver. Since all the phones will use the same
bootserver to fetch the XML script, they will all have each others extension
numbers and associated names. When you call another extension, their name
will then appear.
Q: When the phone is unable to make a call through the primary server
and it redirects to the secondary server, does it just make the call or does
it also register with the secondary server?
A: No, it will not register with the secondary server automatically.
This is done on purpose to help reduce unneccessary registrations.
Q: Whats the best way to program the phone to handle failover?
A: Use a DNS-SRV address for the primary server. When the phone
queries the DNS server, it will receive a list of all the possible servers
to send the call to. The phone will try to register to the first server; if
this fails, it will go to the second server...and so on through the list
until it can register. Once it is registered with a server, if that server
fails (or the phone is unable to reach that exact server for some reason),
the phone will *not* go to the secondary server!!! The results of the DNS
lookup are saved on the phone so if the call doesn't go through to the
server its registered with, it will recall the saved list of servers
available and go through that list. Because of this, there is no need to go
to the secondary server section since it will simply loop through all the
servers it received during the DNS-SRV lookup.
I am sure there were many things I left out or forgot to say. If I
remember, I'll be sure to post them.
- Gabe
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
More information about the asterisk-users
mailing list