[libpri-commits] rmudgett: branch group/ccss r1391 - in /team/group/ccss: ./ doc/

SVN commits to the libpri project libpri-commits at lists.digium.com
Wed Dec 16 16:56:33 CST 2009


Author: rmudgett
Date: Wed Dec 16 16:56:31 2009
New Revision: 1391

URL: http://svnview.digium.com/svn/libpri?view=rev&rev=1391
Log:
*  Renamed action promote_a_status to promote_raw_a_status.
*  Made A status actions available to all CC FSM's instead of just PTMP.

Modified:
    team/group/ccss/doc/cc_ptmp_agent.fsm
    team/group/ccss/doc/cc_ptmp_agent_flattened.fsm
    team/group/ccss/pri_cc.c
    team/group/ccss/pri_internal.h

Modified: team/group/ccss/doc/cc_ptmp_agent.fsm
URL: http://svnview.digium.com/svn/libpri/team/group/ccss/doc/cc_ptmp_agent.fsm?view=diff&rev=1391&r1=1390&r2=1391
==============================================================================
--- team/group/ccss/doc/cc_ptmp_agent.fsm (original)
+++ team/group/ccss/doc/cc_ptmp_agent.fsm Wed Dec 16 16:56:31 2009
@@ -125,7 +125,7 @@
 		}
 		Stimulus CC_EVENT_A_FREE {
 			Action Set_Raw_A_Status_Free;
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Action Pass_Up_Status_Rsp_A;
 			Action Stop_T_CCBS1;
 		}
