[libpri-commits] rmudgett: branch rmudgett/t309_cc r2060 - in /team/rmudgett/t309_cc: ./ doc/

SVN commits to the libpri project libpri-commits at lists.digium.com
Wed Oct 20 16:01:53 CDT 2010


Author: rmudgett
Date: Wed Oct 20 16:01:50 2010
New Revision: 2060

URL: http://svnview.digium.com/svn/libpri?view=rev&rev=2060
Log:
PTP CC agent handling of T309 abnormal call clearing.

Modified:
    team/rmudgett/t309_cc/doc/cc_ptp_agent.fsm
    team/rmudgett/t309_cc/doc/cc_ptp_agent_flattened.fsm
    team/rmudgett/t309_cc/pri_cc.c

Modified: team/rmudgett/t309_cc/doc/cc_ptp_agent.fsm
URL: http://svnview.digium.com/svn/libpri/team/rmudgett/t309_cc/doc/cc_ptp_agent.fsm?view=diff&rev=2060&r1=2059&r2=2060
==============================================================================
--- team/rmudgett/t309_cc/doc/cc_ptp_agent.fsm (original)
+++ team/rmudgett/t309_cc/doc/cc_ptp_agent.fsm Wed Oct 20 16:01:50 2010
@@ -24,6 +24,10 @@
 		Stimulus CC_EVENT_MSG_DISCONNECT {
 			Action Send_CC_Available(Q931_DISCONNECT);
 			Next_State CC_STATE_AVAILABLE;
+		}
+		Stimulus CC_EVENT_INTERNAL_CLEARING {
+			Action Pass_Up_CC_Cancel;
+			Next_State CC_STATE_IDLE;
 		}
 		Stimulus CC_EVENT_CANCEL {
 			Next_State CC_STATE_IDLE;
@@ -52,6 +56,10 @@
 			Action Pass_Up_CC_Request;
 			Action Stop_T_RETENTION;
 			Next_State CC_STATE_REQUESTED;
+		}
+		Stimulus CC_EVENT_INTERNAL_CLEARING {
+			Action Stop_T_RETENTION;
+			Action Start_T_RETENTION;
 		}
 		Stimulus CC_EVENT_TIMEOUT_T_RETENTION {
 			Action Pass_Up_CC_Cancel;

Modified: team/rmudgett/t309_cc/doc/cc_ptp_agent_flattened.fsm
URL: http://svnview.digium.com/svn/libpri/team/rmudgett/t309_cc/doc/cc_ptp_agent_flattened.fsm?view=diff&rev=2060&r1=2059&r2=2060
==============================================================================
--- team/rmudgett/t309_cc/doc/cc_ptp_agent_flattened.fsm (original)
+++ team/rmudgett/t309_cc/doc/cc_ptp_agent_flattened.fsm Wed Oct 20 16:01:50 2010
@@ -19,6 +19,11 @@
 		Stimulus CC_EVENT_MSG_DISCONNECT {
 			Action Send_CC_Available(Q931_DISCONNECT);
 			Next_State CC_STATE_AVAILABLE;
+		}
+		Stimulus CC_EVENT_INTERNAL_CLEARING {
+			Action Pass_Up_CC_Cancel;
+			Action Set_Selfdestruct;
+			Next_State CC_STATE_IDLE;
 		}
 		Stimulus CC_EVENT_CANCEL {
 			Action Set_Selfdestruct;
@@ -46,6 +51,10 @@
 			Action Stop_T_RETENTION;
 			Next_State CC_STATE_REQUESTED;
 		}
+		Stimulus CC_EVENT_INTERNAL_CLEARING {
+			Action Stop_T_RETENTION;
+			Action Start_T_RETENTION;
+		}
 		Stimulus CC_EVENT_TIMEOUT_T_RETENTION {
 			Action Pass_Up_CC_Cancel;
 			Action Stop_T_RETENTION;

Modified: team/rmudgett/t309_cc/pri_cc.c
URL: http://svnview.digium.com/svn/libpri/team/rmudgett/t309_cc/pri_cc.c?view=diff&rev=2060&r1=2059&r2=2060
==============================================================================
--- team/rmudgett/t309_cc/pri_cc.c (original)
+++ team/rmudgett/t309_cc/pri_cc.c Wed Oct 20 16:01:50 2010
@@ -5289,6 +5289,11 @@
 		pri_cc_act_send_cc_available(ctrl, cc_record, call, Q931_DISCONNECT);
 		cc_record->state = CC_STATE_AVAILABLE;
 		break;
+	case CC_EVENT_INTERNAL_CLEARING:
+		pri_cc_act_pass_up_cc_cancel(ctrl, cc_record);
+		pri_cc_act_set_self_destruct(ctrl, cc_record);
+		cc_record->state = CC_STATE_IDLE;
+		break;
 	case CC_EVENT_CANCEL:
 		pri_cc_act_set_self_destruct(ctrl, cc_record);
 		cc_record->state = CC_STATE_IDLE;
@@ -5328,6 +5333,10 @@
 		pri_cc_act_pass_up_cc_request(ctrl, cc_record);
 		pri_cc_act_stop_t_retention(ctrl, cc_record);
 		cc_record->state = CC_STATE_REQUESTED;
+		break;
+	case CC_EVENT_INTERNAL_CLEARING:
+		pri_cc_act_stop_t_retention(ctrl, cc_record);
+		pri_cc_act_start_t_retention(ctrl, cc_record);
 		break;
 	case CC_EVENT_TIMEOUT_T_RETENTION:
 		pri_cc_act_pass_up_cc_cancel(ctrl, cc_record);




More information about the libpri-commits mailing list