THis is from an irc convo with brettnem, much thanks for his help.....<br>
the lcr mod will lookup the ruri in the lcr table.. matching prefix and from_ruri<br>
which gives a grp_id.. this grp_id is matched up to a grp_id in gw_grp (I think, I munged the functions)<br>
the grp_id correlates to multiple possible gateways for that call<br>
one table resolves prefixes (numbers) to route groups.. the other
resolves route groups to a list of gateways (or a feature server)<br>
lcr will route based on NPANXX to certain provider, or route DIDs to
feature servers out of the box with like 2 lines of code in ser.cfg..
that's right<br>
you really should have more than 2.. but you got the idea.. you need to check for load_gws failure (ie, no route 404)<br>
<br>
example for:<br>
<a href="mailto:sip:1234567890@test.com">sip:1234567890@test.com</a> to <a href="mailto:sip:1234567890@test.org">sip:1234567890@test.org</a><br>
<br>
tamp4x mysql&gt; describe lcr;<br>
tamp4x +----------+---------------------+------+-----+---------+-------+<br>
tamp4x | Field&nbsp;&nbsp;&nbsp; |
Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| Null | Key | Default | Extra |<br>
tamp4x +----------+---------------------+------+-----+---------+-------+<br>
tamp4x | prefix&nbsp;&nbsp; |
varchar(16)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | MUL
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | from_uri |
varchar(128)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | MUL |
%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | grp_id&nbsp;&nbsp; | int(10) unsigned&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | MUL |
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | priority | tinyint(3) unsigned |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp; | 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x +----------+---------------------+------+-----+---------+-------+<br>
tamp4x 4 rows in set (0.00 sec)<br>
tamp4x mysql&gt; describe gw;<br>
tamp4x +------------+----------------------+------+-----+---------+-------+<br>
tamp4x | Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| Null | Key | Default | Extra |<br>
tamp4x +------------+----------------------+------+-----+---------+-------+<br>
tamp4x | gw_name&nbsp;&nbsp;&nbsp; |
varchar(128)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | PRI
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | ip_addr&nbsp;&nbsp;&nbsp; | int(10)
unsigned&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp; | 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | smallint(5)
unsigned | YES&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; | NULL&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | uri_scheme | tinyint(3) unsigned&nbsp; | YES&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp; | NULL&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | transport&nbsp; | tinyint(3) unsigned&nbsp; | YES&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp; | NULL&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | grp_id&nbsp;&nbsp;&nbsp;&nbsp; | int(10)
unsigned&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | MUL
| 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x +------------+----------------------+------+-----+---------+-------+<br>
tamp4x mysql&gt; describe gw_grp;<br>
tamp4x +----------+------------------+------+-----+---------+----------------+<br>
tamp4x | Field&nbsp;&nbsp;&nbsp; |
Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| Null | Key | Default |
Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x +----------+------------------+------+-----+---------+----------------+<br>
tamp4x | grp_id&nbsp;&nbsp; | int(10) unsigned |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | PRI | NULL&nbsp;&nbsp;&nbsp; | auto_increment |<br>
tamp4x | grp_name | varchar(64)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>
tamp4x +----------+------------------+------+-----+---------+----------------+<br>
tamp4x 2 rows in set (0.02 sec)<br>
tamp4x mysql&gt; describe grp;<br>
tamp4x +---------------+--------------+------+-----+---------------------+-------+<br>
tamp4x | Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Null | Key |
Default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| Extra |<br>
tamp4x +---------------+--------------+------+-----+---------------------+-------+<br>
tamp4x | username&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | varchar(64)&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | PRI
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
varchar(128) |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | PRI
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x |
grp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
varchar(50)&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | PRI
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x | last_modified | datetime&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; | 0000-00-00
00:00:00 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
tamp4x +---------------+--------------+------+-----+---------------------+-------+<br>
that is the table structures<br>
<br>
make sure your version table looks like this:<br>
<br>
+-----------------------+---------------+<br>
| table_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | table_version |<br>
+-----------------------+---------------+<br>
|
subscriber&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
5 |<br>
|
reserved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
phonebook&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
pending&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4 |<br>
| missed_calls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2 |<br>
|
location&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1001 |<br>
|
aliases&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1001 |<br>
|
grp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2 |<br>
|
event&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
| active_sessions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
acc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2 |<br>
|
config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
silo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3 |<br>
|
realm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
uri&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
| server_monitoring&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 |<br>
| server_monitoring_agg |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 |<br>
|
trusted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
| usr_preferences&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2 |<br>
| usr_preferences_types |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 |<br>
| admin_privileges&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 |<br>
| calls_forwarding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 |<br>
|
speed_dial&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2 |<br>
|
dbaliases&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
gw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3 |<br>
|
gw_grp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
|
lcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1 |<br>
+-----------------------+---------------+<br>
<br>
<br>
<br>
<br>
insert into lcr values(1234567890,'%',100,50);<br>
insert into gw values('my-nifty-gateway',122432324,5060,'','',100);<br>
<br>
the ip address you have to reverse the octets and THEN convert to long giving 122432324&nbsp; (<a href="http://test.org">test.org</a>)<br>
<br>
here is the script for IP conversion: (make sure you have Net::IP module installed)<br>
<br>
<div class="raw" id="source"><ol><li><div class="de1">#!/usr/bin/perl</div></li><li><div class="de1">use Net::IP;</div></li><li><div class="de1">my $ip = new Net::IP <span class="br0">(</span>$ARGV<span class="br0">[</span>
<span class="nu0">0</span><span class="br0">]</span><span class="br0">)</span> or die <span class="br0">(</span>Net::IP::Error<span class="br0">(</span><span class="br0">)</span><span class="br0">)</span>;</div></li><li><div class="de1">
print &quot;In Binary: &quot; . $ip-&gt;binip . &quot;\n&quot;;</div></li><li class="li2"><div class="de2">$decip= bin2dec<span class="br0">(</span>$ip-&gt;binip<span class="br0">)</span>;</div></li><li><div class="de1">print &quot;DecIP:$decip\n&quot;;
</div></li><li><div class="de1">sub bin2dec <span class="br0">{</span></div></li><li><div class="de1">&nbsp; &nbsp; return unpack<span class="br0">(</span>&quot;N&quot;, pack<span class="br0">(</span>&quot;B32&quot;, substr<span class="br0">
(</span>&quot;<span class="nu0">0</span>&quot; x <span class="nu0">32</span> . shift, -<span class="nu0">32</span><span class="br0">)</span><span class="br0">)</span><span class="br0">)</span>;</div></li><li><div class="de1">
<span class="br0">}</span> </div></li></ol></div>
<br>
<br>
<br>
<br>
<br>
the 100 is the important data. it's the key that binds the first record in the lcr table to the ip record in the gw table<br>
that way, anything that routes to your nifty gateway, you just put it
into gw_grp 100 and it works.. just one entry in the gw table.&nbsp;
the ipaddr is what you want the destination host to be.<br>
<br>
<br>
now here is my ser.cfg<br>
<br>
&nbsp;# ----------- global configuration parameters ------------------------<br>
<br>
# debug=9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug level (cmd line: -dddddddddd)<br>
&nbsp;fork=yes<br>
&nbsp;log_stderror=yes# (cmd line: -E)<br>
&nbsp;check_via=no&nbsp;&nbsp;&nbsp; # (cmd. line: -v)<br>
&nbsp;dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -r)<br>
&nbsp;rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -R)<br>
&nbsp;listen=<a href="http://64.201.13.52">64.201.13.52</a><br>
&nbsp;port=5060<br>
&nbsp;children=4<br>
# fifo=&quot;/tmp/ser_fifo&quot;<br>
<br>
<br>
&nbsp;# ------------------ module loading ----------------------------------<br>
<br>
<br>
<br>
<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/mysql/mysql.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/nathelper/nathelper.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/sl/sl.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/tm/tm.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/rr/rr.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/maxfwd/maxfwd.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/usrloc/usrloc.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/registrar/registrar.so&quot;<br>
&nbsp;loadmodule &quot;/usr/local/sip_router/modules/lcr/lcr.so&quot;<br>
<br>
#!!!!!!!!!!you may need to use openser's table formatting!!!!!!!#<br>
#modparam(&quot;lcr&quot;,&quot;db_url&quot;, &quot;mysql://root:password@localhost/openser&quot;)<br>
modparam(&quot;lcr&quot;,&quot;db_url&quot;, &quot;mysql://root:password@localhost/ser&quot;)<br>
<br>
# main routing logic<br>
<br>
&nbsp;route{<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (method==&quot;REGISTER&quot;){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #record_route();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forward(<a href="http://mysip.server.com">mysip.server.com</a>,5060);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #loose_route();<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (method==&quot;INVITE&quot;) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #record_route();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; force_rtp_proxy();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!load_gws()) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;500&quot;, &quot;Server Internal Error - Cannot load gateways&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # forward to current uri now<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!t_relay()) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_reply_error();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
}<br>
<br>
&nbsp; onreply_route[1] {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (status=~&quot;[12][0-9][0-9]&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; force_rtp_proxy();<br>
<br>
&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
<br>
<br>
<br>
Ok hopefully this will work for someone out there , let me know<br>
<br>
because its not working perfectly for me... when i attempt to make a call i get memory errors...<br>
1(2850) ERROR: sip_msg_cloner: cannot allocate memory<br>
&nbsp;1(2850) ERROR: new_t: out of mem:<br>
&nbsp;1(2850) ERROR: t_newtran: new_t failed<br>
&nbsp;1(2850) ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (1/SL)<br>
&nbsp;2(2852) ERROR: build_req_buf_from_sip_req: out of memory<br>
&nbsp;2(2852) ERROR: forward_request: building failed<br>
&nbsp;2(2852) Warning: sl_send_reply: I won't send a reply for ACK!!<br>
&nbsp;2(2852) ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (2/SL)<br>
<br>
<br>
<br>