Hi<br><br>I am new to all openser related things. I managed to install it, combine with postgres and do simple accounting, but now I am facing a slightly problem. The situation looks like this:<br><br>I have two sip phones both on public IP and both registered to openser (on public IP). I am able to ring between this two phones (so I guess that the sip signalization works OK), but I can't hear any voice. For testing purposes I disabled the firewall on openser so I am sure that all ports are "free". My
openser.cfg looks like this:<br><br> #------------------- global configuration parameters ------------------------<br><br>debug=3 # debug level (cmd line: -dddddddddd)<br>fork=yes # Set to no to enter debugging mode
<br>log_stderror=no # (cmd line: -E) Set to yes to enter debugging mode<br><br>check_via=no # (cmd. line: -v)<br>dns=no # (cmd. line: -r)<br>rev_dns=no # (cmd. line: -R)<br>port=5060<br>children=4<br>fifo="/tmp/openser_fifo"
<br><br>#<br># uncomment the following lines for TLS support<br>#disable_tls = 0<br>#listen = tls:your_IP:5061<br>#tls_verify = 1<br>#tls_require_certificate = 0<br>#tls_method = TLSv1<br>#tls_certificate = "/build/buildd/openser-
1.1.0/debian/openser/etc/openser/tls/user/user-cert.pem"<br>#tls_private_key = "/build/buildd/openser-1.1.0/debian/openser/etc/openser/tls/user/user-privkey.pem"<br>#tls_ca_list = "/build/buildd/openser-
1.1.0/debian/openser/etc/openser/tls/user/user-calist.pem"<br><br># ------------------ module loading ----------------------------------<br><br>loadmodule "/usr/lib/openser/modules/postgres.so"<br>loadmodule "/usr/lib/openser/modules/sl.so"
<br>loadmodule "/usr/lib/openser/modules/tm.so"<br>loadmodule "/usr/lib/openser/modules/rr.so"<br>loadmodule "/usr/lib/openser/modules/maxfwd.so"<br>loadmodule "/usr/lib/openser/modules/usrloc.so"
<br>loadmodule "/usr/lib/openser/modules/registrar.so"<br>loadmodule "/usr/lib/openser/modules/textops.so"<br>loadmodule "/usr/lib/openser/modules/acc.so"<br>loadmodule "/usr/lib/openser/modules/dbtext.so"
<br>#loadmodule "/usr/lib/openser/modules/mediaproxy.so"<br># Uncomment this if you want digest authentication<br># mysql.so must be loaded !<br>loadmodule "/usr/lib/openser/modules/auth.so"<br>loadmodule "/usr/lib/openser/modules/auth_db.so"
<br><br># ----------------- setting module-specific parameters ---------------<br><br># -- usrloc params --<br>#modparam("usrloc", "db_mode", 0)<br># Uncomment this if you want to use SQL database<br>
# for persistent storage and comment the previous line<br>modparam("usrloc", "db_mode", 2)<br><br># -- auth params --<br># Uncomment if you are using auth module<br>#<br>modparam("auth_db", "calculate_ha1", no)
<br>#<br># If you set "calculate_ha1" parameter to yes (which true in this config),<br># uncomment also the following parameter)<br>#<br>#modparam("auth_db", "password_column", "password")
<br>modparam("auth_db", "password_column", "ha1")<br><br># -- rr params --<br># add value to ;lr param to make some broken UAs happy<br>modparam("rr", "enable_full_lr", 1)
<br>#usrloc|auth_db|<br>modparam("usrloc|auth_db", "db_url", "postgres://openser:openserrw@XXX.XXX.XXX.XXX:5432/openser")<br><br>modparam("acc", "db_url", "postgres://openser:openserrw@XXX.XXX.XXX.XXX
:5432/openser")<br>#modparam("acc", "db_url", "postgres://openser:openserrw@XXX.XXX.XXX.XXX:5432/openser")<br>#modparam("acc", "failed_transaction_flag", 1)<br>#modparam("acc", "report_cancels", 1)
<br>modparam("acc", "db_flag", 1)<br>modparam("acc", "log_level", 1)<br>#modparam("acc", "log_fmt", "mfs")<br>#modparam("acc", "log_flag", 1 )
<br>#modparam("acc", "log_fmt", "miocfs")<br><br><br><br>#modparam("acc", "db_flag", 1)<br><br># ------------------------- request routing logic -------------------<br><br>
# main routing logic<br><br>route{<br> # initial sanity checks -- messages with<br> # max_forwards==0, or excessively long requests<br> if (!mf_process_maxfwd_header("10")) {<br> sl_send_reply("483","Too Many Hops");
<br> exit;<br> };<br><br> if (msg:len >= 2048 ) {<br> sl_send_reply("513", "Message too big");<br> exit;<br> };<br><br> # we record-route all messages -- to make sure that
<br> # subsequent messages will go through our proxy; that's<br> # particularly good if upstream and downstream entities<br> # use different transport protocol<br> if(method=="INVITE")
<br> {<br> # mark the INVITEs for accounting<br> setflag(1);<br> # enforce record-routing so the BYEs will come through this server<br> record_route();<br> };<br><br>
#if (!method=="REGISTER")<br> # record_route();<br><br> # subsequent messages withing a dialog should take the<br> # path determined by record-routing<br> if (loose_route()) {
<br> # mark routing logic in request<br> if(method=="BYE") {<br> setflag(1);<br> }<br> t_relay();<br> return;<br><br>
#append_hf("P-hint: rr-enforced\r\n");<br> #route(1);<br> };<br><br><br> if (!uri==myself) {<br> # mark routing logic in request<br> append_hf("P-hint: outbound\r\n");
<br> # if you have some interdomain connections via TLS<br> #if(uri=~"@tls_domain1.net") {<br> # t_relay("tls:<a href="http://domain1.net">domain1.net</a>");<br> # exit;
<br> #} else if(uri=~"@tls_domain2.net") {<br> # t_relay("tls:<a href="http://domain2.net">domain2.net</a>");<br> # exit;<br> #}<br> route(1);
<br> # 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> } else {<br><br> if (method=="REGISTER") {
<br><br> #Uncomment this if you want to use digest authentication<br> if (!www_authorize("XXX.XXX.XXX.XXX", "subscriber")) {<br> www_challenge("XXX.XXX.XXX.XXX
", "0");<br> exit;<br> } else {<br> save("location");<br> exit;<br> };<br> };<br><br> #lookup("aliases");
<br> #if (!uri==myself) {<br> # append_hf("P-hint: outbound alias\r\n");<br> # route(1);<br> #};<br><br> # native SIP destinations are handled using our USRLOC DB
<br> if (uri=~"sip:003275566*") {<br> if (!lookup("location")) {<br> sl_send_reply("444", "Not Found");<br> exit;<br>
}<br> append_hf("P-hint: usrloc applied\r\n");<br> } else {<br> rewritehost("YYY.YYY.YYY.YYY");<br> #t_relay();<br> };
<br> };<br><br> route(1);<br>}<br><br><br>route[1] {<br> # send it out now; use stateful forwarding as it works reliably<br> # even for UDP2TCP<br> if (!t_relay()) {<br> sl_reply_error();
<br> };<br> #exit;<br>}<br><br>What could cause this silence?<br>I was wondering maybe mediaproxy or rtpproxy could help, but there is no nat so I can find a reason why I should use them.<br><br>Could you check my conf file and point me into appropriate direction. Any kind of help would be gladly expected.
<br><br>Best wishes to all.<br><br>Andrew<br><br><br><br><br><br><br>