[svn-commits] mattf: trunk r264 - in /trunk: isup.c isup.h

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Apr 29 11:12:57 CDT 2009


Author: mattf
Date: Wed Apr 29 11:12:53 2009
New Revision: 264

URL: http://svn.digium.com/svn-view/libss7?view=rev&rev=264
Log:
Add ISUP T8 and T24 continuity related timers

Modified:
    trunk/isup.c
    trunk/isup.h

Modified: trunk/isup.c
URL: http://svn.digium.com/svn-view/libss7/trunk/isup.c?view=diff&rev=264&r1=263&r2=264
==============================================================================
--- trunk/isup.c (original)
+++ trunk/isup.c Wed Apr 29 11:12:53 2009
@@ -3569,6 +3569,9 @@
 			e->cot.opc = opc; /* keep OPC information */
 			e->cot.got_sent_msg = c->got_sent_msg;
 			c->got_sent_msg &= ~ISUP_GOT_CCR;
+			isup_stop_timer(ss7, c, ISUP_TIMER_T8);
+			if (!c->cot_check_passed)
+				isup_start_timer(ss7, c, ISUP_TIMER_T27);
 			return 0;
 		case ISUP_CCR:
 			e = ss7_next_empty_event(ss7);
@@ -3583,6 +3586,7 @@
 			e->ccr.opc = opc; /* keep OPC information */
 			e->ccr.call = c;
 			e->ccr.got_sent_msg = c->got_sent_msg;
+			isup_stop_timer(ss7, c, ISUP_TIMER_T27);
 			return 0;
 		case ISUP_CVT:
 			e = ss7_next_empty_event(ss7);
@@ -3997,6 +4001,10 @@
 	e->iam.echocontrol_ind = c->echocontrol_ind;
 	if (!strchr(c->called_party_num, '#'))
 		isup_start_timer(ss7, c, ISUP_TIMER_T35);
+
+	if (c->cot_check_required || c->cot_performed_on_previous_cic)
+		isup_start_timer(ss7, c, ISUP_TIMER_T8);
+	
 	return 0;
 }
 
@@ -4348,6 +4356,8 @@
 
 	if (res > -1) {
 		isup_stop_timer(ss7, c, ISUP_TIMER_T7);
+		isup_stop_timer(ss7, c, ISUP_TIMER_T8);
+		isup_stop_timer(ss7, c, ISUP_TIMER_T27);
 		isup_stop_timer(ss7, c, ISUP_TIMER_T2);
 		isup_stop_timer(ss7, c, ISUP_TIMER_T6);
 		isup_stop_timer(ss7, c, ISUP_TIMER_T35);
@@ -4726,6 +4736,9 @@
 			return 3;
 		case ISUP_TIMER_T7:
 			strcpy (res, "t7");
+			return 3;
+		case ISUP_TIMER_T8:
+			strcpy (res, "t8");
 			return 3;
 		case ISUP_TIMER_T12:
 			strcpy (res, "t12");
@@ -4763,6 +4776,9 @@
 		case ISUP_TIMER_T23:
 			strcpy (res, "t23");
 			return 4;
+		case ISUP_TIMER_T27:
+			strcpy (res, "t27");
+			return 4;
 		case ISUP_TIMER_T33:
 			strcpy (res, "t33");
 			return 4;
@@ -4787,6 +4803,8 @@
 		ss7->isup_timers[ISUP_TIMER_T6] = ms;
 	else if (!strcasecmp(name, "t7"))
 		ss7->isup_timers[ISUP_TIMER_T7] = ms;
+	else if (!strcasecmp(name, "t8"))
+		ss7->isup_timers[ISUP_TIMER_T8] = ms;
 	else if (!strcasecmp(name, "t12"))
 		ss7->isup_timers[ISUP_TIMER_T12] = ms;
 	else if (!strcasecmp(name, "t13"))
@@ -4811,6 +4829,8 @@
 		ss7->isup_timers[ISUP_TIMER_T22] = ms;
 	else if (!strcasecmp(name, "t23"))
 		ss7->isup_timers[ISUP_TIMER_T23] = ms;
+	else if (!strcasecmp(name, "t27"))
+		ss7->isup_timers[ISUP_TIMER_T27] = ms;
 	else if (!strcasecmp(name, "t33"))
 		ss7->isup_timers[ISUP_TIMER_T33] = ms;
 	else if (!strcasecmp(name, "t35"))
@@ -4856,6 +4876,9 @@
 			break;
 		case ISUP_TIMER_T7:
 			ss7_hangup(param->ss7, param->c->cic, param->c->dpc, 31, SS7_HANGUP_SEND_REL);
+			break;
+		case ISUP_TIMER_T8:
+			isup_rel(param->ss7, param->c, 16); /* I'm not sure it's the right cause code */
 			break;
 		case ISUP_TIMER_T5:
 			ss7_notinservice(param->ss7, param->c->cic, param->c->dpc);
@@ -4919,6 +4942,9 @@
 			param->c->range = param->c->sent_grs_endcic - param->c->cic;
 			isup_send_message(param->ss7, param->c, ISUP_GRS, greset_params);
 			break;
+		case ISUP_TIMER_T27:
+			isup_rsc(param->ss7, param->c);
+			break;
 		case ISUP_TIMER_T33:
 			param->c->got_sent_msg &= ~ISUP_SENT_INR;
 			isup_rel(param->ss7, param->c, 16);

Modified: trunk/isup.h
URL: http://svn.digium.com/svn-view/libss7/trunk/isup.h?view=diff&rev=264&r1=263&r2=264
==============================================================================
--- trunk/isup.h (original)
+++ trunk/isup.h Wed Apr 29 11:12:53 2009
@@ -159,6 +159,7 @@
 #define ISUP_TIMER_T21 21
 #define ISUP_TIMER_T22 22
 #define ISUP_TIMER_T23 23
+#define ISUP_TIMER_T27 27
 #define ISUP_TIMER_T33 33
 #define ISUP_TIMER_T35 35
 




More information about the svn-commits mailing list