<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
It has been done already.. so why don't you get the example configs and
save some time ;-)<br>
<a class="moz-txt-link-freetext" href="http://www.iptel.org/ser/doc/gettingstarted">http://www.iptel.org/ser/doc/gettingstarted</a><br>
g-)<br>
<br>
Abdul Qadir wrote:
<blockquote cite="mid20060904074704.91955.qmail@web50615.mail.yahoo.com"
 type="cite">Hi<br>
  <br>
  <br>
&nbsp; I am trying to setup SER with nathelper module and portaone proxy.
All other messages are sent on the nated IP of both user agents, except
final ACK. Which is sent on private IP of called party. Here is the
sequence ....<br>
I have also pasted my ser.cfg file<br>
  <br>
My ser is running on public IP and both user agents are behind firewall.<br>
  <br>
  <br>
  <br>
UA1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; SER&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UA2<br>
&nbsp;&nbsp;&nbsp; INVITE<br>
===============&gt;<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;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; INVITE<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; &nbsp;&nbsp;&nbsp; ===============&gt;<br>
  <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;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TRYING<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;&nbsp; &nbsp; &lt;===============<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; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ringing<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;&nbsp; &nbsp; &lt;===============<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Ringing<br>
&lt;===============<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;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OK<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;&nbsp;&nbsp;&nbsp; &nbsp; &lt;===============<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OK<br>
&lt;===============<br>
  <br>
  <br>
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACK<br>
===============&gt;<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; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ACK (sent on UA2's Private
IP)<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; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ===============&gt;<br>
  <br>
  <br>
  <br>
  <br>
  <br>
  <br>
  <br>
  <br>
  <br>
  <br>
  <br>
debug=7<br>
fork=yes<br>
log_stderror=yes<br>
listen=some_public_ip<br>
port=5060<br>
check_via=no<br>
dns=no<br>
rev_dns=no<br>
server_signature=no<br>
sip_warning=no<br>
fifo="/tmp/ser_fifo"<br>
  <br>
# ------------------ module loading ----------------------------------<br>
loadmodule "/usr/local/lib/ser/modules/nathelper.so"<br>
loadmodule "/usr/local/lib/ser/modules/sl.so"<br>
loadmodule "/usr/local/lib/ser/modules/xlog.so"<br>
loadmodule "/usr/local/lib/ser/modules/tm.so"<br>
loadmodule "/usr/local/lib/ser/modules/rr.so"<br>
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<br>
loadmodule "/usr/local/lib/ser/modules/usrloc.so"<br>
loadmodule "/usr/local/lib/ser/modules/registrar.so"<br>
loadmodule "/usr/local/lib/ser/modules/auth.so"<br>
loadmodule "/usr/local/lib/ser/modules/exec.so"<br>
loadmodule "/usr/local/lib/ser/modules/print.so"<br>
loadmodule "/usr/local/lib/ser/modules/textops.so"<br>
loadmodule "/usr/local/lib/ser/modules/avpops.so"<br>
# ----------------- setting module-specific parameters ---------------<br>
modparam("usrloc", "db_mode",&nbsp;&nbsp; 0)<br>
modparam("rr", "enable_full_lr", 1)<br>
modparam("nathelper","rtpproxy_sock", "udp:some_public_ip:port")<br>
modparam("registrar", "nat_flag", 6)<br>
modparam("nathelper", "natping_interval", 30)<br>
modparam("nathelper", "ping_nated_only", 0)<br>
modparam("tm", "fr_timer", 12)<br>
modparam("tm", "fr_inv_timer", 30)<br>
modparam("tm", "fr_inv_timer_avp", "inv_timeout")<br>
  <br>
# -------------------------&nbsp; request routing logic -------------------<br>
# main routing logic<br>
  <br>
route<br>
{<br>
&nbsp;&nbsp; &nbsp;if(!mf_process_maxfwd_header("10"))<br>
&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;log(1, "too many hops\n");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sl_send_reply("483","Too Many Hops");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>
&nbsp;&nbsp; &nbsp;};<br>
  <br>
&nbsp;&nbsp; &nbsp;if(msg:len &gt;=&nbsp; max_len )<br>
&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;log(1, "message too big\n");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sl_send_reply("513", "Message too big");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>
&nbsp;&nbsp; &nbsp;};<br>
  <br>
&nbsp;&nbsp; &nbsp;if(loose_route())<br>
&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;t_relay();<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>
&nbsp;&nbsp; &nbsp;};<br>
  <br>
&nbsp;&nbsp; &nbsp;if(uri==myself)<br>
&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(method=="REGISTER")<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;fix_nated_register();<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;force_rport();<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(!save("location"))<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;log(1, "* * * * * &lt; &lt; &lt; could not save
location &gt; &gt; &gt; * * * * *\n");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sl_reply_error();<br>
&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;&nbsp; &nbsp;break;<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;};<br>
  <br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(method=="INVITE")<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;fix_nated_contact();<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;record_route();<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(!lookup("location"))<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sl_send_reply("404", "subscriber is offline. Pls try
later");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;force_rport();<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;force_rtp_proxy("l");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;fix_nated_sdp("1");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br>
&nbsp;&nbsp; &nbsp;};<br>
&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp; &nbsp;if(!t_relay())<br>
&nbsp;&nbsp; &nbsp;{<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;log(1, "relay error\n");<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sl_reply_error();<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br>
&nbsp;&nbsp; &nbsp;};<br>
}
  <p> </p>
  <hr size="1">Do you Yahoo!?<br>
Get on board. <a
 href="http://us.rd.yahoo.com/evt=40791/*http://advision.webevents.yahoo.com/mailbeta">You're
invited</a> to try the new Yahoo! Mail.
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Serusers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Serusers@lists.iptel.org">Serusers@lists.iptel.org</a>
<a class="moz-txt-link-freetext" href="http://lists.iptel.org/mailman/listinfo/serusers">http://lists.iptel.org/mailman/listinfo/serusers</a>
  </pre>
</blockquote>
</body>
</html>