2010/7/9 Iñaki Baz Castillo ibc@aliax.net:
However the current code could leak.
And IMHO it leaks!. The reason is that after the CANCEL the dialog information remains as follows:
dialog:: hash=3132:647756461 state:: 5 timestart:: 0 timeout:: 0 callid:: knfmgpcorrteiia@ibc-torre from_uri:: sip:test_ibc@somedomain.org from_tag:: vicxp caller_contact:: sip:test_ibc@X.X.X.X caller_cseq:: 326 caller_route_set:: caller_bind_addr:: udp:X.X.X.X:5060 to_uri:: sip:XXXXXX@somedomain.org to_tag:: callee_contact:: callee_cseq:: callee_route_set:: callee_bind_addr::
This is, there is no timestart neither timeout values, so even if the expiration time for dialgo module is set to 60 seconds, the dialog remains in memory forever!
Most probably, when the problem "CRITICAL:dialog:log_next_state_dlg: bogus event 7 in state 2 for dlg" occurs (due to a buggy device or whatever) same issue could occur so dialog module would be leaking memory. Perhaps this has something to do with the problems I issued yesterday in a production server.