November 14, 2007
View e9ae889126

Fixing improper blacklisting of destinations because of non-INVITE timeouts. Two new module parameters are introduced:

Miklos Tirpak authored on 14/11/2007 15:30:21
July 26, 2007
View 7a64325cf2

dst blacklist callbacks are extended with the sip msg parameter.

Miklos Tirpak authored on 26/07/2007 11:52:22
June 28, 2007
View 0dcc9a65e0

- fix: reset_static_buffer() before running failure, reply or branch routes from tm (needed for select) closes SER-288.

Andrei Pelinescu-Onciul authored on 28/06/2007 12:47:03
June 18, 2007
View edb1a40483

- when failing to send on all branches (due to send error, onsend_router or blacklist), always send back a send error reply (ignore possible dns errors which might have happened during dns failover)

Andrei Pelinescu-Onciul authored on 18/06/2007 21:26:34
June 14, 2007
View 9f2eed8b56

- updated all the users of run_actions() or do_action() to the new interface

Andrei Pelinescu-Onciul authored on 14/06/2007 23:14:29
June 5, 2007
View 67ad4fb571

- reply code when no new branch was added fix

Andrei Pelinescu-Onciul authored on 05/06/2007 22:13:35
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
May 30, 2007
View 75adc3ac7b

- TMCB_E2ECANCEL_IN reverted again to pass the invite transaction as param - comments update (registering callbacks should now be safe from everywhere)

Andrei Pelinescu-Onciul authored on 30/05/2007 18:35:54
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
View 66298eb439

- more callback fixes (TMCB_E2E_CANCEL_IN never called after the latest changes) - some minor optimizations attempts (predict all the callback branches/ifs as not taken since in the normal case we don't have any callbacks)

Andrei Pelinescu-Onciul authored on 29/05/2007 09:36:51
May 25, 2007
View 6776abcd5a

- fixed TMCB_E2ECANCEL_IN wrong value - fixed wrong buffer length in some TMCB_RESPONSE_SENT callback calls - switched TMCB_E2ECANCEL to path the cancel transaction as param. and not the invite one (bugs reported by Gergely Kovacs <>)

Andrei Pelinescu-Onciul authored on 25/05/2007 16:15:11
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
View 32b645a4d4

- added TMCB_E2E_CANCEL_IN callback, called each a CANCEL mathcing an exisitng invite transaction arrives - fixed has_tran_tmcb typo(?)

Andrei Pelinescu-Onciul authored on 24/05/2007 09:59:39
May 2, 2007
View fe26a2705f

- new tm param. unmatched_cancel that selects how a cancel for which no matching invite is found will be treated: forward it in stateful mode and thus remember it (for some time) so that if the invite arrives out of order tm will know it's already canceled (0 - default), forward it in stateless mode (1) or just drop it (2).

Andrei Pelinescu-Onciul authored on 02/05/2007 16:57:07