[OpenSIPS-Users] Question about dialog max timeout...

Bogdan-Andrei Iancu bogdan at voice-system.ro
Mon May 11 12:23:22 CEST 2009


Hi Marc,

Marc Leurent wrote:
> Good morning everybody,
> Thank you for the information!!
>
> So my first problem is that dialogs are built even if I do not call the create_dialog() function or the setflag(4) that I have defined in dialog params..
>   

to solve this mystery...can you grab a full debug log (debug=6) from 
your opensips ? I will try to see what is triggering the dialog creation 
- if no issue you can send me offlist the script to be able to correlate 
with the logs.
> To answer your question, yes dialogs are being removed, but some of them are not, I think because of reasons below:
>
> Each time I REGISTER:
> If Contact header is used to match the dialog, if I rewrite it because of routing specific architecture in fix_nated_contact();, dialogs won't be removed even if I use modparam("dialog", "dlg_match_mode", 0) ?? Because dialogs are still there after the 200 OK like this dialog for REGISTER:
> dialog::  hash=3917:871117747
>         state:: 3
>         user_flags:: 0
>         timestart:: 1242029446
>         timeout:: 11025
>         callid:: jjolrfphvjriywr at leonhart.interne
>         from_uri:: sip:0213115090 at 212.147.46.91
>         from_tag:: pnvkk
>         caller_contact:: sip:02131090 at 194.38.160.113:5070
>         caller_cseq:: 554
>         caller_route_set::
>         caller_bind_addr:: udp:212.147.46.91:5060
>         to_uri:: sip:0213115090 at 212.147.46.91
>         to_tag:: as54366440
>         callee_contact:: sip:02131090 at 212.147.46.81:5060
>         callee_cseq:: 554
>         callee_route_set::
>         callee_bind_addr:: udp:212.147.46.91:5060
>
>
> Each time I unregister,I got an error:
> 	ERROR:dialog:populate_leg_info: bad sip message or missing Contact hdr
> Indeed, my Asterisk servers are responding without a Contact header to unregister, keeping dialog data until timeout
> and I thought dialog module didn't need it for matching the dialog!
>   

You should not use dialog module for register - the dialog module works 
only for INVITE  !

