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]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to