Linux Audio

Check our new training course

Loading...
  1/* $Id: l3dss1.h,v 1.10.6.2 2001/09/23 22:24:50 kai Exp $
  2 *
  3 * DSS1 (Euro) D-channel protocol defines
  4 *
  5 * This software may be used and distributed according to the terms
  6 * of the GNU General Public License, incorporated herein by reference.
  7 *
  8 */
  9
 10#ifndef l3dss1_process
 11
 12#define T302	15000
 13#define T303	4000
 14#define T304	30000
 15#define T305	30000
 16#define T308	4000
 17/* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
 18/* This makes some tests easier and quicker */
 19#define T309	40000
 20#define T310	30000
 21#define T313	4000
 22#define T318	4000
 23#define T319	4000
 24
 25/*
 26 * Message-Types
 27 */
 28
 29#define MT_ALERTING		0x01
 30#define MT_CALL_PROCEEDING	0x02
 31#define MT_CONNECT		0x07
 32#define MT_CONNECT_ACKNOWLEDGE	0x0f
 33#define MT_PROGRESS		0x03
 34#define MT_SETUP		0x05
 35#define MT_SETUP_ACKNOWLEDGE	0x0d
 36#define MT_RESUME		0x26
 37#define MT_RESUME_ACKNOWLEDGE	0x2e
 38#define MT_RESUME_REJECT	0x22
 39#define MT_SUSPEND		0x25
 40#define MT_SUSPEND_ACKNOWLEDGE	0x2d
 41#define MT_SUSPEND_REJECT	0x21
 42#define MT_USER_INFORMATION	0x20
 43#define MT_DISCONNECT		0x45
 44#define MT_RELEASE		0x4d
 45#define MT_RELEASE_COMPLETE	0x5a
 46#define MT_RESTART		0x46
 47#define MT_RESTART_ACKNOWLEDGE	0x4e
 48#define MT_SEGMENT		0x60
 49#define MT_CONGESTION_CONTROL	0x79
 50#define MT_INFORMATION		0x7b
 51#define MT_FACILITY		0x62
 52#define MT_NOTIFY		0x6e
 53#define MT_STATUS		0x7d
 54#define MT_STATUS_ENQUIRY	0x75
 55
 56#define IE_SEGMENT	0x00
 57#define IE_BEARER	0x04
 58#define IE_CAUSE	0x08
 59#define IE_CALL_ID	0x10
 60#define IE_CALL_STATE	0x14
 61#define IE_CHANNEL_ID	0x18
 62#define IE_FACILITY	0x1c
 63#define IE_PROGRESS	0x1e
 64#define IE_NET_FAC	0x20
 65#define IE_NOTIFY	0x27
 66#define IE_DISPLAY	0x28
 67#define IE_DATE		0x29
 68#define IE_KEYPAD	0x2c
 69#define IE_SIGNAL	0x34
 70#define IE_INFORATE	0x40
 71#define IE_E2E_TDELAY	0x42
 72#define IE_TDELAY_SEL	0x43
 73#define IE_PACK_BINPARA	0x44
 74#define IE_PACK_WINSIZE	0x45
 75#define IE_PACK_SIZE	0x46
 76#define IE_CUG		0x47
 77#define	IE_REV_CHARGE	0x4a
 78#define IE_CONNECT_PN	0x4c
 79#define IE_CONNECT_SUB	0x4d
 80#define IE_CALLING_PN	0x6c
 81#define IE_CALLING_SUB	0x6d
 82#define IE_CALLED_PN	0x70
 83#define IE_CALLED_SUB	0x71
 84#define IE_REDIR_NR	0x74
 85#define IE_TRANS_SEL	0x78
 86#define IE_RESTART_IND	0x79
 87#define IE_LLC		0x7c
 88#define IE_HLC		0x7d
 89#define IE_USER_USER	0x7e
 90#define IE_ESCAPE	0x7f
 91#define IE_SHIFT	0x90
 92#define IE_MORE_DATA	0xa0
 93#define IE_COMPLETE	0xa1
 94#define IE_CONGESTION	0xb0
 95#define IE_REPEAT	0xd0
 96
 97#define IE_MANDATORY	0x0100
 98/* mandatory not in every case */
 99#define IE_MANDATORY_1	0x0200
100
101#define ERR_IE_COMPREHENSION	 1
102#define ERR_IE_UNRECOGNIZED	-1
103#define ERR_IE_LENGTH		-2
104#define ERR_IE_SEQUENCE		-3
105
106#else /* only l3dss1_process */
107
108/* l3dss1 specific data in l3 process */
109typedef struct
110{ unsigned char invoke_id; /* used invoke id in remote ops, 0 = not active */
111	ulong ll_id; /* remebered ll id */
112	u8 remote_operation; /* handled remote operation, 0 = not active */
113	int proc; /* rememered procedure */
114	ulong remote_result; /* result of remote operation for statcallb */
115	char uus1_data[35]; /* data send during alerting or disconnect */
116} dss1_proc_priv;
117
118/* l3dss1 specific data in protocol stack */
119typedef struct
120{ unsigned char last_invoke_id; /* last used value for invoking */
121	unsigned char invoke_used[32]; /* 256 bits for 256 values */
122} dss1_stk_priv;
123
124#endif /* only l3dss1_process */
1