On Sep 17, 2010 at 12:21, Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
On 9/16/10 11:53 AM, Klaus Darilion wrote:
Am 16.09.2010 10:31, schrieb Daniel-Constantin Mierla:
Hi Klaus,
if you print the value of this avp before and after t_relay(), do you get different values?
t_relay does not even return for ACK:
interesting, I have to test this ...
Maybe Andrei has more insights about this behaviour with the tm from sip router.
t_relay() exits the script if called for an end2end ACK (this is the same as in kamilio <=1.5). What's different is that t_relay() _will_ _not_ exit the script for retransmissions or ACK to negative replies (but this is not related to the avp stuff).
For all the ACK processed by tm, the registered callbacks will be called with the corresponding INVITE transaction contexts as long as this is still available. This means that the ACK callbacks will see the avps setup for the INVITE and not the avps setup before t_relay(). This is a feature.
The same is true for retransmissions (the avps setup for the original transactions are seen inside the callbacks and not the ones setup in the script before t_relay()).
Note that the xlog() before and after t_relay() is irrelevant anyway (it would always print the same values even if the E2E ACK processing would not end the script) since the current avps do not change, the callbacks are just called with the original transaction context.
Andrei