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();
};
}