<div>hi, all,</div>
<div>&nbsp;</div>
<div>I have realized a dundi cluster,,, <br>the details, please read...<a href="http://jefferychen1977.spaces.live.com/blog/cns!9E49EEC4251C4476!494.entry">http://jefferychen1977.spaces.live.com/blog/cns!9E49EEC4251C4476!494.entry
</a></div>
<div>&nbsp;</div>
<div>Thanks,...</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><br>&nbsp;</div>
<div><span class="gmail_quote">On 12/13/06, <b class="gmail_sendername">David Thomas</b> &lt;<a href="mailto:punknow@gmail.com">punknow@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">On 12/12/06, JR Richardson &lt;<a href="mailto:jmr.richardson@gmail.com">jmr.richardson@gmail.com</a>&gt; wrote:
<br>&gt; &gt; 1.)&nbsp;&nbsp;When a registration server fails there doesn't seem to be an easy<br>&gt; &gt; way to have clients automatically register to a new server. (our<br>&gt; &gt; clients are mostly other asterisk boxes.) To solve this we are
<br>&gt; &gt; considering using DNS failover.<br>&gt;<br>&gt; When registering with an Asterisk server to an Asterisk cluster of<br>&gt; servers, for the purpose of traversing a NAT or something else (to<br>&gt; solve a problem where direct contact cannot be performed), I would
<br>&gt; suggest doing multiple registration to two registration servers, using<br>&gt; different names.<br>&gt;<br>&gt; Like<br>&gt; registration [name1] to registration server 1<br>&gt; registration [name2] to registration server 2
<br>&gt;<br>&gt; in the outgoing dilaplan<br>&gt;<br>&gt; exten =&gt; _NXXNXXXXXX,1,Dial(IAX2/server1......|j)<br>&gt; exten =&gt; _NXXNXXXXXX,102,Dial(IAX2/server2......<br>&gt;<br>&gt; so if server one is not there the call will jump to the next server
<br>&gt;<br>&gt; or<br>&gt;<br>&gt; exten =&gt; _NXXNXXXXXX,1,Dial(IAX2/server1&amp;IAX2/server2.............<br>&gt;<br>&gt; first server to answer will get the call.<br>&gt;<br>&gt; you can do something similar calling from the cluster to the end Asterisk server
<br>&gt; dundi lookup for [name1] if not available lookup [name2]<br>&gt;<br>&gt; &gt;<br>&gt; &gt; 2.)&nbsp;&nbsp;If you plan to do any direct routing using the fullcontact<br>&gt; &gt; address like what is shown in JR's whitepaper, you may find that
<br>&gt; &gt; fullcontact sometimes contains private network addresses. This makes<br>&gt; &gt; it impossible to route inbound calls directly to the client.<br>&gt; &gt;<br>&gt; I recently started pulling the ipaddress and port from the database
<br>&gt; instead of using the fullcontact field.&nbsp;&nbsp;Aaron Daniels helped me to<br>&gt; get the realtime query working instead of using the mysql connect<br>&gt; statements.<br>&gt;<br>&gt; [lookupmysql]<br>&gt; include =&gt; invalid
<br>&gt;<br>&gt; exten =&gt; _X.,1,RealTime(sippeers|name|${EXTEN}|DN_)<br>&gt; exten =&gt; _X.,2,GotoIf($[&quot;${DN_ipaddr}&quot; = &quot;&quot;]?${EXTEN},105:${EXTEN},3)<br>&gt; exten =&gt; _X.,3,Set(directdial=${EXTEN}@${DN_ipaddr}:${DN_port})
<br>&gt; exten =&gt; _X.,4,Dial(SIP/${directdial},15,rj)<br>&gt; exten =&gt; _X.,5,Macro(sendtovm,${EXTEN})<br>&gt; exten =&gt; _X.,6,Hangup<br>&gt;<br>&gt; exten =&gt; _X.,105,Macro(sendtovm,${EXTEN})<br>&gt; exten =&gt; _X.,106,Hangup
<br>&gt;<br>&gt; The RealTime command pulls all the entire record from the database and<br>&gt; prepends all the fields with the last argument (here is have DN_)&nbsp;&nbsp;so<br>&gt; when the record is pulled, all the records info is available as a
<br>&gt; variable like DN_port and DN_ipaddr.<br>&gt;<br>&gt; This is a really cool command.&nbsp;&nbsp;Hope this helps.<br><br>Wow, thanks for the examples JR. This is exactly what I needed. I was<br>not aware of the RealTime command. That will be very useful.
<br><br>David<br>_______________________________________________<br>--Bandwidth and Colocation provided by <a href="http://Easynews.com">Easynews.com</a> --<br><br>asterisk-users mailing list<br>To UNSUBSCRIBE or update options visit:
<br>&nbsp;&nbsp;<a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br></blockquote></div><br>