<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>

<META content="MSHTML 6.00.6000.16608" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008>Hi,</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=548455210-19032008></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008>Please find my openser.cfg file below. Whenever I try 
to call a softphone registered with Openser from another softphone (also 
registered with Openser) i get a 513 Message Too Big.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008>I guess there is a loop in the configuration file but I 
am unable to&nbsp;find it out.&nbsp;</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008>Any help would be 
appreciated.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008>Regards,</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008>Aadil</SPAN></SPAN></FONT><FONT face=Arial 
color=#0000ff size=2><SPAN class=548455210-19032008><SPAN 
class=947065910-19032008>&nbsp;</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><SPAN class=947065910-19032008><FONT face=Arial 
size=2>----------------------------------------------------------------------------------------------------------------------------------------------------------</FONT></SPAN></DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Arial size=2></FONT>&nbsp;</P></DIV>
<DIV><FONT face=Arial size=2>####### Global Parameters #########</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>debug=9<BR>log_stderror=no<BR>log_facility=LOG_LOCAL0</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>fork=yes<BR>children=4</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>/* uncomment the next line to disable TCP (default 
on) */<BR>#disable_tcp=yes</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>/* uncomment the next line to enable the auto 
temporary blacklisting of <BR>&nbsp;&nbsp; not available destinations (default 
disabled) */<BR>#disable_dns_blacklist=no</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>/* uncomment the next line to enable IPv6 lookup 
after IPv4 dns <BR>&nbsp;&nbsp; lookup failures (default disabled) 
*/<BR>#dns_try_ipv6=yes<BR>/* uncomment the next line to disable the auto 
discovery of local aliases<BR>&nbsp;&nbsp; based on revers DNS on IPs (default 
on) */<BR>#auto_aliases=no</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>/* uncomment the following lines to enable TLS 
support&nbsp; (default off) */<BR>#disable_tls = no<BR>#listen = 
tls:your_IP:5061<BR>#tls_verify_server = 1<BR>#tls_verify_client = 
1<BR>#tls_require_client_certificate = 0<BR>#tls_method = 
TLSv1<BR>#tls_certificate = 
"/opt/openser/etc/openser/tls/user/user-cert.pem"<BR>#tls_private_key = 
"/opt/openser/etc/openser/tls/user/user-privkey.pem"<BR>#tls_ca_list = 
"/opt/openser/etc/openser/tls/user/user-calist.pem"</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2>port=5060</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>/* uncomment and configure the following line if 
you want openser to <BR>&nbsp;&nbsp; bind on a specific interface/port/proto 
(default bind on all available) */<BR>listen=udp:<SPAN 
class=548455210-19032008>IP1</SPAN>:5060<BR>listen=udp:<SPAN 
class=548455210-19032008>IP2</SPAN>:5060</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT><BR><FONT face=Arial size=2>####### Modules 
Section ########</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>#set module 
path<BR>mpath="/opt/openser/lib/openser/modules/"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>/* uncomment next line for MySQL DB support 
*/<BR>loadmodule "mysql.so"<BR>loadmodule "sl.so"<BR>loadmodule 
"tm.so"<BR>loadmodule "rr.so"<BR>loadmodule "maxfwd.so"<BR>loadmodule 
"usrloc.so"<BR>loadmodule "registrar.so"<BR>loadmodule 
"textops.so"<BR>loadmodule "mi_fifo.so"<BR>loadmodule "uri_db.so"<BR>loadmodule 
"uri.so"<BR>loadmodule "xlog.so"<BR>loadmodule "acc.so"<BR>loadmodule 
"avpops.so"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2>/* uncomment next lines for MySQL based 
authentication support <BR>&nbsp;&nbsp; NOTE: a DB (like mysql) module must be 
also loaded */<BR>loadmodule "auth.so"<BR>loadmodule "auth_db.so"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>/* uncomment next line for aliases 
support<BR>&nbsp;&nbsp; NOTE: a DB (like mysql) module must be also loaded 
*/<BR>#loadmodule "alias_db.so"<BR>/* uncomment next line for multi-domain 
support<BR>&nbsp;&nbsp; NOTE: a DB (like mysql) module must be also 
loaded<BR>&nbsp;&nbsp; NOTE: be sure and enable multi-domain support in all used 
modules<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (see "multi-module 
params" section ) */<BR>loadmodule "domain.so"<BR>/* uncomment the next two 
lines for presence server support<BR>&nbsp;&nbsp; NOTE: a DB (like mysql) module 
must be also loaded */<BR>#loadmodule "presence.so"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----------------- setting module-specific 
parameters ---------------</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>modparam("usrloc|auth_db|avpops|domain", 
"db_url",<BR>&nbsp;"mysql://openser:openserrw@localhost/openser")</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2># ----- mi_fifo params -----<BR>modparam("mi_fifo", 
"fifo_name", "/tmp/openser_fifo")</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- rr params -----<BR># add value to ;lr 
param to cope with most of the UAs<BR>modparam("rr", "enable_full_lr", 1)<BR># 
do not append from tag to the RR (no need for this script)<BR>modparam("rr", 
"append_fromtag", 0)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- rr params 
-----<BR>modparam("registrar", "method_filtering", 1)<BR>/* uncomment the next 
line to disable parallel forking via location */<BR># modparam("registrar", 
"append_branches", 0)<BR>/* uncomment the next line not to allow more than 10 
contacts per AOR */<BR>#modparam("registrar", "max_contacts", 10)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- uri_db params -----<BR>/* by default we 
disable the DB support in the module as we do not need it<BR>&nbsp;&nbsp; in 
this configuration */<BR>modparam("uri_db", "use_uri_table", 
0)<BR>modparam("uri_db", "db_url", "")</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- acc params -----<BR>/* what sepcial 
events should be accounted ? */<BR>modparam("acc", "early_media", 
1)<BR>modparam("acc", "report_ack", 1)<BR>modparam("acc", "report_cancels", 
1)<BR>/* by default ww do not adjust the direct of the sequential 
requests.<BR>&nbsp;&nbsp; if you enable this parameter, be sure the enable 
"append_fromtag"<BR>&nbsp;&nbsp; in "rr" module */<BR>modparam("acc", 
"detect_direction", 0)<BR>/* account triggers (flags) */<BR>modparam("acc", 
"failed_transaction_flag", 3)<BR>modparam("acc", "log_flag", 
1)<BR>modparam("acc", "log_missed_flag", 2)<BR>/* uncomment the following lines 
to enable DB accounting also */<BR>modparam("acc", "db_flag", 
1)<BR>modparam("acc", "db_missed_flag", 2)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- usrloc params 
-----<BR>#modparam("usrloc", "db_mode",&nbsp;&nbsp; 0)<BR>/* uncomment the 
following lines if you want to enable DB persistency<BR>&nbsp;&nbsp; for 
location entries */<BR>modparam("usrloc", "db_mode",&nbsp;&nbsp; 1)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- auth_db params -----<BR>/* uncomment 
the following lines if you want to enable the DB based<BR>&nbsp;&nbsp; 
authentication */<BR>modparam("auth_db", "calculate_ha1", 
yes)<BR>modparam("auth_db", "password_column", 
"password")<BR>modparam("auth_db", "load_credentials", "")</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- alias_db params -----<BR>/* uncomment 
the following lines if you want to enable the DB based<BR>&nbsp;&nbsp; aliases 
*/<BR>#modparam("alias_db", 
"db_url",<BR>#&nbsp;"mysql://openser:openserrw@server/openser")</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- domain params -----<BR>/* uncomment the 
following lines to enable multi-domain detection<BR>&nbsp;&nbsp; support 
*/<BR>modparam("domain", "db_mode", 1)&nbsp;&nbsp; # Use caching</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- multi-module params -----<BR>/* 
uncomment the following line if you want to enable multi-domain 
support<BR>&nbsp;&nbsp; in the modules (dafault off) 
*/<BR>#modparam("alias_db|auth_db|usrloc|uri_db", "use_domain", 1)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># ----- presence params -----<BR>/* uncomment 
the following lines if you want to enable presence */<BR>#modparam("presence", 
"db_url",<BR>#&nbsp;"mysql://openser:openserrw@server/openser")<BR>#modparam("presence", 
"force_active", 1)<BR>#modparam("presence", "server_address", 
"sip:192.168.1.2:5060")</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>modparam("avpops", "avp_table", 
"usr_preferences")</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>####### Routing Logic ########</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face=Arial size=2># main request routing logic</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>route {<BR>&nbsp;# initial sanity checks -- 
messages with<BR>&nbsp;# max_forwards==0, or excessively long 
requests<BR>&nbsp;if (!mf_process_maxfwd_header("10")) 
{<BR>&nbsp;&nbsp;sl_send_reply("483","Too Many 
Hops");<BR>&nbsp;&nbsp;exit;<BR>&nbsp;};<BR>&nbsp;if (msg:len &gt;=&nbsp; 2048 ) 
{<BR>&nbsp;&nbsp;sl_send_reply("513", "Message too 
big");<BR>&nbsp;&nbsp;exit;<BR>&nbsp;};<BR>&nbsp;# we record-route all messages 
-- to make sure that<BR>&nbsp;# subsequent messages will go through our proxy; 
that's<BR>&nbsp;# particularly good if upstream and downstream 
entities<BR>&nbsp;# use different transport protocol<BR>&nbsp;if 
(!method=="REGISTER")<BR>&nbsp;&nbsp;record_route();<BR>&nbsp;# subsequent 
messages withing a dialog should take the<BR>&nbsp;# path determined by 
record-routing<BR>&nbsp;if (loose_route()) {<BR>&nbsp;&nbsp;# mark routing logic 
in request<BR>&nbsp;&nbsp;append_hf("P-hint: rr-enforced\r\n"); 
<BR>&nbsp;&nbsp;route(1);<BR>&nbsp;};<BR>&nbsp;if (!uri==myself) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (method=="REGISTER") 
{<BR>&nbsp;&nbsp;&nbsp;#&nbsp;if (!www_authorize("", "subscriber")) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;#www_challenge("", 
"0");<BR>&nbsp;&nbsp;&nbsp;&nbsp;#exit;<BR>&nbsp;&nbsp;&nbsp;#}&nbsp;#<BR>&nbsp;&nbsp;&nbsp;#save("location");<BR>&nbsp;&nbsp;&nbsp;#exit;<BR>&nbsp;&nbsp;&nbsp;#xlog("L_DEBUG", 
"Unknown Domain");<BR>&nbsp;&nbsp;&nbsp;#sl_send_reply("403", 
"Forbidden");<BR>&nbsp;&nbsp;};<BR>&nbsp;</FONT><FONT face=Arial 
size=2>&nbsp;&nbsp;if (method=="INVITE") {<BR>&nbsp;&nbsp;&nbsp;xlog("L_DEBUG", 
"INVITE for other 
domain");<BR>&nbsp;&nbsp;&nbsp;route(4);<BR>&nbsp;&nbsp;};</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;# mark routing logic in 
request<BR>&nbsp;&nbsp;append_hf("P-hint: outbound\r\n"); 
<BR>&nbsp;&nbsp;route(1);<BR>&nbsp;};<BR>&nbsp;# if the request is for other 
domain use UsrLoc<BR>&nbsp;# (in case, it does not work, use the following 
command<BR>&nbsp;# with proper names and addresses in it)<BR>&nbsp;if 
(uri==myself) {<BR>&nbsp;&nbsp;if (method=="REGISTER") {<BR>&nbsp;&nbsp;&nbsp;if 
(!www_authorize("", "subscriber")) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;www_challenge("", 
"0");<BR>&nbsp;&nbsp;&nbsp;&nbsp;exit;<BR>&nbsp;&nbsp;&nbsp;};<BR>&nbsp;&nbsp;&nbsp;save("location");<BR>&nbsp;&nbsp;&nbsp;exit;<BR>&nbsp;&nbsp;};<BR>&nbsp;&nbsp;# 
requests for Media server<BR>&nbsp;&nbsp;#if(is_method("INVITE") &amp;&amp; 
!has_totag() ) {<BR>&nbsp;&nbsp;if(is_method("INVITE")) 
{<BR>&nbsp;&nbsp;&nbsp;;route(3);<BR>&nbsp;&nbsp;exit;<BR>&nbsp;&nbsp;};</FONT></DIV>
<DIV><FONT size=+0><BR><FONT face=Arial size=2>&nbsp;&nbsp;# native SIP 
destinations are handled using our USRLOC DB<BR>&nbsp;&nbsp;if 
(!lookup("location")) {<BR>&nbsp;&nbsp;&nbsp;if(isflagset(2)) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;# route to Asterisk Media 
Server<BR>&nbsp;&nbsp;&nbsp;&nbsp;prefix("1");<BR>&nbsp;&nbsp;&nbsp;&nbsp;rewritehostport("<SPAN 
class=548455210-19032008>asterisk</SPAN>:6060");<BR>&nbsp;&nbsp;&nbsp;&nbsp;route(1);<BR>&nbsp;&nbsp;&nbsp;} 
else {<BR>&nbsp;&nbsp;&nbsp;&nbsp;sl_send_reply("404", "Not 
Found");<BR>&nbsp;&nbsp;&nbsp;&nbsp;exit;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;};<BR>&nbsp;&nbsp;append_hf("P-hint: 
usrloc applied\r\n"); <BR>&nbsp;};<BR>&nbsp;route(1);<BR>}<BR>route[1] 
{<BR>&nbsp;<BR>&nbsp;xlog("L_INFO","Entered route 
1\n");<BR>&nbsp;if(isflagset(2))<BR>&nbsp;&nbsp;t_on_failure("1");<BR>&nbsp;if 
(!t_relay()) 
{<BR>&nbsp;&nbsp;sl_reply_error();<BR>&nbsp;};<BR>&nbsp;exit;<BR>}<BR>route[3] 
{<BR>&nbsp;xlog("L_INFO","Entered route 
3\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
t_on_reply("3");</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;#&nbsp; Authenticate 
calls<BR>&nbsp;&nbsp;#if(!proxy_authorize("","subscriber")) 
{<BR>&nbsp;#&nbsp;proxy_challenge("","0");<BR>&nbsp;#&nbsp;exit;<BR>&nbsp;#}<BR>&nbsp;# 
end&nbsp; Authenticate calls</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;# route to Asterisk Media 
Server<BR>&nbsp;#rewritehostport("<SPAN 
class=947065910-19032008>asterisk</SPAN>:6060");<BR>&nbsp;route(1);<BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>#Route for calls to other domains<BR>route[4] 
{<BR>&nbsp;xlog("L_INFO","Entered route 
4");<BR>&nbsp;t_on_reply("4");<BR>&nbsp;<BR>&nbsp;rewritehostport("<SPAN 
class=947065910-19032008>asterisk</SPAN>:6060");<BR>&nbsp;if (!t_relay()) 
{<BR>&nbsp;&nbsp;sl_reply_error();<BR>&nbsp;};<BR>&nbsp;exit;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>failure_route[1] {<BR>&nbsp;if (t_was_cancelled()) 
{<BR>&nbsp;&nbsp;xdbg("transaction was cancelled by 
UAC\n");<BR>&nbsp;&nbsp;return;<BR>&nbsp;}<BR>&nbsp;# restore initial 
uri<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
avp_pushto("$ruri","$avp(i:10)");<BR>&nbsp;prefix("1");<BR>&nbsp;# route to 
Asterisk Media Server<BR>&nbsp;rewritehostport("<SPAN 
class=947065910-19032008>asterisk</SPAN>:6060");<BR>&nbsp;resetflag(2);<BR>&nbsp;route(1);<BR>}<BR>failure_route[4] 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
t_relay();<BR>}<BR>onreply_route[3]<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if(status =~"180") {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
t_on_failure("4");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><SPAN class=947065910-19032008><FONT face=Arial 
size=2>----------------------------------------------------------------------------------------------------------------------------------------------------------</FONT></SPAN></DIV></BODY></HTML>