[SR-Users] Bizarre dialog profile tracking behaviour
Alex Balashov
abalashov at evaristesys.com
Thu Mar 13 18:36:58 CET 2014
Daniel,
On 03/12/2014 04:27 AM, Daniel-Constantin Mierla wrote:
>
> On 11/03/14 18:44, Alex Balashov wrote:
>> We appear to have fixed this problem by calling dlg_manage() before
>> doing any set_dlg_profile() manipulations.
>>
>> The documentation is not clear on whether dlg_manage() needs to be
>> called first before doing this. But it makes me wonder: if
>> dlg_manage() is prerequisite, then why would the profile manipulation
>> work at all beforehand?
>>
> Should work both ways. But I said in previous email, for the second
> invite, the dialog might be found in memory and reused. In that case it
> might not get the new profile for local static lists... so I guess that
> a set_dlg_profile() before dlg_manage() doesn't find dialog shortcut
> (which probably is set by dlg_manage()) and will add to local static
> lists. When the dlg_manage() is executed, first looks for the dialog and
> finds it, then don't create a new one. When creating a new structure,
> the code is looking to local static lists and add the dialog in those
> profiles. Code has to be checked, though, only my guess here.
When dlg_manage() was called after the set_dlg_profile() calls, the
profile count looked like this:
0 -> 1 -> 2 --> 0 (abrupt crash to 0 after 18x messages)
When we put dlg_manage() prior to the set_dlg_profile() calls, the
profile count looks like this:
0 -> 1 -> 2 -> 1 --> 1
This is closer to what we want, of course. The issue is that the dialog
module takes 1-2 seconds to delete the old dialog in this scenario (the
'2 -> 1' step), and for a high volume of calls, that can be a problem
because it inflates the number of calls currently in process by a
substantial proportion, breaking the ability to do concurrent call
limiting effectively.
Since dialog relies on TM callbacks, my question is: are there any
timeouts we can tweak on the TM side that would have the effect of aging
the old (407-challenged) dialog out faster, perhaps nearly instantly,
once the hop-by-hop ACK for the 407 is received?
That is the fundamental problem we're trying to solve at this point.
Thanks,
-- Alex
P.S. if(is_present_hf("Proxy-Authorization")) { track dialog }
... would be an attractive solution. Unfortunately, authentication is
not used in all cases by the upstream gateway, and we cannot predict
which cases those will be.
--
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
More information about the sr-users
mailing list