This is a known problem. It is your responsibility to detect invalid numbers
before sending them to the GW...
However, you should catch the bad ACK earlier (not wait until the loop has
occurred). You didn't include the full, original ACK that starts the loop,
but I assume you should be able to detect the 404 from your GW. I must admit
I'm not really able to picture the dialog that occurs, but I assume the loop
is between SER and the GW or is it a loop within SER itself?
g-)
Corey S. McFadden wrote:
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.
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers