[OpenSIPS-Users] Validate dialog confusion

John Nash john.nash778 at gmail.com
Wed Dec 31 13:27:26 CET 2014


Or may be should try to match_dialog and then relay

On Wed, Dec 31, 2014 at 5:57 PM, John Nash <john.nash778 at gmail.com> 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 <bogdan at opensips.org>
> 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 Developerhttp://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 listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20141231/5a1a0290/attachment.htm>


More information about the Users mailing list