Browse code

missing history entries completed

Jiri Kuthan authored on 29/03/2003 01:38:11
Showing 12 changed files
... ...
@@ -27,6 +27,9 @@
27 27
  * History
28 28
  * -------
29 29
  * 2003-03-16  removed _TOTAG (jiri)
30
+ * 2003-03-06  200/INV to-tag list deallocation added;
31
+ *             setting "kill_reason" moved in here -- it is moved
32
+ *             from transaction state to a static var(jiri)
30 33
  */
31 34
 
32 35
 #include "defs.h"
... ...
@@ -27,6 +27,7 @@
27 27
  * History:
28 28
  * --------
29 29
  * 2003-03-16  removed _TOTAG (jiri)
30
+ * 2003-03-06  we keep a list of 200/INV to-tags now (jiri)
30 31
  * 2003-03-01  kr set through a function now (jiri)
31 32
  */
32 33
 
... ...
@@ -28,11 +28,14 @@
28 28
 /*
29 29
  * History:
30 30
  * -------
31
+ *  2003-03-19  replaced all the mallocs/frees w/ pkg_malloc/pkg_free (andrei)
32
+ *  2003-03-06  callbacks renamed; "blind UAC" introduced, which makes
33
+ *              transaction behave as if it was forwarded even if it was
34
+ *              not -- good for local UAS, like VM (jiri)
31 35
  *  2003-03-01  kr set through a function now (jiri)
32 36
  *  2003-02-24  s/T_NULL/T_NULL_CELL/ to avoid redefinition conflict w/
33 37
  *              nameser_compat.h (andrei)
34 38
  *  2003-02-13  proto support added (andrei)
35
- *  2003-03-19  replaced all the mallocs/frees w/ pkg_malloc/pkg_free (andrei)
36 39
  */
37 40
 
38 41
 #include "defs.h"
... ...
@@ -27,6 +27,7 @@
27 27
  * History:
28 28
  * --------
29 29
  * 2003-03-16 backwards-compatibility callback names introduced (jiri)
30
+ * 2003-03-06 old callbacks renamed, new one introduced (jiri)
30 31
  */
31 32
 
32 33
 
... ...
@@ -51,6 +51,10 @@
51 51
  *
52 52
  * History:
53 53
  * ----------
54
+ * 2003-03-29  optimization: e2e ACK matching only if callback installed
55
+ *             (jiri)
56
+ * 2003-03-06  dialog matching introduced for ACKs -- that's important for 
57
+ *             INVITE UAS (like INVITE) and 200/ACK proxy matching (jiri)
54 58
  * 2003-03-01  kr set through a function now (jiri)
55 59
  * 2003-02-28 scratchpad compatibility abandoned (jiri)
56 60
  * 2003-02-27  3261 ACK/200 consumption bug removed (jiri)
... ...
@@ -1022,12 +1026,24 @@ int t_newtran( struct sip_msg* p_msg )
1022 1022
 
1023 1023
 		/* was it an e2e ACK ? if so, trigger a callback */
