I used wireshark on all interfaces and there I saw reentrance of ACK and BYE.
Then I spent lot of time to find how to go around.

On Tue, Apr 17, 2012 at 10:41 PM, Saul Waizer <saulwaizer@gmail.com> wrote:
Daniel, i got a fresh install kamailio 3.2.0 running on ubuntu per your suggestion. rtpproxy is running as well. My nathelper looks like this:

# ----- nathelper params -----
modparam("nathelper", "natping_interval", 3)
modparam("nathelper", "ping_nated_only", 0)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org")
# SW changes
modparam("nathelper", "natping_processes", 3)
modparam("nathelper", "sipping_bflag", 7)
modparam("nathelper", "sipping_method", "INFO")

I also ran "kamctl fifo nh_enable_ping 1" on the console.

Calls drop at exactly 30 seconds, I dont see anything obvious in the logs. Any suggestions? Anyone?

On Mon, Apr 16, 2012 at 2:51 PM, Saul Waizer <saulwaizer@gmail.com> wrote:
Daniel,

thank you for the suggestion, I followed the tutorial and got it up and running, however I am still experiencing the same issue, dropped calls after 30 seconds. Furthermore the output of tshark -i eth0 -R sip does not show any errors such as too many hops, everything looks very clean but I still cant get more than 30 seconds out.

I have a default config with mysql enabled and nat. rtproxy is running as well.

Any help is greatly appreciated.


On Mon, Apr 16, 2012 at 1:31 PM, Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,

ngrep trace (I haven't seen any yet in the thread) of such call can help seeing if Record-/Route and Contact headers are properly set and maintained during the call. It might be a broken RR handling in a device or a wrong update of contact address.

On the other hand, in the config, I saw presence being loaded -- if you need that, then start with kamailio 3.2.x, here is a tutorial:

http://www.kamailio.org/wiki/install/3.2.x/git

It comes with a default config file where is very easy to enable nat traversal as well as presence handling -- just read the top of config file and add the appropriate #!define directives.

1.3.x is anyhow way too old...

Cheers,
Daniel



On 4/16/12 7:16 PM, Stoyan Mihaylov wrote:
I am using nathelper and rtpproxy.
We had no serious problems with those modules.
My idea was to overwrite wrong addresses in ACK and BYE packages, because they kept reentering kamailo, instead of being forwarded where they have to go.

By the way - you can add:
modparam("htable", "htable", "forw=>size=8;autoexpire=7200;")
modparam("htable", "htable", "mustforw=>size=8;autoexpire=7200;")

On Mon, Apr 16, 2012 at 8:03 PM, Saul Waizer <saulwaizer@gmail.com> wrote:
Thank you Stoyan

I added the routing config as you suggested but it still drops the call after 30 seconds.

Any other suggestions?

Note: my nathelper module is commented out because I can't get it to work, here is my mod list:

###### Modules Section ########

#set module path
mpath="/usr/lib/openser/modules/"

/* uncomment next line for MySQL DB support */
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
loadmodule "uri_db.so"
loadmodule "uri.so"
loadmodule "xlog.so"
loadmodule "acc.so"

loadmodule "auth.so"
loadmodule "auth_db.so"

#loadmodule "domain.so"
loadmodule "presence.so"
#loadmodule "presence_xml.so"

# !! Nathelper
#loadmodule "nathelper.so"
#loadmodule "nat_traversal.so"
#loadmodule "rtpproxy.so"
#loadmodule "dialog.so"

Thank You


On Mon, Apr 16, 2012 at 12:03 PM, Stoyan Mihaylov <stoyan.v.mihaylov@gmail.com> wrote:
Some time ago, I had similar problem.
This was my solution:
if(is_method("INVITE")){
ds_select_dst("1","4");
$sht(forw=>$ft)=$du;
sl_send_reply("100","Trying");
route(RELAY);
exit();
}

if ( is_method("ACK|BYE") ) {
if ( t_check_trans() ) {
t_relay();
exit;
} else {
if(($sht(forw=>$ft))=~$td){
$du=$sht(forw=>$ft);
}else if((($td=="sip.mydomain.com")||($td=="ip.of.my.domain"))&&($si=="ip.of.my.domain")){
$du=$sht(forw=>$ft);
}
t_relay();
exit;

I am new to opensips so I am not too familiar with the routing logics, a google search on that error suggests that there is a problem with the route config where its creating a loop exhausting the Max Hops. The way I configured my clients uses my server as a proxy.

Any help is greatly appreciated!

On Mon, Apr 16, 2012 at 1:59 AM, davy van de moere <davy.van.de.moere@gmail.com> wrote:
38 seconds sounds pretty close to 30 seconds. Could those 38 seconds be a 30 seconds after the actual answer packet?

If so, you might want to look at ACK and OK packets not arriving correctly because of NAT, wrong IP selection in openser , etc...

A simple tshark might help you out to debug from a higher perspective : tshark -i eth0 -R sip 

good luck!

Op 16 april 2012 05:11 schreef Saul Waizer <saulwaizer@gmail.com> het volgende:
Greetings list,




_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users