Hi all.
How can I prevent this warning from occuring?
Warning: sl_send_reply: I won't send a reply for ACK!!
Regards, Paul
Hi Paul, This warning seems to pop up every time we do a major change to the routing logic in ser.cfg :-) The warning will show up when an ACK message hits an sl_send_reply. An ACK should hit t_relay(), not sl_send_reply, which is used for reponses to INVITE. Look for a routing path where ACKs will reach your sl_send_reply and route the ACK another way...
It is really easy to mix-up the routing with a small change as one have to picture how every single type of message will go through the logic. There are a lot of tests and replies that only applies to INVITEs and one solution would be to put all INVITE-related logic into a route[x] and then call the route from the main route using: if(method=="INVITE") { route(x); } There are many ways to build a ser.cfg and I haven't really seen good reference designs (i.e. how to handle different messages and segment logic into route[x]s, etc). So, you have to be able to visualize every type of message and how it will be processed (which, at least in my case, means adding a lot log(1,"reached here") entries and doing tests...) g-)
Java Rockx wrote:
Hi all.
How can I prevent this warning from occuring?
Warning: sl_send_reply: I won't send a reply for ACK!!
Regards, Paul
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Thanks for clearing this up.
Also, yesterday I finally reorganized my entire ser.cfg. Previously I was simply following the example ser.cfg which never encouraged developers to handle SIP message by type. Now I've got exactly what you described
route { if (method=="BYE") { route(2); } else if (method=="INVITE") { route(3); } else if (method=="ACK") {route(4); } else .... }
And in my opinion I now have a much more manageable ser.cfg which is nearly 1500 lines long. So for anyone reading this I'd strongly recommend using a similar approach.
Perhaps I'll post my entire ser.cfg this week for anyone that wants it.
Regards, Paul
On Sat, 19 Feb 2005 11:33:41 +0100, Greger V. Teigre greger@teigre.com wrote:
Hi Paul, This warning seems to pop up every time we do a major change to the routing logic in ser.cfg :-) The warning will show up when an ACK message hits an sl_send_reply. An ACK should hit t_relay(), not sl_send_reply, which is used for reponses to INVITE. Look for a routing path where ACKs will reach your sl_send_reply and route the ACK another way...
It is really easy to mix-up the routing with a small change as one have
to picture how every single type of message will go through the logic. There are a lot of tests and replies that only applies to INVITEs and one solution would be to put all INVITE-related logic into a route[x] and then call the route from the main route using: if(method=="INVITE") { route(x); } There are many ways to build a ser.cfg and I haven't really seen good reference designs (i.e. how to handle different messages and segment logic into route[x]s, etc). So, you have to be able to visualize every type of message and how it will be processed (which, at least in my case, means adding a lot log(1,"reached here") entries and doing tests...) g-)
Java Rockx wrote:
Hi all.
How can I prevent this warning from occuring?
Warning: sl_send_reply: I won't send a reply for ACK!!
Regards, Paul
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers