[Kamailio-Users] Profile takes some time to be cleared

mayamatakeshi mayamatakeshi at gmail.com
Wed Apr 15 10:06:41 CEST 2009


On Wed, Apr 15, 2009 at 4:27 PM, Daniel-Constantin Mierla
<miconda at gmail.com> wrote:
> Hello,
>
> On 04/15/2009 06:43 AM, mayamatakeshi wrote:
>>
>> On Thu, Feb 26, 2009 at 3:22 AM, Daniel-Constantin Mierla
>> <miconda at gmail.com> wrote:
>>
>>>
>>> On 02/25/2009 06:16 PM, mayamatakeshi wrote:
>>>
>>>>
>>>> On Thu, Feb 26, 2009 at 12:34 AM, mayamatakeshi
>>>> <mayamatakeshi at gmail.com>
>>>> wrote:
>>>>
>>>>
>>>>>
>>>>> On Wed, Feb 25, 2009 at 7:29 PM, mayamatakeshi
>>>>> <mayamatakeshi at gmail.com>
>>>>> wrote:
>>>>>
>>>>>
>>>>>>
>>>>>> Hello,
>>>>>> I'm using the set_dlg_profile function from the dialog module
>>>>>> (kamailio
>>>>>> 1.4).
>>>>>> I use it to control limit of simultaneous calls to clients.
>>>>>> I'm noticing that after this function is called, even if the call
>>>>>> terminates immediately, it takes some 3 to 4 seconds for the profile
>>>>>> to be cleared. Is there any reason for this?
>>>>>> I can see even if I call unset_dlg_profile on failure_route, the
>>>>>> profile will take that time span to be cleared.
>>>>>>
>>>>>>
>>>>>
>>>>> Sorry, I was retesting this. it seems unset_dlg_profile do has
>>>>> >immediate
>>>>> effect.
>>>>>
>>>>>
>>>>
>>>> Oh yes, unset_dlg_profile will immediately remove the dialog from the
>>>> profile, but this cannot be called from request_route, so if a call is
>>>> immediately answered and disconnected,
>>>>
>>
>> Hello Daniel,
>> sorry for the late reply (I was not aware of you response till some
>> days ago. I might have mistakenly deleted your message without reading
>> it).
>>
>>
>>>
>>> is the call answered? or the call is cancelled?
>>>
>>
>> The call is answered immediately upon reception of the INVITE and
>> immediately terminated with BYE.
>>
>>
>>>
>>> The profile should be removed as soon as the dialog terminates.
>>>
>>
>> This is not happening if you expect the profile to be cleared by
>> itself upon reception of BYE (it will only happen for calls longer
>> than 3 or 4 seconds from INVITE to BYE).
>>
>>
>>>
>>> I do not see
>>> a reason why not enabling the unset_dlg_profile for request_route. Edit
>>> modules/dialog/dialog.c and set REQUEST_ROUTE for unset_dlg_profile in:
>>>
>>> static cmd_export_t cmds[]
>>>
>>> Then in: modules/dialog/dlg_profile.c, in function unset_dlg_profile
>>> replace
>>> line:
>>> if (dlg==NULL || route_type==REQUEST_ROUTE) {
>>>
>>> with:
>>> if (dlg==NULL) {
>>>
>>> Recompile, reinstall, do some tests and report it here. If all ok, we can
>>> enable it.
>>>
>>
>> I tried that with the 1.4 branch and it works.
>>
>
> to summarize now:
> - unset_dlg_profile works ok with the change in the source
> - still there is not an auto-clear for very short calls
>
> Is it right?

Hello, Daniel
yes, that's correct.

regards,
takeshi



More information about the Users mailing list