Hi John,
Ideally, you should do something like:
if (loose_route() || match_dialog() ) {
....
}
In this way you can catch also bogus sequential requests without Route
header.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 31.12.2014 14:27, John Nash wrote:
Or may be should try to match_dialog and then relay
On Wed, Dec 31, 2014 at 5:57 PM, John Nash <[email protected]
<mailto:[email protected]>> wrote:
OK got it. I also have a situation where I receive BYE from callee
which has "To" tag but no route header. As per default script this
request should not be allowed to go further. Would
fix_route_dialog(); work or I should just relay it?
On Wed, Dec 31, 2014 at 1:37 AM, Bogdan-Andrei Iancu
<[email protected] <mailto:[email protected]>> wrote:
Hi John,
1) if the request does not match any dialog it will go on the
"else" branch where it simply logs the "valid request" - this
is a simple example, but the idea is that without dialog state
you cannot check if valid or not; and you maybe do not create
dialogs for all your calls and maybe not all your sequential
request are part of a INVITE dialog (you may have re-SUBSCRIBE
or NOTIFYs)
2) the function just fixes, you need to send it out as usual
via the t_relay(),
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 30.12.2014 12:16, John Nash wrote:
I was looking at usage of validate_dialog() and saw the
following snippet from module documentation page. If you
check the else part... as per my understanding if a dialog is
not found ($DLG_status) will be NULL) it will go to else part
which indicates a message has To tag but dialog not found.
How can it be a valid in-dialog request.
if (has_totag()) {
loose_route();
if ($DLG_status!=NULL && !validate_dialog() ) {
xlog(" in-dialog bogus request \n");
} else {
xlog(" in-dialog valid request - $DLG_dir !\n");
}
}
Also there is one more code
if (has_totag()) {
loose_route();
if ($DLG_status!=NULL)
if (!validate_dialog())
fix_route_dialog();
}
After calling fix_route_dialog() do I need to just relay the
message? I mean this function will "fix" the message and
send?....I was trying to look for some security check where
someone can inject a route header and a to tag (Bogus of
course) to reach to my gateways through my proxy.
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users