blob: 46b4c11afcd9af9ccd27747c189cf7eedfcb0b0e [file] [log] [blame]
Harald Welte5f0738b2010-12-19 22:56:07 +01001
2% Table 1 / Q.713 - SCCP Message Types
3-define(SCCP_MSGT_CR, 1). % Connection request
4-define(SCCP_MSGT_CC, 2). % Connection confirm
5-define(SCCP_MSGT_CREF, 3). % Connection refused
6-define(SCCP_MSGT_RLSD, 4). % Released
7-define(SCCP_MSGT_RLC, 5). % Release complete
8-define(SCCP_MSGT_DT1, 6). % Data form 1
9-define(SCCP_MSGT_DT2, 7). % Data form 2
10-define(SCCP_MSGT_AK, 8). % Data acknowledgement
11-define(SCCP_MSGT_UDT, 9). % Unitdata
12-define(SCCP_MSGT_UDTS, 10). % Unitdata service
13-define(SCCP_MSGT_ED, 11). % Expedited data
14-define(SCCP_MSGT_EA, 12). % Expedited data ack
15-define(SCCP_MSGT_RSR, 13). % Reset Request
16-define(SCCP_MSGT_RSC, 14). % Reset Confirmation
17-define(SCCP_MSGT_ERR, 15). % Protocol data unit error
18-define(SCCP_MSGT_IT, 16). % Inactivity test
19-define(SCCP_MSGT_XUDT, 17). % Extended unitdata
20-define(SCCP_MSGT_XUDTS, 18). % Extended unitdata service
21-define(SCCP_MSGT_LUDT, 19). % Long unitdata
22-define(SCCP_MSGT_LUDTS, 20). % Long unitdata service
23
24% Table 2 / Q.713 - SCCP parameter name codes
25-define(SCCP_PNC_END_OF_OPTIONAL, 0).
26-define(SCCP_PNC_DESTINATION_LOCAL_REFERENCE, 1).
27-define(SCCP_PNC_SOURCE_LOCAL_REFERENCE, 2).
28-define(SCCP_PNC_CALLED_PARTY_ADDRESS, 3).
29-define(SCCP_PNC_CALLING_PARTY_ADDRESS, 4).
30-define(SCCP_PNC_PROTOCOL_CLASS, 5).
31-define(SCCP_PNC_SEGMENTING, 6).
32-define(SCCP_PNC_RECEIVE_SEQ_NUMBER, 7).
33-define(SCCP_PNC_SEQUENCING, 8).
34-define(SCCP_PNC_CREDIT, 9).
35-define(SCCP_PNC_RELEASE_CAUSE, 10).
36-define(SCCP_PNC_RETURN_CAUSE, 11).
37-define(SCCP_PNC_RESET_CAUSE, 12).
38-define(SCCP_PNC_ERROR_CAUSE, 13).
39-define(SCCP_PNC_REFUSAL_CAUSE, 14).
40-define(SCCP_PNC_DATA, 15).
41-define(SCCP_PNC_SEGMENTATION, 16).
42-define(SCCP_PNC_HOP_COUNTER, 17).
43-define(SCCP_PNC_IMPORTANCE, 18).
44-define(SCCP_PNC_LONG_DATA, 19).
45
Harald Welteba6fdbb2011-01-23 22:04:39 +010046% According to Q.713 Section 3.4.1
47-define(SCCP_GTI_NO_GT, 2#0000).
48-define(SCCP_GTI_NAT_ONLY, 2#0001).
49-define(SCCP_GTI_TT_ONLY, 2#0010).
50-define(SCCP_GTI_TT_NP_ENC, 2#0011).
51-define(SCCP_GTI_TT_NP_ENC_NAT, 2#0100).
52
53% According to Q.731 Section 3.4.2.2
54-define(SCCP_SSN_UNKNOWN, 2#000000000).
55-define(SCCP_SSN_SCCP_MGMT, 2#000000001).
56-define(SCCP_SSN_ITU_T, 2#000000010).
57-define(SCCP_SSN_ISUP, 2#000000011).
58-define(SCCP_SSN_OAM, 2#000000100).
59-define(SCCP_SSN_MAP, 2#000000101).
60-define(SCCP_SSN_HLR, 2#000000110).
61-define(SCCP_SSN_VLR, 2#000000111).
62-define(SCCP_SSN_MSC, 2#000001000).
63-define(SCCP_SSN_EIR, 2#000001001).
64-define(SCCP_SSN_AUC, 2#000001010).
65-define(SCCP_SSN_ISDN_SS, 2#000001011).
66-define(SCCP_SSN_RES_NAT, 2#000001100).
67-define(SCCP_SSN_BISDN, 2#000001101).
68-define(SCCP_SSN_TC_TEST, 2#000001110).
69
Harald Welte21cde2e2011-12-08 00:45:43 +010070% According to Q.731 Section 3.4.2.3.1
71-define(SCCP_NAI_SUBSCRIBER, 2#00000001).
72-define(SCCP_NAI_NATIONA_SIGN, 2#00000011).
73-define(SCCP_NAI_INTERNATIONAL, 2#00000100).
74
Harald Weltee15005e2011-10-09 14:12:53 +020075% According to Q.713 Section 3.11 - Release Cause
Harald Welteabfa83e2012-01-28 14:08:34 +010076-define(SCCP_CAUSE_REL_USER_ORIG, 2#00000000).
77-define(SCCP_CAUSE_REL_USER_CONG, 2#00000001).
78-define(SCCP_CAUSE_REL_USER_FAILURE, 2#00000010).
79-define(SCCP_CAUSE_REL_SCCP_USER_ORIG, 2#00000011).
80-define(SCCP_CAUSE_REL_REM_PROC_ERR, 2#00000100).
81-define(SCCP_CAUSE_REL_INCONS_CONN_DAT, 2#00000101).
82-define(SCCP_CAUSE_REL_ACCESS_FAIL, 2#00000110).
83-define(SCCP_CAUSE_REL_ACCESS_CONG, 2#00000111).
84-define(SCCP_CAUSE_REL_SUBSYS_FAILURE, 2#00001000).
85-define(SCCP_CAUSE_REL_SUBSYS_CONG, 2#00001001).
86-define(SCCP_CAUSE_REL_MTP_FAILURE, 2#00001010).
87-define(SCCP_CAUSE_REL_NET_CONG, 2#00001011).
88-define(SCCP_CAUSE_REL_EXP_T_RES, 2#00001100).
89-define(SCCP_CAUSE_REL_EXP_T_IAR, 2#00001101).
90-define(SCCP_CAUSE_REL_UNQUALIFIED, 2#00001111).
91-define(SCCP_CAUSE_REL_SCCP_FAILURE, 2#00010000).
Harald Weltee15005e2011-10-09 14:12:53 +020092
93% According to Q.713 Section 3.12 - Return Cause
94-define(SCCP_CAUSE_RET_NOTRANS_NATURE, 2#00000000).
95-define(SCCP_CAUSE_RET_NOTRANS_ADDR, 2#00000001).
96-define(SCCP_CAUSE_RET_SUBSYS_CONG, 2#00000010).
97-define(SCCP_CAUSE_RET_SUBSYS_FAILURE, 2#00000011).
98-define(SCCP_CAUSE_RET_UNEQUIP_USER, 2#00000100).
99-define(SCCP_CAUSE_RET_MTP_FAILURE, 2#00000101).
100-define(SCCP_CAUSE_RET_NET_CONG, 2#00000110).
101-define(SCCP_CAUSE_RET_UNQUALIFIED, 2#00000111).
102-define(SCCP_CAUSE_RET_ERR_MSG_TRANSP, 2#00001000).
103-define(SCCP_CAUSE_RET_ERR_LOCAL_PROC, 2#00001001).
104-define(SCCP_CAUSE_RET_DEST_NO_REASS, 2#00001010).
105-define(SCCP_CAUSE_RET_SCCP_FAILURE, 2#00001011).
106-define(SCCP_CAUSE_RET_HOP_CTR_FAIL, 2#00001100).
107-define(SCCP_CAUSE_RET_SEG_NOT_SUPP, 2#00001101).
108-define(SCCP_CAUSE_RET_SEG_FAILURE, 2#00001110).
109
110% According to Q.713 Section 3.13 - Reset Cause
Harald Welteabfa83e2012-01-28 14:08:34 +0100111-define(SCCP_CAUSE_RES_ENDU_ORIGINATED, 2#00000000).
112-define(SCCP_CAUSE_RES_SCCP_USER_ORIG, 2#00000001).
113-define(SCCP_CAUSE_RES_MSGO_OOO_PS, 2#00000010).
114-define(SCCP_CAUSE_RES_MSGO_OOO_PR, 2#00000011).
115-define(SCCP_CAUSE_RES_MSGO_OO_WIND, 2#00000100).
116-define(SCCP_CAUSE_RES_INC_PS_REINIT, 2#00000101).
117-define(SCCP_CAUSE_RES_REM_GENERAL, 2#00000110).
118-define(SCCP_CAUSE_RES_REM_OPERATIONAL, 2#00000111).
119-define(SCCP_CAUSE_RES_NET_OPERATIONAL, 2#00001000).
120-define(SCCP_CAUSE_RES_ACC_OPERATIONAL, 2#00001001).
121-define(SCCP_CAUSE_RES_NET_CONG, 2#00001010).
122-define(SCCP_CAUSE_RES_UNQUALIFIED, 2#00001100).
Harald Weltee15005e2011-10-09 14:12:53 +0200123
124% According to Q.713 Section 3.14 - Error Cause
Harald Welteabfa83e2012-01-28 14:08:34 +0100125-define(SCCP_CAUSE_ERR_LRN_UNASSIGNED, 2#00000000).
126-define(SCCP_CAUSE_ERR_LRN_MISMATCH, 2#00000001).
127-define(SCCP_CAUSE_ERR_PC_MISMATCH, 2#00000010).
128-define(SCCP_CAUSE_ERR_SCLASS_MISMATCH, 2#00000011).
129-define(SCCP_CAUSE_ERR_UNQUALIFIED, 2#00000100).
Harald Weltee15005e2011-10-09 14:12:53 +0200130
131% According to Q.713 Section 3.15 - Refusal Cause
132-define(SCCP_CAUSE_REF_ENDU_ORIGINATED, 2#00000000).
133-define(SCCP_CAUSE_REF_ENDU_CONGESTION, 2#00000001).
134-define(SCCP_CAUSE_REF_ENDU_FAILURE, 2#00000010).
135-define(SCCP_CAUSE_REF_USER_ORIGINATED, 2#00000011).
136-define(SCCP_CAUSE_REF_DEST_UNKNOWN, 2#00000100).
137-define(SCCP_CAUSE_REF_DEST_INACCESS, 2#00000101).
138-define(SCCP_CAUSE_REF_QOS_UNAVAIL_TRANS, 2#00000110).
139-define(SCCP_CAUSE_REF_QOS_UNAVAIL_NTRANS, 2#00000111).
140-define(SCCP_CAUSE_REF_ACCESS_FAIL, 2#00001000).
141-define(SCCP_CAUSE_REF_ACCES_CONGESTION, 2#00001001).
142-define(SCCP_CAUSE_REF_SUBSYS_FAILURE, 2#00001010).
143-define(SCCP_CAUSE_REF_SUBSYS_CONGESTION, 2#00001011).
144-define(SCCP_CAUSE_REF_EXP_CONN_EST_TMR, 2#00001100).
145-define(SCCP_CAUSE_REF_INCOMP_USER_DATA, 2#00001101).
146-define(SCCP_CAUSE_REF_HOP_COUNTER_VIOL, 2#00010000).
147-define(SCCP_CAUSE_REF_NO_GTT_FOR_NATURE, 2#00010010).
148-define(SCCP_CAUSE_REF_UNEQUIPPED_USER, 2#00010011).
149
Harald Welte7dadde82011-10-19 13:40:39 +0200150% SCCP sub-system numbers
151-define(SCCP_SSN_MAP_HLR, 6).
152-define(SCCP_SSN_MAP_VLR, 7).
153-define(SCCP_SSN_MAP_MSC, 8).
154-define(SCCP_SSN_MAP_EIR, 9).
155-define(SCCP_SSN_MAP_GMLC, 145).
156-define(SCCP_SSN_MAP_gsmSCF, 147).
157-define(SCCP_SSN_MAP_SGSN, 149).
158-define(SCCP_SSN_MAP_GGSN, 150).
Harald Welteba6fdbb2011-01-23 22:04:39 +0100159
Harald Weltedd540862011-11-04 22:25:40 +0100160-type sccp_msg_type() :: 0..255.
161-type sccp_proto_class() :: 0..3.
Harald Welte5f0738b2010-12-19 22:56:07 +0100162
163% a single parsed SCCP message
164-record(sccp_msg, {
Harald Weltedd540862011-11-04 22:25:40 +0100165 msg_type :: sccp_msg_type(),
Harald Welte5f0738b2010-12-19 22:56:07 +0100166 parameters
167 }).
168
169
Harald Welte2b4b2672011-02-03 12:50:41 +0100170-record(global_title, {
Harald Weltedd540862011-11-04 22:25:40 +0100171 gti :: 0..15,
Harald Welte21cde2e2011-12-08 00:45:43 +0100172 nature_of_addr_ind :: 0..127,
Harald Welte2b4b2672011-02-03 12:50:41 +0100173 trans_type,
Harald Weltedd540862011-11-04 22:25:40 +0100174 encoding :: 0..15,
175 numbering_plan:: 0..15,
Harald Welte2b4b2672011-02-03 12:50:41 +0100176 phone_number
177 }).
178
179-record(sccp_addr, {
180 res_nat_use,
181 route_on_ssn,
182 point_code, % optional
183 ssn, % optional
184 global_title % optional
185 }).