[OpenSIPS-Users] dlg_validate_dialog errors in loose_route
Bogdan-Andrei Iancu
bogdan at opensips.org
Wed Apr 13 21:51:46 CEST 2011
Hi Jeff,
On 04/13/2011 06:23 PM, Jeff Pyle wrote:
> Bogdan,
>
> Don't hold back…let's hear how you really feel. :)
Do not make me start :P
>
> I understand your position. Unfortunately since there are UAs that do
> this, and they RFC compliant in their behavior, the validate_dialog()
> function is less useful in the real world. I've had to remove it from
> my configs.
I agree with you - we like it or not, needs yo comply with the RFC.
As today we had the monthly IRC meeting, I brought this into discussion
(SIP-wise URI matching) and already have an action plan set (together
with Ovidiu Sas).
>
> I'm fighting a similar situation regarding the behavior of the
> uac_replace_from function. It seems that Acme SBCs replace the value
> of the From header (old To header) on new requests within a dialog,
> and this breaks the uac_replace_from function. I've cited the second
> paragraph of section 12.2.1.1 of RFC 3261. The carrier I'm fighting
> with now reads this "mandatory reflection" behavior as part of the old
> RFC 2543, not 3261. They aren't willing to put any more time into
> configuring their Acme to maintain the headers. I work with another
> carrier partner who also uses Acme who was able to make the change.
> I'm trying to get the details from the second carrier so I can share
> them with the first.
Life is complicated with RFCs...even we all read the same papers, we
have as many opinions as number of readers :P.
BTW, have you tested the ACK patch I sent you ?
Regards,
Bogdan
>
>
> - Jeff
>
> From: Bogdan-Andrei Iancu <bogdan at opensips.org
> <mailto:bogdan at opensips.org>>
> Reply-To: OpenSIPS users mailling list <users at lists.opensips.org
> <mailto:users at lists.opensips.org>>
> Date: Wed, 13 Apr 2011 10:54:00 -0400
> To: "users at lists.opensips.org <mailto:users at lists.opensips.org>"
> <users at lists.opensips.org <mailto:users at lists.opensips.org>>
> Subject: Re: [OpenSIPS-Users] dlg_validate_dialog errors in loose_route
>
> Hi Jeff,
>
> Well, life sucks.....You see, the UA you use is re-ordering the URI
> params...This is perfectly allowed from RFC point of view, but is
> bullshit in real life. So your UA is compliant, but not fairplay :)....
>
> The only solution to this is to extend the "SIP URI matching" from
> simple string comparison, to RFC-wise comp - parsing the URI, checking
> username, domain, params, etc.....I tried to avoid this as much as
> possible as it BS to me....
>
> Regards,
> Bogdan
>
> On 04/13/2011 05:34 AM, Jeff Pyle wrote:
>> This thing is picky… The validation failed with the following values
>> in the log entry:
>>
>> req=[sip:<opensips IP>;*lr;r2=on*;ftag=gK0706089a;did=e17.bfb88ba7],
>> dlg=[sip:<opensips IP>;*r2=on;lr*;ftag=gK0706089a;did=e17.bfb88ba7]
>>
>> Not quite sure what to say about this one.
>>
>>
>> - Jeff
>>
>> From: Jeff Pyle <jpyle at fidelityvoice.com
>> <mailto:jpyle at fidelityvoice.com>>
>> Reply-To: OpenSIPS users mailling list <users at lists.opensips.org
>> <mailto:users at lists.opensips.org>>
>> Date: Mon, 11 Apr 2011 10:15:11 -0400
>> To: OpenSIPS users mailling list <users at lists.opensips.org
>> <mailto:users at lists.opensips.org>>
>> Subject: Re: [OpenSIPS-Users] dlg_validate_dialog errors on BYE and
>> ACK in loose_route
>>
>> Indeed! I hadn't noticed the difference in the dlg vs req sections
>> of the debug message.
>>
>> I shall try exactly as you suggest. Thanks.
>>
>>
>> - Jeff
>>
>> From: Vlad Paiu <vladpaiu at opensips.org <mailto:vladpaiu at opensips.org>>
>> Reply-To: OpenSIPS users mailling list <users at lists.opensips.org
>> <mailto:users at lists.opensips.org>>
>> Date: Mon, 11 Apr 2011 06:13:32 -0400
>> To: "users at lists.opensips.org <mailto:users at lists.opensips.org>"
>> <users at lists.opensips.org <mailto:users at lists.opensips.org>>
>> Subject: Re: [OpenSIPS-Users] dlg_validate_dialog errors on BYE and
>> ACK in loose_route
>>
>> 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
>> onlyattach "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 routenumber 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.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> --
> Bogdan-Andrei Iancu
> OpenSIPS eBootcamp - 2nd of May 2011
> OpenSIPS solutions and "know-how"
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
--
Bogdan-Andrei Iancu
OpenSIPS eBootcamp - 2nd of May 2011
OpenSIPS solutions and "know-how"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20110413/1800b74f/attachment-0001.htm>
More information about the Users
mailing list