[Serusers] sl_send_reply: I won't send a reply for ACK!! - Problem Identified

Corey S. McFadden csm-lists at csma.biz
Sat Sep 10 03:20:32 CEST 2005


Guys,

I was able to figure out why I was getting occasional sl_send_reply errors 
with some ACK messages.  I don't know if this is something that needs to 
be corrected at a deeper level, but I'll give you the rundown:

1. UA Makes a call to a bad number
2. Bad number is actually valid so it gets routed to the GW
3. GW responds 404
4. ACK loop occurs.

When the ACK loop happens, SIP captures reveal the following (watch the 
Max-Forwards):

#1
..
Max-Forwards:  9
Record-Route: <sip:ser;ftag=0014a934057d001145ed0fa2-6f6f2e8e;lr=on>
Via: SIP/2.0/UDP ser;branch=0
Via: SIP/2.0/UDP 192.168.249.83:5060;received=otherip;branch=z9hG4bK140d833e
..
#2
..
Record-Route: <sip:ser;ftag=0014a934057d001145ed0fa2-6f6f2e8e;lr=on>
Max-Forwards:  8
Record-Route: <sip:ser;ftag=0014a934057d001145ed0fa2-6f6f2e8e;lr=on>
Via: SIP/2.0/UDP ser;branch=0
Via: SIP/2.0/UDP ser;branch=0
Via: SIP/2.0/UDP 
192.168.249.83:5060;received=otherip;branch=z9hG4bK140d833e
..


Etc. etc. until Max Forwards counts down to 0, at which point:

        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483", "Too Many Hops");
                break;
        };

And naturally:
	sl_send_reply: I won't send a reply for ACK!!


So, I've obviously been able to avoid this by changing to:

if (!mf_process_maxfwd_header("10")) {
	if (method!="ACK") {
		sl_send_reply("483", "Too Many Hops");
	};
	break;
};


Now, the greater question: is the ACK loop being generated by a defective 
message.  If so, is it anything to worry about?  And in either case is 
putting the method check in there a valid solution?

Can anyone advise?

Thanks,
-Corey


*********************************************
This message has been scanned for viruses and
dangerous content, and is believed to be clean.




More information about the sr-users mailing list