<div>Hi!I've 2 asterisk at home and I use openser becouse I want use more proxies for my softphones;my problem is this:</div>
<div>I'm using vrrp protocol; </div>
<div><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.1/" target="_blank">192.168.25.1</a> is the master (asterisk1)</div>
<div><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.2/" target="_blank">192.168.25.2</a> is the slave (asterisk2)</div>
<div><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.200/" target="_blank">192.168.25.200</a> is the virtual IP.</div>
<div>then I have my softphones on a Xp pc with IP <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.10/" target="_blank">192.168.25.10</a></div>
<div> </div>
<div>I set my softphones with <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.200/" target="_blank">192.168.25.200</a> and they run, only that, the problem with asterisk is that softphones and IP phones(some like wi-fi) can register only one proxy, and asterisk can't make a option for more proxies than one;so the proxy is the
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.200/" target="_blank">192.168.25.200</a>, but at real it is 192.168.25.1..and softphones or wi-fi are registered only in the first asterisk with the
192.168.25.1..if the master falls down the slave hasn't the authentication SIP registration...only the master..So I must use openser or ser to have 2 = box </div>
<div> </div>
<div>my problem is resolved only if I use the redirect option to have 2 = asterisk box so the database can be opened and read from one asterisk to the other;if the master falls down the slave has all the configuration and the SIP registration, so it can work without problems.
</div>
<div> </div>
<div>A) I've set this file on asterisk <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.1/" target="_blank">192.168.25.1</a> the master</div>
<div>
<p>#<br># $Id: replicate.cfg,v 1.2 2005/07/25 16:27:33 miconda Exp $<br>#<br># demo script showing how to set-up usrloc replication<br>#</p>
<p># ----------- global configuration parameters ------------------------</p>
<p>debug=3 # debug level (cmd line: -dddddddddd)<br>fork=no<br>log_stderror=yes # (cmd line: -E)</p>
<p># ------------------ module loading ----------------------------------</p>
<p>loadmodule "modules/mysql/mysql.so"<br>loadmodule "modules/sl/sl.so"<br>loadmodule "modules/tm/tm.so"<br>loadmodule "modules/maxfwd/maxfwd.so"<br>loadmodule "modules/usrloc/usrloc.so"
<br>loadmodule "modules/registrar/registrar.so"<br>loadmodule "modules/auth/auth.so"<br>loadmodule "modules/auth_db/auth_db.so"</p>
<p># ----------------- setting module-specific parameters ---------------</p>
<p># digest generation secret; use the same in backup server;<br># also, make sure that the backup server has sync'ed time<br>modparam("auth", "secret", "alsdkhglaksdhfkloiwr")</p>
<p># ------------------------- request routing logic -------------------</p>
<p># main routing logic</p>
<p>route{</p>
<p> # initial sanity checks -- messages with<br> # max_forwars==0, or excessively long requests<br> if (!mf_process_maxfwd_header("10")) {<br> sl_send_reply("483","Too Many Hops");<br> return;
<br> };<br> if (len_gt( max_len )) {<br> sl_send_reply("513", "Message too big");<br> return;<br> };</p>
<p> # if the request is for other domain use UsrLoc<br> # (in case, it does not work, use the following command<br> # with proper names and addresses in it)<br> if (uri==myself) {</p>
<p> if (method=="REGISTER") {</p>
<p> # verify credentials<br> if (!www_authorize("", "subscriber")) {<br> www_challenge("", "0");<br> return;<br> };</p>
<p> # if ok, update contacts and ...<br> save("location");<br> # ... if this REGISTER is not a replica from our<br> # peer server, replicate to the peer server<br> if (!src_ip==<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.2/" target="_blank">
192.168.25.2</a>) {<br> t_replicate("<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.2/" target="_blank">192.168.25.2</a>", "5060");<br> };<br> return;<br> };
<br> # do whatever else appropriate for your domain<br> log("non-REGISTER\n"); <br> };<br>}</p>
<p> </p>
<div>B) I've set this file on asterisk <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.2/" target="_blank">192.168.25.2</a> the slave</div></div>
<div> </div>
<div>
<p>#<br># $Id: replicate.cfg,v 1.2 2005/07/25 16:27:33 miconda Exp $<br>#<br># demo script showing how to set-up usrloc replication<br>#</p>
<p># ----------- global configuration parameters ------------------------</p>
<p>debug=3 # debug level (cmd line: -dddddddddd)<br>fork=no<br>log_stderror=yes # (cmd line: -E)</p>
<p># ------------------ module loading ----------------------------------</p>
<p>loadmodule "modules/mysql/mysql.so"<br>loadmodule "modules/sl/sl.so"<br>loadmodule "modules/tm/tm.so"<br>loadmodule "modules/maxfwd/maxfwd.so"<br>loadmodule "modules/usrloc/usrloc.so"
<br>loadmodule "modules/registrar/registrar.so"<br>loadmodule "modules/auth/auth.so"<br>loadmodule "modules/auth_db/auth_db.so"</p>
<p># ----------------- setting module-specific parameters ---------------</p>
<p># digest generation secret; use the same in backup server;<br># also, make sure that the backup server has sync'ed time<br>modparam("auth", "secret", "alsdkhglaksdhfkloiwr")</p>
<p># ------------------------- request routing logic -------------------</p>
<p># main routing logic</p>
<p>route{</p>
<p> # initial sanity checks -- messages with<br> # max_forwars==0, or excessively long requests<br> if (!mf_process_maxfwd_header("10")) {<br> sl_send_reply("483","Too Many Hops");<br> return;
<br> };<br> if (len_gt( max_len )) {<br> sl_send_reply("513", "Message too big");<br> return;<br> };</p>
<p> # if the request is for other domain use UsrLoc<br> # (in case, it does not work, use the following command<br> # with proper names and addresses in it)<br> if (uri==myself) {</p>
<p> if (method=="REGISTER") {</p>
<p> # verify credentials<br> if (!www_authorize("", "subscriber")) {<br> www_challenge("", "0");<br> return;<br> };</p>
<p> # if ok, update contacts and ...<br> save("location");<br> # ... if this REGISTER is not a replica from our<br> # peer server, replicate to the peer server<br> if (!src_ip==<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.1/" target="_blank">
192.168.25.1</a>) {<br> t_replicate("<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.1/" target="_blank">192.168.25.1</a>", "5060");<br> };<br> return;<br> };
<br> # do whatever else appropriate for your domain<br> log("non-REGISTER\n"); <br> };<br>}</p>
<p>Must I call this file ser.cfg?Right?Must I set the <font face="Courier" size="2"></font></p>
<p align="left">on the master</p>
<p align="left">listen=<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.1/" target="_blank">192.168.25.1</a> #on the master </p>
<p align="left">port=5060</p><font face="Courier" size="2">
<p align="left">on the slave</p>
<p align="left">listen=<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.25.2/" target="_blank">192.168.25.2</a> #on the slave</p>
<p align="left">port=5060</p></font>
<p align="left"> </p>
<p>Then I use on all the 2 linux;</p>
<p>#chkconfig -add ser</p>
<p>#chkconfig -add mediaproxy</p>
<p>And ser and mediaproxy works like deamon every time I start-up the 2 linux.</p>
<p>Is it right to add this 2 sip number in openser or ser in this way?(they're registered in asterisk and 650 is a number from a X-lite, 651 from Phoner)</p>
<p>serctl add 650 1234 <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:650@192.168.25.200" target="_blank">650@192.168.25.200</a> [mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:650@192.168.25.200" target="_blank">
650@192.168.25.200</a>]<br>serctl add 651 1234 <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:651@192.168.25.200" target="_blank">651@192.168.25.200</a> [mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:651@192.168.25.200" target="_blank">
651@192.168.25.200</a>]</p>
<p>Is it right this configuration?If the master falls down the slave has all the Sip registration authentificated and run without any problem?</p>
<p>100000 thanks!</p></div>