On 10/29/10 5:40 PM, Sergey Okhapkin wrote:
I can't test now - high volume traffic is running. But I looked at the diff, it
seems to me OK, I see no reason why it could not work:-)
Because of the law, the Murphy law ;-)

Probably I will test sometime next week if you don't do it before and then backport.

Cheers,
Daniel

On Friday 29 October 2010, you wrote:
On 10/29/10 4:33 PM, Daniel-Constantin Mierla wrote:
On 10/29/10 4:09 PM, Sergey Okhapkin wrote:
I just realized that 3.1 executes main routing block when broken SIP
message
is received! But sanity_check() function returns 0 on failed checks
and script
execution stops, my favorite xlog() is not executed.
OK, that can be fixed very easy. Iirc, in some cases you don't get the
sip message in the config if it is really broken, but I am not sure if
error_route was executed for that case anyhow.
I committed on git master, id:

39a8108c62a2beafba18417613b9660a8abef86a


Can you take the patch and test it on 3.1? If all is fine, then I can
backport - even the default cfg expects non-drop behavior since it
attempts to print a log message there.

Cheers,
Daniel

Cheers,
Daniel

Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: ERROR:<core>
[parser/msg_parser.c:177]: ERROR: get_hdr_field: bad to header
Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: INFO:<core>
[parser/msg_parser.c:351]: ERROR: bad header field [To: Chi Nhung<sip:
]
Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: ERROR:<core>
[parser/msg_parser.c:177]: ERROR: get_hdr_field: bad to header
Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: INFO:<core>
[parser/msg_parser.c:351]: ERROR: bad header field [To: Chi Nhung<sip:
]
Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: ERROR:<core>
[parser/msg_parser.c:177]: ERROR: get_hdr_field: bad to header
Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: INFO:<core>
[parser/msg_parser.c:351]: ERROR: bad header field [To: Chi Nhung<sip:
]
Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: ERROR:<core>
[msg_translator.c:1946]: ERROR: build_res_buf_from_sip_req: alas, parse
_headers failed
Oct 29 09:48:54 west /usr/local/sbin/kamailio[12225]: WARNING: sanity
[sanity.c:253]: sanity_check(): check_required_headers(): failed to s
end 400 via sl reply

On Friday 29 October 2010, Daniel-Constantin Mierla wrote:
On 10/29/10 11:53 AM, Sergey Okhapkin wrote:
Daniel, I think this could be implemented without re-introduction of
error_route,
it will not be re-introduced for sure, we have now a different core
framework which care reuse event_route mechanism.

In the past the error route was executed when the error was discovered,
so it several places of the code, and I am not sure that the core can
continue up to config execution of something is really broken.

I will have it in mind when I get some spare time.

Cheers,
Daniel

    what about core parameter route_on_error=yes/no (default no)? If
route on error is enabled, then sanity module will do the trick:

route{
           if(!sanity_check("1159")) {
                   xlog("L_INFO","Bad message from
$proto:$si:$sp\n$mb\n");
                   break;
           }
....

It will be up to script writer what to do in main routing block if
message parsing fails.

On Friday 29 October 2010, Sergey Okhapkin wrote:
It would be nice to get error_route back. The route was trivial in my
cfg file:

error_route {
           xlog("L_INFO","Bad message from $proto:$si:$sp\n$mb\n");
           drop();
}

On Friday 29 October 2010, Daniel-Constantin Mierla wrote:
On 10/28/10 1:41 PM, Sergey Okhapkin wrote:
I've found one more feature missed in 3.1 - error_route is
eliminated
and sanity module added. But if received SIP message is
malformed and
can't be parsed, routing script is not executed and I have no
way to
log the message to kamailio log. I did it in error_route before.

This logging is important to me to support customers. SIP ALG in
routers often breaks Via line :-(
Since I developed error_route, I remember that it handled just
sporadic
cases, but I can add an event_route to pass the buffer and some
hints
to configuration file in case the initial parsing fails and the
message
is dropped before getting to config file.

It is good to know that someone use such case, introduction of
sanity
was clearly mentioned and so far there was no complain.

Cheers,
Daniel

On Thursday 28 October 2010, Daniel-Constantin Mierla wrote:
On 10/26/10 2:22 PM, Sergey Okhapkin wrote:
setdebug() function is no longer provided by core. How to change
debug level dynamically in the script to trace execution of a few
statements only?
seems was lost in transition to 3.0, I will check to see what
can be
done with the new architecture.

Thanks,
Daniel
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
list sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

--
Daniel-Constantin Mierla
http://www.asipto.com


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to