1 /*
2  * Copyright (c) 1997, 2000 Hellmuth Michaelis. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23  * SUCH DAMAGE.
24  *
25  *---------------------------------------------------------------------------
26  *
27  *      i4b_l3fsm.c - layer 3 FSM
28  *      -------------------------
29  *
30  *	$Id: i4b_l3fsm.h,v 1.1 2003/04/06 04:37:48 tg Stab $
31  *
32  * $FreeBSD$
33  *
34  *      last edit-date: [Thu Apr 27 11:07:16 2000]
35  *
36  *---------------------------------------------------------------------------*/
37 
38 #ifndef _I4B_L3FSM_H_
39 #define _I4B_L3FSM_H_
40 
41 enum Q931_states {
42 	ST_U0,
43 	ST_U1,
44 	ST_U3,
45 	ST_U4,
46 	ST_U6,
47 	ST_U7,
48 	ST_U8,
49 	ST_U9,
50 	ST_U10,
51 	ST_U11,
52 	ST_U12,
53 	ST_U19,
54 
55 	ST_IWA,		/* incoming call, wait establish, then accept */
56 	ST_IWR,		/* incoming call, wait establish, then reject */
57 	ST_OW,		/* outgoing call, wait establish */
58 	ST_IWL,		/* incoming call, wait establish, then alert */
59 
60 	ST_SUSE,	/* SUBroutine SETs new state on exit */
61 	ST_ILL,		/* Illegal */
62 
63 	N_STATES	/* number of states */
64 };
65 
66 enum Q931_events {
67 
68 	EV_SETUPRQ,	/* setup request from L4		*/
69 	EV_DISCRQ,	/* disconnect request from L4		*/
70 	EV_RELRQ,	/* release request from L4		*/
71 	EV_ALERTRQ,	/* alerting request from L4		*/
72 	EV_SETACRS,	/* setup response accept from l4	*/
73 	EV_SETRJRS,	/* setup response reject from l4	*/
74 	EV_SETDCRS,	/* setup response dontcare from l4	*/
75 
76 	EV_SETUP,	/* incoming SETUP message from L2	*/
77 	EV_STATUS,	/* incoming STATUS message from L2	*/
78 	EV_RELEASE,	/* incoming RELEASE message from L2	*/
79 	EV_RELCOMP,	/* incoming RELEASE COMPLETE from L2	*/
80 	EV_SETUPAK,	/* incoming SETUP ACK message from L2	*/
81 	EV_CALLPRC,	/* incoming CALL PROCEEDING from L2	*/
82 	EV_ALERT,	/* incoming ALERT message from L2	*/
83 	EV_CONNECT,	/* incoming CONNECT message from L2	*/
84 	EV_PROGIND,	/* incoming Progress IND from L2	*/
85 	EV_DISCONN,	/* incoming DISCONNECT message from L2	*/
86 	EV_CONACK,	/* incoming CONNECT ACK message from L2	*/
87 	EV_STATENQ,	/* incoming STATUS ENQ message from L2	*/
88 	EV_INFO,	/* incoming INFO message from L2	*/
89 	EV_FACILITY,	/* FACILITY message			*/
90 
91 	EV_T303EXP,	/* Timer T303 expired			*/
92 	EV_T305EXP,	/* Timer T305 expired			*/
93 	EV_T308EXP,	/* Timer T308 expired			*/
94 	EV_T309EXP,	/* Timer T309 expired			*/
95 	EV_T310EXP,	/* Timer T310 expired			*/
96 	EV_T313EXP,	/* Timer T313 expired			*/
97 
98 	EV_DLESTIN,	/* dl establish indication from l2	*/
99 	EV_DLRELIN,	/* dl release indication from l2	*/
100 	EV_DLESTCF,	/* dl establish confirm from l2		*/
101 	EV_DLRELCF,	/* dl release indication from l2	*/
102 
103 	EV_ILL,		/* Illegal */
104 	N_EVENTS
105 };
106 
107 #endif /* _I4B_L3FSM_H_ */
108