REgards,
Bogdan
> Thank you
> ++
>
> -- --
> Marc LEURENT
> lftsy at leurent.eu
>
> Le Saturday 09 May 2009 10.59:18 Bogdan-Andrei Iancu, vous avez écrit :
>   
>> Hi Marc,
>>
>> It is normal to increase as it is an absolute timestamp - see my prev 
>> email on this thread.
>>
>> Regarding the shm mem - do you see the dialogs actually being removed?
>>
>> Regards,
>> Bogdan
>>
>> Marc Leurent wrote:
>>     
>>> Sorry for the 3rd email.. but I think it's interesting, because the dialog timeout of my transactions seems to increase with OpenSIPs uptime!
>>> So my shm memory increase all the time. Does any one have the same problem with OpenSIPs 1.5.1?
>>> Thanks
>>>
>>> opensipsctl fifo dlg_list | grep timeout | sort -nr
>>>         timeout:: 20395
>>>         timeout:: 20340
>>>         timeout:: 20285
>>>         timeout:: 20230
>>>         timeout:: 20175
>>>         timeout:: 20120
>>>         timeout:: 20064
>>>         timeout:: 20009
>>>         timeout:: 19954
>>>         timeout:: 19899
>>> 	...
>>>
>>> and just after
>>> opensipsctl fifo dlg_list | grep timeout | sort -nr
>>>         timeout:: 20450
>>>         timeout:: 20395
>>>         timeout:: 20340
>>>         timeout:: 20285
>>>         timeout:: 20230
>>>         timeout:: 20175
>>>         timeout:: 20120
>>>         timeout:: 20064
>>>         timeout:: 20009
>>>         timeout:: 19954
>>>         timeout:: 19899
>>> 	...
>>>
>>> PS: I'm using
>>> opensips -V
>>> version: opensips 1.5.1-notls (x86_64/linux)
>>> flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
>>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>>> svnrevision: unknown
>>> @(#) $Id: main.c 5469 2009-03-18 12:43:10Z bogdan_iancu $
>>> main.c compiled on 19:03:00 Apr 30 2009 with gcc 4.1.2
>>>
>>>
>>> Le Friday 08 May 2009 13.06:18 Marc Leurent, vous avez écrit :
>>>   
>>>       
>>>> Hello all, I have juste a small question about the dialog module, I have set the parameters below for OpenSIPs dialog module with a "default_timeout",  to 3 hours,
>>>>
>>>> # ----- dialog params -----
>>>> modparam("dialog", "enable_stats", 1)                           # If the statistics support should be enabled or not.
>>>> #modparam("dialog", "hash_size", 4096)                          # The size of the hash table internally used to keep the dialogs.
>>>> modparam("dialog", "rr_param", "did")                           # Name of the Record-Route parameter to be added with the dialog cookie.
>>>> modparam("dialog", "dlg_flag", 4)                               # Flag to be used for marking if a dialog should be constructed for the current request.
>>>> #modparam("dialog", "buy_on_timeout_flag", 6)                   # Message falg to be set if you want the dialog module to automatically send BYE requests (in both directions) when the dialog give timeout.
>>>> #modparam("dialog", "timeout_avp", "$avp(i:10)")                # The specification of an AVP to contain a custom timeout (in seconds) for the dialog.
>>>> modparam("dialog", "default_timeout", 10800)                    # The default dialog timeout (in seconds) if no custom one is set.
>>>> #modparam("dialog", "dlg_extra_hdrs", "Hint: credit expired\r\n")       # A string containing the extra headers to be added in the requests generated
>>>> modparam("dialog", "dlg_match_mode", 0)                         # The match is done exclusively based on DID;
>>>> modparam("dialog", "db_url", "mysql://opensips:Uwefwefwefo3J@localhost/opensips")
>>>> modparam("dialog", "db_mode", 1)                                # Describe how to push into the DB the dialogs' information from memory.
>>>> modparam("dialog", "db_update_period", 30)                      # The interval (seconds) at which to update dialogs' information if you chose to store.
>>>> #modparam("dialog", "profiles_with_value", "caller ; my_profile")       # List of names for profiles with values.
>>>> #modparam("dialog", "profiles_no_value", "inbound ; outbound")          # List of names for profiles without values.
>>>>
>>>> but I have some dialogs that have a superior timeout like this one..
>>>> Have you got any idea how to see where this timeout is defined and how to force it to a lower value!
>>>> Because of this, I reach my "snmpstats", "dlg_minor_threshold", 900 very quickly
>>>> Thanks!
>>>>
>>>> dialog::  hash=1768:1584216798
>>>>         state:: 3
>>>>         user_flags:: 0
>>>>         timestart:: 1241777705
>>>>         timeout:: 16267
>>>>         callid:: zaltktgtpqzdqvo at leonhart.interne
>>>>         from_uri:: sip:0213115090 at 212.147.46.91
>>>>         from_tag:: ooctt
>>>>         caller_contact:: sip:0213115090 at 194.38.160.113:5070
>>>>         caller_cseq:: 960
>>>>         caller_route_set::
>>>>         caller_bind_addr:: udp:212.147.46.91:5060
>>>>         to_uri:: sip:0213115090 at 212.147.46.91
>>>>         to_tag:: as79ae919b
>>>>         callee_contact:: sip:0213115090 at 212.147.46.81:5060
>>>>         callee_cseq:: 960
>>>>         callee_route_set::
>>>>         callee_bind_addr:: udp:212.147.46.91:5060
>>>>
>>>>
>>>>     
>>>>         
>>>   
>>>       
>
>
>
>   




More information about the Users mailing list