@@ -134,7 +134,7 @@
 			Action Pass_Up_Status_Rsp_A;
 		}
 		Stimulus CC_EVENT_TIMEOUT_T_CCBS1 {
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Test = Get_A_Status;
 			Test == Invalid {
 				/*
@@ -172,7 +172,7 @@
 		Stimulus CC_EVENT_A_FREE {
 			Action Send_RemoteUserFree;
 			Action Set_Raw_A_Status_Free;
-			//Action Promote_A_Status;
+			//Action Promote_Raw_A_Status;
 			//Action Pass_Up_A_Status;
 			Test = Get_Extended_T_CCBS1_Status;
 			Test == Active {
@@ -200,7 +200,7 @@
 			}
 			/* Only received User A is busy. */
 			Action Send_CCBSBFree;
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Action Pass_Up_A_Status;
 			Next_State CC_STATE_SUSPENDED;
 		}
@@ -225,7 +225,7 @@
 		}
 		Stimulus CC_EVENT_A_FREE {
 			Action Set_Raw_A_Status_Free;
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Action Pass_Up_A_Status;
 			Test = Get_Extended_T_CCBS1_Status;
 			Test == Active {

Modified: team/group/ccss/doc/cc_ptmp_agent_flattened.fsm
URL: http://svnview.digium.com/svn/libpri/team/group/ccss/doc/cc_ptmp_agent_flattened.fsm?view=diff&rev=1391&r1=1390&r2=1391
==============================================================================
--- team/group/ccss/doc/cc_ptmp_agent_flattened.fsm (original)
+++ team/group/ccss/doc/cc_ptmp_agent_flattened.fsm Wed Dec 16 16:56:31 2009
@@ -139,7 +139,7 @@
 		}
 		Stimulus CC_EVENT_A_FREE {
 			Action Set_Raw_A_Status_Free;
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Action Pass_Up_Status_Rsp_A;
 			Action Stop_T_CCBS1;
 		}
@@ -148,7 +148,7 @@
 			Action Pass_Up_Status_Rsp_A;
 		}
 		Stimulus CC_EVENT_TIMEOUT_T_CCBS1 {
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Test = Get_A_Status;
 			Test == Invalid {
 				/*
@@ -208,7 +208,7 @@
 		Stimulus CC_EVENT_A_FREE {
 			Action Send_RemoteUserFree;
 			Action Set_Raw_A_Status_Free;
-			//Action Promote_A_Status;
+			//Action Promote_Raw_A_Status;
 			//Action Pass_Up_A_Status;
 			Test = Get_Extended_T_CCBS1_Status;
 			Test == Active {
@@ -243,7 +243,7 @@
 			}
 			/* Only received User A is busy. */
 			Action Send_CCBSBFree;
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Action Pass_Up_A_Status;
 			/* Optimization due to flattening. */
 			//Test = Get_T_CCBS1_Status;
@@ -294,7 +294,7 @@
 		}
 		Stimulus CC_EVENT_A_FREE {
 			Action Set_Raw_A_Status_Free;
-			Action Promote_A_Status;
+			Action Promote_Raw_A_Status;
 			Action Pass_Up_A_Status;
 			Test = Get_Extended_T_CCBS1_Status;
 			Test == Active {

Modified: team/group/ccss/pri_cc.c
URL: http://svnview.digium.com/svn/libpri/team/group/ccss/pri_cc.c?view=diff&rev=1391&r1=1390&r2=1391
==============================================================================
--- team/group/ccss/pri_cc.c (original)
+++ team/group/ccss/pri_cc.c Wed Dec 16 16:56:31 2009
@@ -2445,6 +2445,21 @@
 
 /*!
  * \internal
+ * \brief FSM action to promote raw A status.
+ *
+ * \param ctrl D channel controller.
+ * \param cc_record Call completion record to process event.
+ *
+ * \return Nothing
+ */
+static void pri_cc_act_promote_raw_a_status(struct pri *ctrl, struct pri_cc_record *cc_record)
+{
+	PRI_CC_ACT_DEBUG_OUTPUT(ctrl);
+	cc_record->party_a_status = cc_record->fsm.ptmp.party_a_status_acc;
+}
+
+/*!
+ * \internal
  * \brief FSM action to reset A status.
  *
  * \param ctrl D channel controller.
@@ -2455,40 +2470,25 @@
 static void pri_cc_act_reset_a_status(struct pri *ctrl, struct pri_cc_record *cc_record)
 {
 	PRI_CC_ACT_DEBUG_OUTPUT(ctrl);
-	cc_record->fsm.ptmp.party_a_status = CC_PARTY_A_AVAILABILITY_INVALID;
-}
-
-/*!
- * \internal
- * \brief FSM action to promote raw A status.
- *
- * \param ctrl D channel controller.
- * \param cc_record Call completion record to process event.
- *
- * \return Nothing
- */
-static void pri_cc_act_promote_a_status(struct pri *ctrl, struct pri_cc_record *cc_record)
-{
+	cc_record->party_a_status = CC_PARTY_A_AVAILABILITY_INVALID;
+}
+
+/*!
+ * \internal
+ * \brief FSM action to pass up party A status to upper layer.
+ *
+ * \param ctrl D channel controller.
+ * \param cc_record Call completion record to process event.
+ *
+ * \return Nothing
+ */
+static void pri_cc_act_pass_up_a_status(struct pri *ctrl, struct pri_cc_record *cc_record)
+{
+	struct pri_subcommand *subcmd;
+
 	PRI_CC_ACT_DEBUG_OUTPUT(ctrl);
-	cc_record->fsm.ptmp.party_a_status = cc_record->fsm.ptmp.party_a_status_acc;
-}
-
-/*!
- * \internal
- * \brief FSM action to pass up party A status to upper layer.
- *
- * \param ctrl D channel controller.
- * \param cc_record Call completion record to process event.
- *
- * \return Nothing
- */
-static void pri_cc_act_pass_up_a_status(struct pri *ctrl, struct pri_cc_record *cc_record)
-{
-	struct pri_subcommand *subcmd;
-
-	PRI_CC_ACT_DEBUG_OUTPUT(ctrl);
-
-	if (cc_record->fsm.ptmp.party_a_status == CC_PARTY_A_AVAILABILITY_INVALID) {
+
+	if (cc_record->party_a_status == CC_PARTY_A_AVAILABILITY_INVALID) {
 		/* Party A status is invalid so don't pass it up. */
 		return;
 	}
@@ -2501,7 +2501,7 @@
 	subcmd->cmd = PRI_SUBCMD_CC_STATUS;
 	subcmd->u.cc_status.cc_id =  cc_record->record_id;
 	subcmd->u.cc_status.status =
-		(cc_record->fsm.ptmp.party_a_status == CC_PARTY_A_AVAILABILITY_FREE)
+		(cc_record->party_a_status == CC_PARTY_A_AVAILABILITY_FREE)
 		? 0 /* free */ : 1 /* busy */;
 }
 
@@ -2977,7 +2977,7 @@
 		pri_cc_act_send_ccbs_b_free(ctrl, cc_record);
 		break;
 	case CC_EVENT_REMOTE_USER_FREE:
-		switch (cc_record->fsm.ptmp.party_a_status) {
+		switch (cc_record->party_a_status) {
 		case CC_PARTY_A_AVAILABILITY_INVALID:
 			if (!pri_cc_get_t_ccbs1_status(cc_record)) {
 				pri_cc_act_reset_raw_a_status(ctrl, cc_record);
@@ -3022,7 +3022,7 @@
 		break;
 	case CC_EVENT_A_FREE:
 		pri_cc_act_set_raw_a_status_free(ctrl, cc_record);
-		pri_cc_act_promote_a_status(ctrl, cc_record);
+		pri_cc_act_promote_raw_a_status(ctrl, cc_record);
 		pri_cc_act_pass_up_a_status(ctrl, cc_record);
 		pri_cc_act_stop_t_ccbs1(ctrl, cc_record);
 		break;
@@ -3031,8 +3031,8 @@
 		pri_cc_act_pass_up_status_rsp_a(ctrl, cc_record);
 		break;
 	case CC_EVENT_TIMEOUT_T_CCBS1:
-		pri_cc_act_promote_a_status(ctrl, cc_record);
-		if (cc_record->fsm.ptmp.party_a_status == CC_PARTY_A_AVAILABILITY_INVALID) {
+		pri_cc_act_promote_raw_a_status(ctrl, cc_record);
+		if (cc_record->party_a_status == CC_PARTY_A_AVAILABILITY_INVALID) {
 			/*
 			 * Did not get any responses.
 			 * User A no longer present.
@@ -3106,7 +3106,7 @@
 	case CC_EVENT_A_FREE:
 		pri_cc_act_send_remote_user_free(ctrl, cc_record);
 		pri_cc_act_set_raw_a_status_free(ctrl, cc_record);
-		//pri_cc_act_promote_a_status(ctrl, cc_record);
+		//pri_cc_act_promote_raw_a_status(ctrl, cc_record);
 		//pri_cc_act_pass_up_a_status(ctrl, cc_record);
 		if (cc_record->fsm.ptmp.extended_t_ccbs1) {
 			pri_cc_act_pass_up_status_rsp_a(ctrl, cc_record);
@@ -3139,7 +3139,7 @@
 		}
 		/* Only received User A busy. */
 		pri_cc_act_send_ccbs_b_free(ctrl, cc_record);
-		pri_cc_act_promote_a_status(ctrl, cc_record);
+		pri_cc_act_promote_raw_a_status(ctrl, cc_record);
 		pri_cc_act_pass_up_a_status(ctrl, cc_record);
 		/* Optimization due to flattening. */
 		//if (!pri_cc_get_t_ccbs1_status(cc_record))
@@ -3206,7 +3206,7 @@
 		break;
 	case CC_EVENT_A_FREE:
 		pri_cc_act_set_raw_a_status_free(ctrl, cc_record);
-		pri_cc_act_promote_a_status(ctrl, cc_record);
+		pri_cc_act_promote_raw_a_status(ctrl, cc_record);
 		pri_cc_act_pass_up_a_status(ctrl, cc_record);
 		if (cc_record->fsm.ptmp.extended_t_ccbs1) {
 			pri_cc_act_pass_up_status_rsp_a(ctrl, cc_record);

Modified: team/group/ccss/pri_internal.h
URL: http://svnview.digium.com/svn/libpri/team/group/ccss/pri_internal.h?view=diff&rev=1391&r1=1390&r2=1391
==============================================================================
--- team/group/ccss/pri_internal.h (original)
+++ team/group/ccss/pri_internal.h Wed Dec 16 16:56:31 2009
@@ -754,8 +754,6 @@
 			int t_ccbs1_invoke_id;
 			/*! Accumulating party A availability status */
 			enum CC_PARTY_A_AVAILABILITY party_a_status_acc;
-			/*! Party A availability status */
-			enum CC_PARTY_A_AVAILABILITY party_a_status;
 		} ptmp;
 		/*! PTP FSM parameters. */
 		struct {
@@ -771,6 +769,8 @@
 			int code;
 		} cc_req_rsp;
 	} msg;
+	/*! Party A availability status */
+	enum CC_PARTY_A_AVAILABILITY party_a_status;
 	/*!
 	 * \brief PTMP T_RETENTION timer id.
 	 * \note




More information about the libpri-commits mailing list