Ok...I removed it and added it at the bottom (or else SER says there is an error). But still the same problem. Here is the new config:
route{ # initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; };
# we record-route all messages -- to make sure that # subsequent messages will go through our proxy; that's # particularly good if upstream and downstream entities # use different transport protocol record_route(); # loose-route processing if (loose_route()) { t_relay(); break; }; # if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) { if (method=="REGISTER") { save("location"); break; }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; };
# forward to current uri now; use stateful forwarding; that # works reliably even if we forward from TCP to UDP if (!t_relay()) { sl_reply_error(); }; } }
Nils Ohlmeier wrote:
Simply removed the second bracket after save("location"); break;
see below
Nils
Am Friday 30 January 2004 04:06 schrieb Andres:
Hi,
I downloaded the latest CVS tarball and installed it in our lab. Using a LAN setup, where SER and 2 Sipura units are all in the same subnet, I am unable to complete any calls. All I can tell is that SER is unable to match the ACK to a current transaction. So when phone A makes a call to phone B and it answers, phone B sends the STATUS 200 OK back. Phone A then sends the ACK, but SER is unable to match it and is not forwarded to phone B. So the call is not completed.
The syslog just shows a bunch of these messages: Warning: sl_send_reply: I won't send a reply for ACK!!
I have tried this under RedHat 7.3 and Solaris 8 with the exact same results.
I can send the Ethereal Trace of this event to whoever can help me.
The config file is extremely simple (listed below).
Any clues of what is going on?
Thanks.
-- Andres Network Admin http://www.telesip.net
route{ # initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; };
# we record-route all messages -- to make sure that # subsequent messages will go through our proxy; that's # particularly good if upstream and downstream entities # use different transport protocol record_route(); # loose-route processing if (loose_route()) { t_relay(); break; }; # if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) { if (method=="REGISTER") { save("location"); break; }; };
^^^
remove these bracket because it ends your uri==myself block and thus the ACKs end up in the lookup below.
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; # forward to current uri now; use stateful forwarding; that # works reliably even if we forward from TCP to UDP if (!t_relay()) { sl_reply_error(); };
}