/* (* #*********************************************************************** # # $RCSfile: cc.aut,v $ # #*********************************************************************** # # $Author: rlinnane $ # #*********************************************************************** # # CVOPS EFSA state automaton for MobSim-MSC CC protocol # #*********************************************************************** # # $Log: cc.aut,v $ # Revision 1.4 1996/02/19 20:15:48 rlinnane # Several small changes - MSC Application added on top of CC! # # Revision 1.3 1996/02/07 17:09:14 rlinnane # Mobile Terminated Call now works! # # Revision 1.2 1996/02/06 18:55:21 rlinnane # Completed. MOC, DbN & DbMS now work! # # Revision 1.1 1996/01/11 18:52:03 rlinnane # Initial revision # # Revision 1.1 1996/01/08 17:32:59 rlinnane # Initial revision # # #*********************************************************************** # # $Id: cc.aut,v 1.4 1996/02/19 20:15:48 rlinnane Exp $ # #*********************************************************************** *) (* STATE INPUT ACTION *) (* GLOBAL MMs_Data_Ind decode(RecFrame ) *) (* Mobile Originated Call *) ANYSTATE MMs_Data_Ind { get_cc_user_data() decode(RecFrame) } idle MMs_Est_Ind { to(wait_data) } wait_data CC_Setup { CCs_Est_Ind CCs_Setup to(call_init) } call_init CCs_Setup_Cnf { MMs_Data_Req( CC_Call_Proc) MMs_Assignment_Req to(call_proc) } call_proc CCs_Alert { MMs_Data_Req( CC_Alert) to(call_delivered) } call_delivered CCs_Connect { MMs_Data_Req( CC_Conn ) to(conn_ind) } conn_ind CC_Conn_Ack { set_moc_msc_data() to(active) } (* Mobile Terminated Call *) wait_data MMs_paging_response { CCs_Est_Ind CCs_Setup_Req to(call_present) } call_present CCs_Setup MMs_Data_Req( CC_Setup) call_present CC_Call_Conf { MMs_Assignment_Req to(call_conf) } call_conf MMs_Assignment_Complete {} call_conf CC_Alert to(call_recv) call_recv CC_Conn { MMs_Data_Req( CC_Conn_Ack) set_mtc_msc_data() to(active) } (* Disconnect *) (* CC_Disc & CCs_Disc_Ind really 'all except idle', but what the heck... *) GLOBAL CC_Disc { MMs_Data_Req( CC_Release) to(release_req) } GLOBAL CCs_Disconnect { MMs_Data_Req( CC_Disc) to(disc_ind) } release_req CC_Rel_Compl { CCs_Disc_Ind MMs_Release_Req to(idle) } disc_ind CC_Release { MMs_Data_Req( CC_Rel_Compl) CCs_Disc_Ind MMs_Release_Req to(idle) } */