March 13, 2009
View 33bfeb9da9

The fixup function prototypes of the config variables have been extended with the group name. All the fixup functions have been updated.

Miklos Tirpak authored on 13/03/2009 13:59:28
November 28, 2008
View 018226b08a

more type punning warnings fixed

Andrei Pelinescu-Onciul authored on 28/11/2008 15:24:15
November 10, 2008
View 3ee91bcbc6

t_suspend() and t_continue() functions are introduced.

Miklos Tirpak authored on 10/11/2008 12:47:02
May 30, 2008
View c1d3d33509

- fix: in some corner cases where send blocks for a long time or when final reply or on send callbacks take too much time to execute for a transaction for which the final reply timer just expired, it is possible that the wait handler would execute _before_ we are finished with t (e.g. before all the callbacks are called). Because presence on a timer list is not ref. counted and we optimize deletion by allowing unlink_timer() not to wait for the fr_timer to finish (timer_allow_del()) this would mean the transaction will be deleted while still in use. The fix makes sure the wait timer is always started after we're not looking at t anymore (an alternative would be to remove timer_allow_del() from retr_buf_hanlder(), but this could cause fast timer slowdowns).

Andrei Pelinescu-Onciul authored on 30/05/2008 21:10:53
March 31, 2008
View 2b5e525407

New TM export - cancel_all_uacs() - to allow canceling all branches of a transaction. (Closes issue #SER-253).

Bogdan Pintea authored on 31/03/2008 18:19:49
March 11, 2008
View 1e49e88305

- use cancel_b_method also when CANCEL-ing due to received 6xx

Andrei Pelinescu-Onciul authored on 11/03/2008 23:59:27
March 8, 2008
View 68d3acafc6

- added a new tm parameter (cancel_b_method) that selects between 3 different behaviours when attempting to cancel a branch where no reply was received: 0 (default) - stop request retransmission and send back a fake 487 (old ser behaviour) ; 1 - keep retransmitting the request until a reply is received or the final reply timeout kicks in ; 2 - stop request retransmission and send and retransmit a cancel on the branch (this is not rfc conformant, but IMHO it wouldn't hurt) .

Andrei Pelinescu-Onciul authored on 08/03/2008 00:20:36
February 15, 2008
View 2b36d88927

tm module parameters are changed to use the configuration framework, that means the parameters are changeable on-the-fly. ("fr_timer_avp", "fr_inv_timer_avp", and "tw_append" are left untouched)

Miklos Tirpak authored on 15/02/2008 12:11:46
June 5, 2007
View b4a4494d15

- e2ecancel is sent hop by hop (closes SER-68) - delayed err reply: delay error replies from t_relay() until end of script: if script hasn't replied or dropped the trans., send reply(tm_errno). - automatic 100 reply generation for invites can be turned on/off via a tm global parameter or on a per transaction basis (auto_inv_100, t_set_auto_inv_100()) (closes SER-199) - different error replies for too many branches, resolve or send error - if error adding branches, reply with the lowest error - membar_write before increasing nr_of_outgoings (branches) and membar_depends in which_cancel (should allow lockless which_cancel, with the possible race of not canceling a branch that is being created in the same time, OTOH this happens even if locks are used)

Andrei Pelinescu-Onciul authored on 05/06/2007 15:16:44
View 3357dbdf88

- fix: relay_reply/local_reply on error cancel/cancel_bitmap: avoid attempts to cancel twice - fix: wrong silent discarding condition - noisy_ctimer is now 1 (on) by default (due to the above fix you'll really see silent discards without it which is not probably what you want/expect) - cancel updates: - cancel not sent on timeout, for branches on which no reply was received (closes SER-254). - cancels for silently canceled branches (no replies ever received) are automatically generated if later a provisional reply arrives on such a branch (close SER-232) - if branch canceled (non-silently) and provis. reply on it => immediately retransmit cancel - should_cancel_branch() can now be called w/o any lock held

Andrei Pelinescu-Onciul authored on 05/06/2007 14:35:17
View c0ff60b688

- tm per transaction retr timers: support for changing the retransmission intervals on the fly, from the script, on a per transaction basis (it is enabled if tm is compiled with -DTM_DIFF_RT_TIMEOUT -- default): t_set_retr(t1, t2) - tm transaction lifetime for inv/noninv (config. per transaction): added maximum transaction lifetime - a transaction is not allowed to be active longer then this interval. See t_set_max_lifetime() or the new script params. max_inv_lifetime and max_noninv_lifetime. - fix: retr_interval was not disabled on error in retr_buf_hanlder

Andrei Pelinescu-Onciul authored on 05/06/2007 14:12:36
May 29, 2007
View 344c31a9ea

CANCELs and negative ACKs are constructed from the INVITE which was sent out instead of building them from the received one. The disadvantage is that the outgoing INVITE has to be partially reparsed, the advantage is that the CANCEL/ACK is always RFC-compliant, it always contains the same route-set as the INVITE message. (closes SER-212)

Miklos Tirpak authored on 29/05/2007 15:52:37
May 24, 2007
View 6aa46ec4aa

- tmcb onsend callbacks update (they get also the request or the reply if they are known when the callback is called) - added unlikely() when checking if an onsend callback has to be called (so that the branch will be predicted as untaken)

Andrei Pelinescu-Onciul authored on 24/05/2007 18:01:19
April 27, 2007
View ad99759256

- added flags to tm onsend callbacks that should tell if the callbacks is called due to a retransmission or for a local generated message

Andrei Pelinescu-Onciul authored on 27/04/2007 14:52:06
March 15, 2007
View 9217a64020

- tm on_send callbacks support: if such a callback is registered it will be called after tm sends a message. The callback can "see" what exactly was sent on the wire and to whom. These callbacks are intended to be read-only (no changes to the message are allowed). Their man purpose is extra-accounting or logging. For more info see the comments in tm/t_hooks.h.

Andrei Pelinescu-Onciul authored on 15/03/2007 16:30:16