blob: 2aebb46ec3086fb7df28a41152e829ad210901cd [file] [log] [blame]
Sylvain Munaut12ba7782014-06-16 10:13:40 +02001#pragma once
Harald Welteec8b4502010-02-20 20:34:29 +01002
3/* GSM TS 04.80 definitions (Supplementary Services Specification, Formats and Coding) */
4
5/* Section 3.4 */
6#define GSM0480_MTYPE_RELEASE_COMPLETE 0x2A
7#define GSM0480_MTYPE_FACILITY 0x3A
8#define GSM0480_MTYPE_REGISTER 0x3B
9
10/* Section 3.5 */
11#define GSM0480_IE_FACILITY 0x1C
12#define GSM0480_IE_SS_VERSION 0x7F
13
14/* Section 3.6.2 */
15#define GSM0480_CTYPE_INVOKE 0xA1
16#define GSM0480_CTYPE_RETURN_RESULT 0xA2
17#define GSM0480_CTYPE_RETURN_ERROR 0xA3
18#define GSM0480_CTYPE_REJECT 0xA4
19
20/* Section 3.6.3 */
21#define GSM0480_COMPIDTAG_INVOKE_ID 0x02
22#define GSM0480_COMPIDTAG_LINKED_ID 0x80
23
24/* Section 3.6.4 */
25#define GSM0480_OPERATION_CODE 0x02
26
27/* Section 3.6.5 */
28#define GSM_0480_SEQUENCE_TAG 0x30
29#define GSM_0480_SET_TAG 0x31
30
31/* Section 3.6.6 */
32#define GSM_0480_ERROR_CODE_TAG 0x02
33
34/* Section 3.6.7 */
35/* Table 3.13 */
36#define GSM_0480_PROBLEM_CODE_TAG_GENERAL 0x80
37#define GSM_0480_PROBLEM_CODE_TAG_INVOKE 0x81
38#define GSM_0480_PROBLEM_CODE_TAG_RETURN_RESULT 0x82
39#define GSM_0480_PROBLEM_CODE_TAG_RETURN_ERROR 0x83
40
41/* Table 3.14 */
42#define GSM_0480_GEN_PROB_CODE_UNRECOGNISED 0x00
43#define GSM_0480_GEN_PROB_CODE_MISTYPED 0x01
44#define GSM_0480_GEN_PROB_CODE_BAD_STRUCTURE 0x02
45
46/* Table 3.15 */
47#define GSM_0480_INVOKE_PROB_CODE_DUPLICATE_INVOKE_ID 0x00
48#define GSM_0480_INVOKE_PROB_CODE_UNRECOGNISED_OPERATION 0x01
49#define GSM_0480_INVOKE_PROB_CODE_MISTYPED_PARAMETER 0x02
50#define GSM_0480_INVOKE_PROB_CODE_RESOURCE_LIMITATION 0x03
51#define GSM_0480_INVOKE_PROB_CODE_INITIATING_RELEASE 0x04
52#define GSM_0480_INVOKE_PROB_CODE_UNRECOGNISED_LINKED_ID 0x05
53#define GSM_0480_INVOKE_PROB_CODE_UNEXPECTED_LINKED_RESPONSE 0x06
54#define GSM_0480_INVOKE_PROB_CODE_UNEXPECTED_LINKED_OPERATION 0x07
55
56/* Table 3.16 */
57#define GSM_0480_RESULT_PROB_CODE_UNRECOGNISED_INVOKE_ID 0x00
58#define GSM_0480_RESULT_PROB_CODE_RETURN_RESULT_UNEXPECTED 0x01
59#define GSM_0480_RESULT_PROB_CODE_MISTYPED_PARAMETER 0x02
60
61/* Table 3.17 */
62#define GSM_0480_ERROR_PROB_CODE_UNRECOGNISED_INVOKE_ID 0x00
63#define GSM_0480_ERROR_PROB_CODE_RETURN_ERROR_UNEXPECTED 0x01
64#define GSM_0480_ERROR_PROB_CODE_UNRECOGNISED_ERROR 0x02
65#define GSM_0480_ERROR_PROB_CODE_UNEXPECTED_ERROR 0x03
66#define GSM_0480_ERROR_PROB_CODE_MISTYPED_PARAMETER 0x04
67
68/* Section 4.5 */
69#define GSM0480_OP_CODE_REGISTER_SS 0x0A
70#define GSM0480_OP_CODE_ERASE_SS 0x0B
71#define GSM0480_OP_CODE_ACTIVATE_SS 0x0C
72#define GSM0480_OP_CODE_DEACTIVATE_SS 0x0D
73#define GSM0480_OP_CODE_INTERROGATE_SS 0x0E
74#define GSM0480_OP_CODE_NOTIFY_SS 0x10
75#define GSM0480_OP_CODE_REGISTER_PASSWORD 0x11
76#define GSM0480_OP_CODE_GET_PASSWORD 0x12
77#define GSM0480_OP_CODE_PROCESS_USS_DATA 0x13
78#define GSM0480_OP_CODE_FORWARD_CHECK_SS_IND 0x26
79#define GSM0480_OP_CODE_PROCESS_USS_REQ 0x3B
80#define GSM0480_OP_CODE_USS_REQUEST 0x3C
81#define GSM0480_OP_CODE_USS_NOTIFY 0x3D
82#define GSM0480_OP_CODE_FORWARD_CUG_INFO 0x78
83#define GSM0480_OP_CODE_SPLIT_MPTY 0x79
84#define GSM0480_OP_CODE_RETRIEVE_MPTY 0x7A
85#define GSM0480_OP_CODE_HOLD_MPTY 0x7B
86#define GSM0480_OP_CODE_BUILD_MPTY 0x7C
87#define GSM0480_OP_CODE_FORWARD_CHARGE_ADVICE 0x7D
88
89#define GSM0480_ERR_CODE_UNKNOWN_SUBSCRIBER 0x01
90#define GSM0480_ERR_CODE_ILLEGAL_SUBSCRIBER 0x09
91#define GSM0480_ERR_CODE_BEARER_SERVICE_NOT_PROVISIONED 0x0A
92#define GSM0480_ERR_CODE_TELESERVICE_NOT_PROVISIONED 0x0B
93#define GSM0480_ERR_CODE_ILLEGAL_EQUIPMENT 0x0C
94#define GSM0480_ERR_CODE_CALL_BARRED 0x0D
95#define GSM0480_ERR_CODE_ILLEGAL_SS_OPERATION 0x10
96#define GSM0480_ERR_CODE_SS_ERROR_STATUS 0x11
97#define GSM0480_ERR_CODE_SS_NOT_AVAILABLE 0x12
98#define GSM0480_ERR_CODE_SS_SUBSCRIPTION_VIOLATION 0x13
99#define GSM0480_ERR_CODE_SS_INCOMPATIBILITY 0x14
100#define GSM0480_ERR_CODE_FACILITY_NOT_SUPPORTED 0x15
101#define GSM0480_ERR_CODE_ABSENT_SUBSCRIBER 0x1B
102#define GSM0480_ERR_CODE_SYSTEM_FAILURE 0x22
103#define GSM0480_ERR_CODE_DATA_MISSING 0x23
104#define GSM0480_ERR_CODE_UNEXPECTED_DATA_VALUE 0x24
105#define GSM0480_ERR_CODE_PW_REGISTRATION_FAILURE 0x25
106#define GSM0480_ERR_CODE_NEGATIVE_PW_CHECK 0x26
107#define GSM0480_ERR_CODE_NUM_PW_ATTEMPTS_VIOLATION 0x2B
108#define GSM0480_ERR_CODE_UNKNOWN_ALPHABET 0x47
109#define GSM0480_ERR_CODE_USSD_BUSY 0x48
110#define GSM0480_ERR_CODE_MAX_MPTY_PARTICIPANTS 0x7E
111#define GSM0480_ERR_CODE_RESOURCES_NOT_AVAILABLE 0x7F
112
113/* ASN.1 type-tags */
114#define ASN1_BOOLEAN_TAG 0x01
115#define ASN1_INTEGER_TAG 0x02
116#define ASN1_BIT_STRING_TAG 0x03
117#define ASN1_OCTET_STRING_TAG 0x04
118#define ASN1_NULL_TYPE_TAG 0x05
119#define ASN1_OBJECT_ID_TAG 0x06
120#define ASN1_UTF8_STRING_TAG 0x0C
121#define ASN1_PRINTABLE_STRING_TAG 0x13
122#define ASN1_IA5_STRING_TAG 0x16
123#define ASN1_UNICODE_STRING_TAG 0x1E