summaryrefslogtreecommitdiff
path: root/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf
blob: b8af92f78411657d75a60dbb929951419ba30103 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# sbc-ap.cnf
# sbc-ap conformation file

#.OPT
PER
ALIGNED
#.END

#.EXPORTS

#.PDU
SBC-AP-PDU

#.MAKE_ENUM
ProcedureCode
ProtocolIE-ID

#.NO_EMIT
TBCD-STRING
#.END

#.OMIT_ASSIGNMENT
# Get rid of unused code warnings
ProtocolIE-ContainerList
Presence

#.TYPE_RENAME

InitiatingMessage/value InitiatingMessage_value
SuccessfulOutcome/value SuccessfulOutcome_value
UnsuccessfulOutcome/value UnsuccessfulOutcome_value

#.FIELD_RENAME

InitiatingMessage/value initiatingMessagevalue
UnsuccessfulOutcome/value unsuccessfulOutcome_value
SuccessfulOutcome/value successfulOutcome_value

ProtocolExtensionField/id ext_id

ProtocolIE-Field/value ie_field_value

#.FN_PARS ProtocolIE-ID  VAL_PTR=&ProtocolIE_ID
#.FN_FTR ProtocolIE-ID
  if (tree) {
    proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(sbc_ap_ProtocolIE_ID_vals), "unknown (%d)"));
  }
#.END



#.FN_PARS ProtocolIE-Field/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_ProtocolIEFieldValue
# Currently not used
# FN_PARS ProtocolIE-FieldPair/firstValue  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
# FN_PARS ProtocolIE-FieldPair/secondValue  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue

#.FN_PARS ProtocolExtensionID  VAL_PTR=&ProtocolExtensionID
#.FN_PARS ProtocolExtensionField/extensionValue  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue

#.FN_PARS  ProcedureCode  VAL_PTR = &ProcedureCode
#.FN_FTR ProcedureCode
   col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
                   val_to_str(ProcedureCode, sbc_ap_ProcedureCode_vals,
                              "unknown message"));
#.END

#.FN_PARS InitiatingMessage/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_InitiatingMessageValue

#.FN_PARS SuccessfulOutcome/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_SuccessfulOutcomeValue

#.FN_PARS UnsuccessfulOutcome/value  FN_VARIANT=_pdu_new  TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue

#--- Parameterization is not supported in asn2wrs ---

#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SBC-AP-PROTOCOL-IES : IEsSetParam} ::=
#	SEQUENCE (SIZE (lowerBound..upperBound)) OF
#	ProtocolIE-Container {{IEsSetParam}}

# FN_PARS ProtocolIE-ContainerList
#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
# FN_HDR ProtocolIE-ContainerList
#  static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
#    { "lowerBound", ASN1_PAR_INTEGER },
#    { "upperBound", ASN1_PAR_INTEGER },
#    { NULL, 0 }
#  };
#  asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
#.END
#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, SBC-AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
#	SEQUENCE (SIZE (lowerBound..upperBound)) OF
#	ProtocolIE-ContainerPair {{IEsSetParam}}

# following construction is not supported by asn2wrs
# PLMNidentity ::= TBCD-STRING (SIZE (3))
# TBCD-STRING ::= OCTET STRING

#.FN_BODY PLMNidentity  VAL_PTR = parameter_tvb
  tvbuff_t *parameter_tvb=NULL;

  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       3, 3, FALSE, &parameter_tvb);
	if(tvb_reported_length(tvb)==0)
		return offset;

	if (!parameter_tvb)
		return offset;
	dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, E212_NONE, FALSE);
#.END

#.TYPE_ATTR
ProtocolExtensionID TYPE = FT_UINT8  DISPLAY = BASE_DEC STRINGS = VALS(sbc_ap_ProtocolIE_ID_vals)

#.ASSIGN_VALUE_TO_TYPE  # SBC-AP does not have constants assigned to types, they are pure INTEGER
# ProcedureCode
id-Write-Replace-Warning		ProcedureCode
id-Stop-Warning					ProcedureCode

# ProtocolIE-ID

id-Broadcast-Message-Content				ProtocolIE-ID
id-Cause 									ProtocolIE-ID
id-Criticality-Diagnostics					ProtocolIE-ID
id-Data-Coding-Scheme 						ProtocolIE-ID
id-Failure-List 							ProtocolIE-ID
id-Message-Identifier 						ProtocolIE-ID
id-Number-of-Broadcasts-Completed-List 		ProtocolIE-ID
id-Number-of-Broadcasts-Requested 			ProtocolIE-ID
id-Radio-Resource-Loading-List 				ProtocolIE-ID
id-Recovery-Indication 						ProtocolIE-ID
id-Repetition-Period 						ProtocolIE-ID
id-Serial-Number 							ProtocolIE-ID
id-Service-Areas-List 						ProtocolIE-ID
id-TypeOfError								ProtocolIE-ID
id-List-of-TAIs								ProtocolIE-ID
id-Warning-Area-List 						ProtocolIE-ID
id-Warning-Message-Content					ProtocolIE-ID
id-Warning-Security-Information				ProtocolIE-ID
id-Warning-Type								ProtocolIE-ID
id-Omc-Id 									ProtocolIE-ID
id-Concurrent-Warning-Message-Indicator		ProtocolIE-ID
id-Extended-Repetition-Period				ProtocolIE-ID


#.REGISTER

#SBC-AP-PROTOCOL-IES

# N sbc_ap.ies id-Broadcast-Message-Content
Cause									N sbc_ap.ies id-Cause
Criticality-Diagnostics					N sbc_ap.ies id-Criticality-Diagnostics
Data-Coding-Scheme						N sbc_ap.ies id-Data-Coding-Scheme
# N sbc_ap.ies id-Failure-List
Message-Identifier						N sbc_ap.ies id-Message-Identifier
# id-Number-of-Broadcasts-Completed-List
Number-of-Broadcasts-Requested			N sbc_ap.ies id-Number-of-Broadcasts-Requested
# not used ? N sbc_ap.ies id-Radio-Resource-Loading-List
# not used N sbc_ap.ies id-Recovery-Indication
Repetition-Period						N sbc_ap.ies id-Repetition-Period
Serial-Number							N sbc_ap.ies id-Serial-Number
# id-Service-Areas-List
# id-TypeOfError
List-of-TAIs							N sbc_ap.ies id-List-of-TAIs
Warning-Area-List						N sbc_ap.ies id-Warning-Area-List
Warning-Message-Content					N sbc_ap.ies id-Warning-Message-Content
Warning-Security-Information			N sbc_ap.ies id-Warning-Security-Information
Warning-Type							N sbc_ap.ies id-Warning-Type
Omc-Id									N sbc_ap.ies id-Omc-Id
Concurrent-Warning-Message-Indicator	N sbc_ap.ies id-Concurrent-Warning-Message-Indicator
Extended-Repetition-Period				N sbc_ap.ies id-Extended-Repetition-Period

#SBC-AP-ELEMENTARY-PROCEDURE
Write-Replace-Warning-Request			N sbc_ap.proc.imsg id-Write-Replace-Warning
Write-Replace-Warning-Response			N sbc_ap.proc.sout id-Write-Replace-Warning
Stop-Warning-Request					N sbc_ap.proc.imsg id-Stop-Warning
Stop-Warning-Response					N sbc_ap.proc.sout id-Stop-Warning

#.END