[OpenSIPS-Users] dlg_validate_dialog errors on BYE and ACK in loose_route

Vlad Paiu vladpaiu at opensips.org
Mon Apr 11 12:13:32 CEST 2011


Hello Jeff,

It's not that the dialog is already torn down by the time the BYE gets 
to that particular portion of script.
It's complaining about the fact that at the dialog creation, the route 
had the "lr=on" parameter, and at BYE time, the parameter has been 
stripped and set
just to "lr".

This should not happen in a regular scenario, as other SIP entities 
should not explicitly modify the content of Route headers recorded at 
Invite time.
You could try to check the  enable_full_lr ( [1] ) parameter, and only 
attach "lr" instead of "lr=on", and see if this fixes the behavior.

[1] http://www.opensips.org/html/docs/modules/devel/rr.html#id250149

Regards,

-- 
Vlad Paiu
OpenSIPS Developer



On 04/09/2011 10:32 PM, Jeff Pyle wrote:
> Hello,
>
> I'm trying a new chunklet of config in loose_route().  I believe this 
> came from a documentation page somewhere, so I don't pretend to take 
> credit for the concept.
>
>                         # Clean up dialog data if necessary
>                         if ($DLG_status!=NULL && !validate_dialog()) {
>                                 xlog("L_INFO", "Unable to validate 
> dialog, fixing - $hdr(CSeq) on $ci\n");
>                                 fix_route_dialog();
>                         }
>
> I send the first batch of pseudo-production traffic through this 
> config today and I ended up with a metric ton of:
>   ERROR:dialog:dlg_validate_dialog: Check failed for route number 0. 
> req=[sip:<opensips-IP?;lr;ftag=23ddd50-0-13c4-1f179b-78884527-1f179b;did=45b.b972314],dlg=[sip:<opensips-IP>;lr=on;ftag=23ddd50-0-13c4-1f179b-78884527-1f179b;did=45b.b972314]
>
> And, the xlogs from the above line:
>   Unable to validate dialog, fixing - 3 BYE on <callid>
>
> It showed up on a number of BYEs and ACKs.  My dialog module config is 
> as follows:
>
> # ----- dialog params -----
> modparam("dialog", "dlg_flag", 4)
> modparam("dialog", "bye_on_timeout_flag", 4)
> modparam("dialog", "default_timeout", 21600)
> modparam("dialog|sst", "timeout_avp", "$avp(s:dialog_timeout)")
> modparam("dialog", "dlg_extra_hdrs", "Hint: dialog expired\r\n")
> modparam("dialog", "dlg_match_mode", 1)  # 0 = DID_ONLY; 1 = DID 
> first, SIP second; 2 = SIP only
> modparam("dialog", "db_url", "mysql://osuer:ospass@dbcluster/osdb")
> modparam("dialog", "table_name", "dialog_1")
> modparam("dialog", "db_mode", 1)  # 1 = Realtime to DB; 2 = delayed; 3 
> = on shutdown
> modparam("dialog", "profiles_with_value", "711calls; 729calls; calls")
>
> create_dialog() runs on all initial INVITEs.
>
> Is this type of behavior anything close to normal?  What might cause 
> it?  My immediate fix is to simply comment out this portion of the 
> config, but I'm afraid I might be masking a larger issue.  Any 
> suggestions would be great.
>
> Just had a thought as I was about to send this email.  Perhaps this is 
> because by the time the BYE gets to this portion of the script, the 
> dialog is already torn down?  Could it be that simple, just add "if 
> !(is_method("BYE") || is_method("ACK"))" to the top line of this 
> config portion?
>
>
> - Jeff
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>    


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20110411/56099839/attachment.htm>


More information about the Users mailing list