[Asterisk-Users] Feedback from VON expo! Info on * HA and Polycom phone!!

Gabriel Afana asterisk at gafana.com
Thu Mar 16 01:38:06 MST 2006


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





More information about the asterisk-users mailing list