[sr-dev] Best way to detect when E2EACK has been sent by proxy using tm hooks?
admorten at isc.upenn.edu
Wed Sep 5 18:26:52 CEST 2012
I'm working on a custom module for 3.2.x, and I'd like to send an UPDATE to both legs of a call after the ACK from the caller is relayed by the proxy to the callee.
I've hooked TMCB_E2EACK_IN, which allows me to detect when the caller sends the ACK to the proxy, but there doesn't seem to be an obvious way for me to detect when the proxy has actually relayed the ACK to the callee. If I register TMCB_REQUEST_SENT in the TMCB_E2EACK_IN callback, the TMCB_REQUEST_SENT callback is never invoked, so for the moment I'm registering a TMCB_DESTROY callback in the TMCB_E2EACK_IN callback. This does get invoked, and I believe I can get everything I need from the struct cell and the param, but the callback is triggered fairly late by tm.
I have two questions, though:
First, is registering the TMCB_DESTROY callback in the ACK callback safe?
Second, is there a better way to do this? I'd prefer options available with the 3.2 release, since our deployment is based on it, but if 3.3+ offers a solution, I'm willing to take a look.
More information about the sr-dev