On Sat, February 25, 2006 2:58 pm, sip said:
On Sat, 25 Feb 2006 11:48:38 -0500, Kim Culhan wrote
On 2/25/06, Andres andres@telesip.net wrote:
Kim Culhan wrote:
A UA is trying to send NOTIFY:
U 1.2.3.4:56839 -> 5.6.7.8:5060 NOTIFY sip:machine.foo.com SIP/2.0.
There is no user in this NOTIFY message. So there is nothing that SER can lookup. This is probably just a keep-alive.
Yes I think it is just a keep-alive.
Thanks also to "Michal Matyska" michal@iptel.org who wrote:
Hmmm, could you tell me from the message dump, which user do you want to lookup?
This is what I don't understand, where is the user name located ?
What alternative action is there be if you have:
if (!lookup("location")) { sl_send_reply("404", "User Not Found - lookup_location"); break; };
So, what causes the lookup in userloc db to fail ?
As Michal points out, for a keep-alive message like this one there is no user in the usrloc dbso it must return a 404 error ?
Is the UA sending the keep-alive doing the wrong thing ?
-kim
Is this a Snom phone by any chance? I know they use NOTIFY messages as a keep-alive, although a few others do as well. In my config, I have a section to handle just that:
if((method=="NOTIFY") && search("^Event: keep-alive")) { sl_send_reply("200", "OK"); break; };
This is a Sipura SPA-841 with NAT Keep Alive Enable: set to YES
It sends a NOTIFY about every 10 seconds where the replies are:
SIP/2.0 404 User Not Found
Adding the above test for NOTIFY and keep-alive to features-callfwd.cfg 15 2005-09-15:
# ----------------------------------------------------------------- # Call Type Processing Section # ----------------------------------------------------------------- if (!is_uri_host_local()) { if (is_from_local() || allow_trusted()) { route(4); route(1); } else { sl_send_reply("403", "Forbidden"); }; break; };
if((method=="NOTIFY") && search("^Event: keep-alive")) { sl_send_reply("200", "OK"); break; } else if (method=="CANCEL") { route(1); break;
Results in sending: SIP/2.0 200 OK to the Sipura.
regards -kim
-- w8hdkim er gmail.com