1024 1024
 		if (lret==-2) {
1025
-				REF_UNSAFE(t_ack);
1026
-				UNLOCK_HASH(p_msg->hash_index);
1027
-				if (unmatched_totag(t_ack, p_msg)) {
1028
-						callback_event( TMCB_E2EACK_IN, t_ack, p_msg, p_msg->REQ_METHOD );
1025
+				/* no callbacks? complete quickly */
1026
+				if (!callback_array[TMCB_E2EACK_IN]) {
1027
+					UNLOCK_HASH(p_msg->hash_index);
1028
+				} else {
1029
+					REF_UNSAFE(t_ack);
1030
+					UNLOCK_HASH(p_msg->hash_index);
1031
+					/* we don't call from within REPLY_LOCK -- that introduces
1032
+				   	   a race condition; however, it is so unlikely and the
1033
+				   	   impact is so small (callback called multiple times of
1034
+			           multiple ACK/200s received in parallel), that we do not
1035
+				   	    better waste time in locks
1036
+					 */
1037
+					if (unmatched_totag(t_ack, p_msg)) {
1038
+						callback_event( TMCB_E2EACK_IN, t_ack, p_msg, 
1039
+							p_msg->REQ_METHOD );
1040
+					}
1041
+					UNREF(t_ack);
1029 1042
 				}
1030
-				UNREF(t_ack);
1031 1043
 		} else { /* not e2e ACK */
1032 1044
 			UNLOCK_HASH(p_msg->hash_index);
1033 1045
 			/* now, when the transaction state exists, check if
... ...
@@ -28,6 +28,10 @@
28 28
  * History:
29 29
  * --------
30 30
  * 2003-03-16  removed _TOTAG (jiri)
31
+ * 2003-03-10  fixed new to tag bug/typo (if w/o {})  (andrei)
32
+ * 2003-03-06  saving of to-tags for ACK/200 matching introduced, 
33
+ *             voicemail changes accepted, udpated to new callback
34
+ *             names (jiri)
31 35
  * 2003-03-01  kr set through a function now (jiri)
32 36
  * 2003-02-28 scratchpad compatibility abandoned (jiri)
33 37
  * 2003-02-18  replaced TOTAG_LEN w/ TOTAG_VALUE_LEN (TOTAG_LEN was defined
... ...
@@ -35,7 +39,6 @@
35 35
  * 2003-02-13  updated to use rb->dst (andrei)
36 36
  * 2003-01-27  next baby-step to removing ZT - PRESERVE_ZT (jiri)
37 37
  * 2003-01-19  faked lump list created in on_reply handlers
38
- * 2003-03-10  fixed new to tag bug/typo (if w/o {})  (andrei)
39 38
  */
40 39
 
41 40
 
... ...
@@ -57,6 +57,7 @@
57 57
  *  2003-02-18  added t_forward_nonack_{udp, tcp}, t_relay_to_{udp,tcp},
58 58
  *               t_replicate_{udp, tcp} (andrei)
59 59
  *  2003-02-19  added t_rely_{udp, tcp} (andrei)
60
+ *  2003-03-06  voicemail changes accepted (jiri)
60 61
  *  2003-03-10  module export interface updated to the new format (andrei)
61 62
  *  2003-03-16  flags export parameter added (janakj)
62 63
  *  2003-03-19  replaced all mallocs/frees w/ pkg_malloc/pkg_free (andrei)
... ...
@@ -23,6 +23,10 @@
23 23
  * You should have received a copy of the GNU General Public License 
24 24
  * along with this program; if not, write to the Free Software 
25 25
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26
+ *
27
+ * History:
28
+ * --------
29
+ * 2003-03-06  voicemail changes accepted
26 30
  */
27 31
 
28 32
 #include "defs.h"
... ...
@@ -23,6 +23,12 @@
23 23
  * You should have received a copy of the GNU General Public License 
24 24
  * along with this program; if not, write to the Free Software 
25 25
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26
+ *
27
+ *
28
+ * History:
29
+ * --------
30
+ * 2003-03-06  voicemail changes accepted
31
+ *
26 32
  */
27 33
 
28 34
 
... ...
@@ -28,6 +28,9 @@
28 28
  *
29 29
  * History:
30 30
  * --------
31
+ * 2003-03-18  killed the build_warning snprintf (andrei)
32
+ * 2003-03-06  totags in outgoing replies bookmarked to enable
33
+ *             ACK/200 tag matching
31 34
  * 2003-03-01  VOICE_MAIL defs removed (jiri)
32 35
  * 2003-02-28  scratchpad compatibility abandoned (jiri)
33 36
  * 2003-01-20  bug_fix: use of return value of snprintf aligned to C99 (jiri)
... ...
@@ -39,7 +42,6 @@
39 39
  * 2003-01-27  more rport fixes (make use of new via_param->start)  (andrei)
40 40
  * 2003-01-27  next baby-step to removing ZT - PRESERVE_ZT (jiri)
41 41
  * 2003-01-29  scratchpad removed (jiri)
42
- * 2003-03-18  killed the build_warning snprintf (andrei)
43 42
  *
44 43
  */
45 44
 
... ...
@@ -26,6 +26,9 @@
26 26
  *
27 27
  * History:
28 28
  * --------
29
+ * 2003-03-06  totags in outgoing replies bookmarked to enable
30
+ *             ACK/200 tag matching
31
+ *
29 32
  * 2003-03-01 VOICE_MAIL defs removed (jiri)
30 33
  */
31 34
 
... ...
@@ -26,6 +26,8 @@
26 26
  *
27 27
  * History
28 28
  * -------
29
+ * 2003-03-06 enum_request_method changed to begin with 1;
30
+ *            0 reserved for invalid values; (jiri)
29 31
  * 2003-02-28 scratchpad compatibility abandoned (jiri)
30 32
  * 2003-01-28 removed scratchpad (jiri)
31 33
  */