[OpenSER-Devel] proper use of t_reply_with_body from tm

Denis Bilenko denis at ag-projects.com
Mon May 19 11:52:17 CEST 2008


Hi,

I'm using tm module for msrpfocus mdule, in particular t_reply_with_body,
and it works well, although I have an issue with it.

Call flow is as follows:

on INVITE:

 1. t_newtran
 2. register_tmcb(TMCB_TRANS_DELETED)
 3. REF_UNSAFE(trans)   <----- This is the issue
 4. t_reply_with_body

on ACK:

 1. t_newtran
 2. mark transaction as `confirmed`, so when TMCB_TRANS_DELETED fired we'll
know that ACK didn't arrive on time

The issue is - why do I need to call REF_UNSAFE? (If I don't - transaction ends up
with refcount==-1).
Since I don't touch refcount anywhere else, this one looks very unnatural.
Maybe the above call flow is missing something?

If I do need to call it for some reason, I guess should rather call synchronized
version, but it's not in the public API of tm module.

Regards,
Denis.



More information about the Devel mailing list