<div>Hi,</div>
<div> </div>
<div>I have trouble with RTPPRoxy.</div>
<div>I downloaded a everything.GettingStarted.tar.gz package from Onsip, hello-world.3.04.cfg and auth-mysql.3.05.cfg work but when i use nat-rtpproxy.3.04.cfg i get following errors.</div>
<div> </div>
<div>[root@localhost root]# /etc/init.d/rtpproxy start<br>[root@localhost root]# /etc/init.d/ser restart<br>Stopping ser: [FAILED]<br>Starting ser: [ OK ]
<br>[root@localhost root]# serctl ul show<br>Dumping all contacts may take long: are you sure you want to proceed? [Y|N] y<br>Error opening ser's FIFO /tmp/ser_fifo<br>Make sure you have line fifo=/tmp/ser_fifo in your config
<br>[root@localhost root]#</div>
<div> </div>
<div> </div>
<div>By the way i don't see rtpproxy.sock under \var\run\<br> </div>
<div>
<div>Questions:</div>
<div> </div>
<div>If i use rtpptoxy, how we start it? i do "/etc/init.d/rtpproxy start" then it doesn't show if that is started or not unless i run "ps -A"</div>
<div>Can we put SER into DMZ and do port forwarding OR SER must have Puplic IP?</div>
<div>If we can put SER on DMZ then what other ports need to be open beside 5060?</div></div>
<div> </div>
<div>
<p># ===============================================</p>
<p>debug=3<br>fork=yes<br>log_stderror=no</p>
<p>listen=x.x.x.x # put your server IP address here That is MY WAN IP.<br>port=5060<br>children=4</p>
<p>dns=no<br>rev_dns=no</p>
<p>fifo="/tmp/ser_fifo"<br>fifo_db_url="<a href="mysql://ser:heslo@localhost/ser">mysql://ser:heslo@localhost/ser</a>"</p>
<p>loadmodule "/usr/local/lib/ser/modules/mysql.so"<br>loadmodule "/usr/local/lib/ser/modules/sl.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/auth_db.so"<br>loadmodule "/usr/local/lib/ser/modules/nathelper.so"<br>loadmodule "/usr/local/lib/ser/modules/textops.so"<br>loadmodule "/usr/local/lib/ser/modules/uri_db.so"
<br>loadmodule "/usr/local/lib/ser/modules/uri.so"</p>
<p>modparam("auth_db|uri_db|usrloc", "db_url", "<a href="mysql://ser:heslo@localhost/ser">mysql://ser:heslo@localhost/ser</a>")</p>
<p>modparam("auth_db", "calculate_ha1", 1)<br>modparam("auth_db", "password_column", "password")</p>
<p>modparam("nathelper", "natping_interval", 30) <br>modparam("nathelper", "ping_nated_only", 1) <br>modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")
</p>
<p>modparam("usrloc", "db_mode", 2)</p>
<p>modparam("registrar", "nat_flag", 6)</p>
<p>modparam("rr", "enable_full_lr", 1)</p>
<p>route {</p>
<p> # -----------------------------------------------------------------<br> # Sanity Check Section<br> # -----------------------------------------------------------------<br> if (!mf_process_maxfwd_header("10")) {
<br> sl_send_reply("483", "Too Many Hops");<br> break;<br> };</p>
<p> if (msg:len > max_len) {<br> sl_send_reply("513", "Message Overflow");<br> break;<br> };</p>
<p> # -----------------------------------------------------------------<br> # Record Route Section<br> # -----------------------------------------------------------------<br> if (method!="REGISTER") {
<br> record_route();<br> };</p>
<p> if (method=="BYE" || method=="CANCEL") {<br> unforce_rtp_proxy();<br> } </p>
<p> # -----------------------------------------------------------------<br> # Loose Route Section<br> # -----------------------------------------------------------------<br> if (loose_route()) {
</p>
<p> if (has_totag() && (method=="INVITE" || method=="ACK")) {<br> if (nat_uac_test("19")) {<br> setflag(6);<br> force_rport();
<br> fix_nated_contact();<br> };<br> force_rtp_proxy("l");<br> };<br> route(1);<br> break;<br>
};</p>
<p> # -----------------------------------------------------------------<br> # Call Type Processing Section<br> # -----------------------------------------------------------------</p>
<p> if (uri!=myself) {<br> route(1);<br> break;<br> };</p>
<p> if (uri==myself) {</p>
<p> if (method=="CANCEL") {<br> route(3);<br> break;<br> } else if (method=="INVITE") {<br> route(3);
<br> break;<br> } else if (method=="REGISTER") {<br> route(2);<br> break;<br> };</p>
<p> lookup("aliases");<br> if (uri!=myself) {<br> route(1);<br> break;<br> };</p>
<p> if (!lookup("location")) {<br> sl_send_reply("404", "User Not Found");<br> break;<br> };<br> };</p>
<p> route(1);<br>}</p>
<p>route[1] {</p>
<p> # -----------------------------------------------------------------<br> # Default Message Handler<br> # -----------------------------------------------------------------</p>
<p> t_on_reply("1");</p>
<p> if (!t_relay()) {<br> if (method=="INVITE" && isflagset(6)) {<br> unforce_rtp_proxy();<br> };<br> sl_reply_error();<br> };
<br>}</p>
<p>route[2] {</p>
<p> # -----------------------------------------------------------------<br> # REGISTER Message Handler<br> # ----------------------------------------------------------------</p>
<p> if (!search("^Contact:\ +\*") && nat_uac_test("19")) {<br> setflag(6);<br> fix_nated_register();<br> force_rport();<br> };</p>
<p> sl_send_reply("100", "Trying");</p>
<p> if (!www_authorize("","subscriber")) {<br> www_challenge("","0");<br> break;<br> };</p>
<p> if (!check_to()) {<br> sl_send_reply("401", "Unauthorized");<br> break;<br> };</p>
<p> consume_credentials();</p>
<p> if (!save("location")) {<br> sl_reply_error();<br> };<br>}</p>
<p>route[3] {</p>
<p> # -----------------------------------------------------------------<br> # CANCEL and INVITE Message Handler<br> # -----------------------------------------------------------------</p>
<p> if (nat_uac_test("19")) {<br> setflag(6);<br> }</p>
<p> lookup("aliases");<br> if (uri!=myself) {<br> route(1);<br> break;<br> };</p>
<p> if (!lookup("location")) {<br> sl_send_reply("404", "User Not Found");<br> break;<br> };</p>
<p> if (!proxy_authorize("","subscriber")) {<br> proxy_challenge("","0");<br> break;<br> } else if (!check_from()) {<br> sl_send_reply("403", "Use From=ID");
<br> break;<br> };</p>
<p> consume_credentials();</p>
<p> if (isflagset(6)) {<br> force_rport();<br> fix_nated_contact();<br> force_rtp_proxy();<br> };</p>
<p> t_on_reply("1");</p>
<p> if (!t_relay()) {<br> if(isflagset(6)) {<br> unforce_rtp_proxy();<br> }<br> sl_reply_error();<br> };<br>}</p>
<p>onreply_route[1] {</p>
<p> if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") {<br> if (!search("^Content-Length:\ +0")) {<br> force_rtp_proxy();<br> };<br> };</p>
<p> if (nat_uac_test("1")) {<br> fix_nated_contact();<br> };<br>}<br></p></div>
<div> </div>
<div><br> </div>
<div>Thanks,</div>
<div> </div>
<div> </div>
<div>Ali G.</div>
<div> </div>