libosmogsm  1.4.1
Osmocom GSM library
gsm_04_08_gprs.h
Go to the documentation of this file.
1 
3 #ifndef _GSM48_GPRS_H
4 #define _GSM48_GPRS_H
5 
6 #include <stdint.h>
7 #include <stdbool.h>
10 #include <osmocom/core/endian.h>
11 
12 /* Table 10.4 / 10.4a, GPRS Mobility Management (GMM) */
13 #define GSM48_MT_GMM_ATTACH_REQ 0x01
14 #define GSM48_MT_GMM_ATTACH_ACK 0x02
15 #define GSM48_MT_GMM_ATTACH_COMPL 0x03
16 #define GSM48_MT_GMM_ATTACH_REJ 0x04
17 #define GSM48_MT_GMM_DETACH_REQ 0x05
18 #define GSM48_MT_GMM_DETACH_ACK 0x06
19 
20 #define GSM48_MT_GMM_RA_UPD_REQ 0x08
21 #define GSM48_MT_GMM_RA_UPD_ACK 0x09
22 #define GSM48_MT_GMM_RA_UPD_COMPL 0x0a
23 #define GSM48_MT_GMM_RA_UPD_REJ 0x0b
24 
25 #define GSM48_MT_GMM_PTMSI_REALL_CMD 0x10
26 #define GSM48_MT_GMM_PTMSI_REALL_COMPL 0x11
27 #define GSM48_MT_GMM_AUTH_CIPH_REQ 0x12
28 #define GSM48_MT_GMM_AUTH_CIPH_RESP 0x13
29 #define GSM48_MT_GMM_AUTH_CIPH_REJ 0x14
30 #define GSM48_MT_GMM_AUTH_CIPH_FAIL 0x1C
31 #define GSM48_MT_GMM_ID_REQ 0x15
32 #define GSM48_MT_GMM_ID_RESP 0x16
33 #define GSM48_MT_GMM_STATUS 0x20
34 #define GSM48_MT_GMM_INFO 0x21
35 
36 /* Table 10.4a, GPRS Session Management (GSM) */
37 #define GSM48_MT_GSM_ACT_PDP_REQ 0x41
38 #define GSM48_MT_GSM_ACT_PDP_ACK 0x42
39 #define GSM48_MT_GSM_ACT_PDP_REJ 0x43
40 #define GSM48_MT_GSM_REQ_PDP_ACT 0x44
41 #define GSM48_MT_GSM_REQ_PDP_ACT_REJ 0x45
42 #define GSM48_MT_GSM_DEACT_PDP_REQ 0x46
43 #define GSM48_MT_GSM_DEACT_PDP_ACK 0x47
44 #define GSM48_MT_GSM_ACT_AA_PDP_REQ 0x50
45 #define GSM48_MT_GSM_ACT_AA_PDP_ACK 0x51
46 #define GSM48_MT_GSM_ACT_AA_PDP_REJ 0x52
47 #define GSM48_MT_GSM_DEACT_AA_PDP_REQ 0x53
48 #define GSM48_MT_GSM_DEACT_AA_PDP_ACK 0x54
49 #define GSM48_MT_GSM_STATUS 0x55
50 
51 /* Chapter 10.5.5.2 / Table 10.5.135 */
52 #define GPRS_ATT_T_ATTACH 1
53 #define GPRS_ATT_T_ATT_WHILE_IMSI 2
54 #define GPRS_ATT_T_COMBINED 3
55 
56 extern const struct value_string *gprs_att_t_strs;
57 extern const struct value_string gprs_msgt_gmm_names[];
58 
59 /* Chapter 10.5.5.5 / Table 10.5.138 */
60 #define GPRS_DET_T_MO_GPRS 1
61 #define GPRS_DET_T_MO_IMSI 2
62 #define GPRS_DET_T_MO_COMBINED 3
63 /* Network to MS direction */
64 #define GPRS_DET_T_MT_REATT_REQ 1
65 #define GPRS_DET_T_MT_REATT_NOTREQ 2
66 #define GPRS_DET_T_MT_IMSI 3
67 
68 extern const struct value_string *gprs_det_t_mo_strs;
69 extern const struct value_string *gprs_det_t_mt_strs;
70 
71 /* Chapter 10.5.5.18 / Table 105.150 */
72 #define GPRS_UPD_T_RA 0
73 #define GPRS_UPD_T_RA_LA 1
74 #define GPRS_UPD_T_RA_LA_IMSI_ATT 2
75 #define GPRS_UPD_T_PERIODIC 3
76 
77 extern const struct value_string *gprs_upd_t_strs;
78 
79 /* Table 10.4 in 3GPP TS 24.008 (successor to 04.08) */
80 #define GSM48_MT_GMM_SERVICE_REQ 0x0c
81 #define GSM48_MT_GMM_SERVICE_ACK 0x0d
82 #define GSM48_MT_GMM_SERVICE_REJ 0x0e
83 
85  GSM48_IE_GMM_CIPH_CKSN = 0x08, /* 10.5.1.2 */
86  GSM48_IE_GMM_TIMER_READY = 0x17, /* 10.5.7.3 */
87  GSM48_IE_GMM_ALLOC_PTMSI = 0x18, /* 10.5.1.4 */
88  GSM48_IE_GMM_PTMSI_SIG = 0x19, /* 10.5.5.8 */
89  GSM48_IE_GMM_AUTH_RAND = 0x21, /* 10.5.3.1 */
90  GSM48_IE_GMM_AUTH_SRES = 0x22, /* 10.5.3.2 */
91  GSM48_IE_GMM_IMEISV = 0x23, /* 10.5.1.4 */
92  GSM48_IE_GMM_CAUSE = 0x25, /* 10.5.5.14 */
93  GSM48_IE_GMM_DRX_PARAM = 0x27, /* 10.5.5.6 */
94  GSM48_IE_GMM_AUTN = 0x28, /* 10.5.3.1.1 */
95  GSM48_IE_GMM_AUTH_RES_EXT = 0x29, /* 10.5.3.2.1 */
96  GSM48_IE_GMM_AUTH_FAIL_PAR = 0x30, /* 10.5.3.2.2 */
97  GSM48_IE_GMM_MS_NET_CAPA = 0x31, /* 10.5.5.12 */
98  GSM48_IE_GMM_PDP_CTX_STATUS = 0x32, /* 10.5.7.1 */
99  GSM48_IE_GMM_PS_LCS_CAPA = 0x33, /* 10.5.5.22 */
100  GSM48_IE_GMM_GMM_MBMS_CTX_ST = 0x35, /* 10.5.7.6 */
101 };
102 
104  GSM48_IE_GSM_APN = 0x28, /* 10.5.6.1 */
105  GSM48_IE_GSM_PROTO_CONF_OPT = 0x27, /* 10.5.6.3 */
106  GSM48_IE_GSM_PDP_ADDR = 0x2b, /* 10.5.6.4 */
107  GSM48_IE_GSM_AA_TMR = 0x29, /* 10.5.7.3 */
108  GSM48_IE_GSM_NAME_FULL = 0x43, /* 10.5.3.5a */
109  GSM48_IE_GSM_NAME_SHORT = 0x45, /* 10.5.3.5a */
110  GSM48_IE_GSM_TIMEZONE = 0x46, /* 10.5.3.8 */
111  GSM48_IE_GSM_UTC_AND_TZ = 0x47, /* 10.5.3.9 */
112  GSM48_IE_GSM_LSA_ID = 0x48, /* 10.5.3.11 */
113 
114  /* Fake IEs that are not present on the Layer3 air interface,
115  * but which we use to simplify internal APIs */
120 };
121 
122 /* Chapter 9.4.15 / Table 9.4.15 */
124 #if OSMO_IS_LITTLE_ENDIAN
125  uint8_t force_stby:4, /* 10.5.5.7 */
126  upd_result:4; /* 10.5.5.17 */
127  uint8_t ra_upd_timer; /* 10.5.7.3 */
128  struct gsm48_ra_id ra_id; /* 10.5.5.15 */
129  uint8_t data[0];
130 #elif OSMO_IS_BIG_ENDIAN
131 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
132  uint8_t upd_result:4, force_stby:4;
133  uint8_t ra_upd_timer;
134  struct gsm48_ra_id ra_id;
135  uint8_t data[0];
136 #endif
137 } __attribute__((packed));
138 
139 /* Chapter 10.5.7.3 */
142  GPRS_TMR_MINUTE = 1 << 5,
145 };
146 
147 #define GPRS_TMR_UNIT_MASK (7 << 5)
148 #define GPRS_TMR_FACT_MASK ((1 << 5)-1)
149 
150 /* Chapter 9.4.2 / Table 9.4.2 */
152 #if OSMO_IS_LITTLE_ENDIAN
153  uint8_t att_result:4, /* 10.5.5.7 */
154  force_stby:4; /* 10.5.5.1 */
155  uint8_t ra_upd_timer; /* 10.5.7.3 */
156  uint8_t radio_prio; /* 10.5.7.2 */
157  struct gsm48_ra_id ra_id; /* 10.5.5.15 */
158  uint8_t data[0];
159 #elif OSMO_IS_BIG_ENDIAN
160 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
161  uint8_t force_stby:4, att_result:4;
162  uint8_t ra_upd_timer;
163  uint8_t radio_prio;
164  struct gsm48_ra_id ra_id;
165  uint8_t data[0];
166 #endif
167 } __attribute__((packed));
168 
169 /* Chapter 9.4.9 / Table 9.4.9 */
171 #if OSMO_IS_LITTLE_ENDIAN
172  uint8_t ciph_alg:4, /* 10.5.5.3 */
173  imeisv_req:4; /* 10.5.5.10 */
174  uint8_t force_stby:4, /* 10.5.5.7 */
175  ac_ref_nr:4; /* 10.5.5.19 */
176  uint8_t data[0];
177 #elif OSMO_IS_BIG_ENDIAN
178 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
179  uint8_t imeisv_req:4, ciph_alg:4;
180  uint8_t ac_ref_nr:4, force_stby:4;
181  uint8_t data[0];
182 #endif
183 } __attribute__((packed));
184 /* optional: TV RAND, TV CKSN */
185 
187 #if OSMO_IS_LITTLE_ENDIAN
188  uint8_t ac_ref_nr:4,
189  spare:4;
190  uint8_t data[0];
191 #elif OSMO_IS_BIG_ENDIAN
192 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
193  uint8_t spare:4, ac_ref_nr:4;
194  uint8_t data[0];
195 #endif
196 } __attribute__((packed));
197 
198 /* Chapter 9.5.1 / Table 9.5.1 */
200  uint8_t req_nsapi;
201  uint8_t req_llc_sapi;
202  uint8_t data[0];
203 } __attribute__((packed));
204 
205 /* Chapter 10.5.5.14 / Table 10.5.147 */
237 };
238 
239 extern const struct value_string *gsm48_gmm_cause_names;
240 
241 /* 3GPP TS 24.008 10.5.6.6 / Table 10.5.157 */
270 };
271 
272 extern const struct value_string *gsm48_gsm_cause_names;
273 
274 /* Section 6.1.2.2: Session management states on the network side */
281 };
282 
283 /* Table 10.5.155/3GPP TS 24.008 */
287 };
293 };
294 
295 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
301 };
302 
303 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
308 };
309 
310 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
321 };
322 
323 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
344 };
345 
346 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
351 };
352 
353 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
357 };
358 
359 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
365 };
366 
367 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
369  /* values below in 10 octet granularity */
373 };
374 
375 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
384 };
385 
386 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
397 };
398 
399 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
408 };
409 
410 /* 3GPP 24.008 / Chapter 10.5.5.20 / Table 10.5.153a */
417 };
418 
419 extern const struct value_string *gprs_service_t_strs;
420 
421 bool gprs_ms_net_cap_gea_supported(const uint8_t *ms_net_cap, uint8_t cap_len,
422  enum gprs_ciph_algo gea);
423 
424 /* Figure 10.5.138/24.008 / Chapter 10.5.6.5 */
425 struct gsm48_qos {
426  /* octet 3 */
427  uint8_t reliab_class:3;
428  uint8_t delay_class:3;
429  uint8_t spare:2;
430  /* octet 4 */
431  uint8_t preced_class:3;
432  uint8_t spare2:1;
433  uint8_t peak_tput:4;
434  /* octet 5 */
435  uint8_t mean_tput:5;
436  uint8_t spare3:3;
437  /* octet 6 */
438  uint8_t deliv_err_sdu:3;
439  uint8_t deliv_order:2;
440  uint8_t traf_class:3;
441  /* octet 7 */
442  uint8_t max_sdu_size;
443  /* octet 8 */
444  uint8_t max_bitrate_up;
445  /* octet 9 */
447  /* octet 10 */
448  uint8_t sdu_err_ratio:4;
449  uint8_t resid_ber:4;
450  /* octet 11 */
451  uint8_t handling_prio:2;
452  uint8_t xfer_delay:6;
453  /* octet 12 */
455  /* octet 13 */
457  /* octet 14 */
458  uint8_t src_stats_desc:4;
459  uint8_t sig_ind:1;
460  uint8_t spare5:3;
461  /* octet 15 */
463  /* octet 16 */
465 };
466 
467 
468 #endif /* _GSM48_GPRS_H */
Definition: gsm_04_08_gprs.h:269
Definition: gsm_04_08_gprs.h:231
Definition: gsm_04_08_gprs.h:100
Definition: gsm_04_08_gprs.h:85
Definition: gsm_04_08_gprs.h:246
Definition: gsm_04_08_gprs.h:207
Definition: gsm_04_08_gprs.h:248
Definition: gsm_04_08_gprs.h:363
Definition: gsm_04_08_gprs.h:227
Definition: gsm_04_08_gprs.h:341
const struct value_string gprs_msgt_gmm_names[]
String names of GMM message types.
Definition: gsm_04_08_gprs.c:150
Definition: gsm_04_08_gprs.h:313
Definition: gsm_04_08_gprs.h:382
Definition: gsm_04_08_gprs.h:348
Definition: gsm_04_08_gprs.h:247
Definition: gsm_04_08_gprs.h:340
Definition: gsm_04_08_gprs.h:289
Definition: gsm_04_08_gprs.h:338
Definition: gsm_04_08_gprs.h:343
Definition: gsm_04_08_gprs.h:116
Definition: gsm_04_08_gprs.h:407
Definition: gsm_04_08_gprs.h:298
Definition: gsm_04_08_gprs.h:396
gsm48_pdp_state
Definition: gsm_04_08_gprs.h:275
gsm48_qos_resid_ber
Definition: gsm_04_08_gprs.h:387
Definition: gsm_04_08_gprs.h:91
Definition: gsm_04_08_gprs.h:210
Definition: gsm_04_08_gprs.h:306
gsm48_qos_traf_class
Definition: gsm_04_08_gprs.h:360
uint8_t data[0]
Definition: gsm_04_08_gprs.h:80
Definition: gsm_04_08_gprs.h:250
uint8_t max_bitrate_down
Definition: gsm_04_08_gprs.h:446
Definition: gsm_04_08_gprs.h:86
Definition: gsm_04_08_gprs.h:290
Definition: gsm_04_08_gprs.h:233
Definition: gsm_04_08_gprs.h:416
const struct value_string * gprs_att_t_strs
Definition: gsm_04_08_gprs.c:182
gsm48_gprs_ie_sm
Definition: gsm_04_08_gprs.h:103
Definition: gsm_04_08_gprs.h:112
Definition: gsm_04_08_gprs.h:253
Definition: gsm_04_08_gprs.h:267
Definition: gsm_04_08_gprs.h:245
bool gprs_ms_net_cap_gea_supported(const uint8_t *ms_net_cap, uint8_t cap_len, enum gprs_ciph_algo gea)
Check if MS supports particular version of GEA by inspecting MS network capability IE specified in 3G...
Definition: gsm_04_08_gprs.c:130
uint8_t guar_bitrate_down_ext
Definition: gsm_04_08_gprs.h:464
Definition: gsm_04_08_gprs.h:377
Definition: gsm_04_08_gprs.h:232
Definition: gsm_04_08_gprs.h:280
Definition: gsm_04_08_gprs.h:105
Definition: gsm_04_08_gprs.h:95
Definition: gsm_04_08_gprs.h:364
Definition: gsm_04_08_gprs.h:108
Definition: gsm_04_08_gprs.h:379
Definition: gsm_04_08_gprs.h:104
Definition: gsm_04_08_gprs.h:276
Definition: gsm_04_08_gprs.h:226
Definition: gsm_04_08_gprs.h:401
Definition: gsm_04_08_gprs.h:261
Definition: gsm_04_08_gprs.h:88
uint8_t max_bitrate_down_ext
Definition: gsm_04_08_gprs.h:462
Definition: gsm_04_08_gprs.h:392
Definition: gsm_04_08_gprs.h:94
Definition: gsm_04_08_gprs.h:97
Definition: gsm_04_08_gprs.h:99
Definition: gsm_04_08_gprs.h:327
Definition: gsm_04_08_gprs.h:336
gsm48_gprs_tmr_unit
Definition: gsm_04_08_gprs.h:140
Definition: gsm_04_08_gprs.h:213
const struct value_string * gsm48_gmm_cause_names
Definition: gsm_04_08_gprs.c:80
Definition: gsm_04_08_gprs.h:391
Definition: gsm_04_08_gprs.h:320
gsm48_qos_peak_tput
Definition: gsm_04_08_gprs.h:311
Definition: gsm_04_08_gprs.h:235
Definition: gsm_04_08_gprs.h:394
Definition: gsm_04_08_gprs.h:215
Definition: gsm_04_08_gprs.h:307
Definition: gsm_04_08_gprs.h:339
Definition: gsm_04_08_gprs.h:211
Definition: gsm_04_08_gprs.h:119
Definition: gsm_04_08_gprs.h:330
Definition: gsm_04_08_gprs.h:117
Definition: gsm_04_08_gprs.h:326
Definition: gsm_04_08_gprs.h:243
gsm48_qos_reliab_class
Definition: gsm_04_08_gprs.h:296
Definition: gsm_04_08_gprs.h:199
Definition: gsm_04_08_gprs.h:413
Definition: gsm_04_08_gprs.h:87
Definition: gsm_04_08_gprs.h:228
Definition: gsm_04_08_gprs.h:266
Definition: gsm_04_08_gprs.h:141
Definition: gsm_04_08_gprs.h:402
Definition: gsm_04_08_gprs.h:208
const struct value_string * gprs_det_t_mt_strs
Definition: gsm_04_08_gprs.c:213
Definition: gsm_04_08.h:1931
Definition: gsm_04_08_gprs.h:234
Definition: gsm_04_08_gprs.h:388
gsm48_qos_max_sdu_size
Definition: gsm_04_08_gprs.h:368
Definition: gsm_04_08_gprs.h:98
gsm48_gprs_ie_mm
Definition: gsm_04_08_gprs.h:84
Definition: gsm_04_08_gprs.h:405
gsm48_pdp_type_nr
Definition: gsm_04_08_gprs.h:288
Definition: gsm_04_08_gprs.h:222
GSM TS 04.08 definitions.
Definition: gsm_04_08_gprs.h:236
Definition: gsm_04_08_gprs.h:279
gsm48_qos_mean_tput
Definition: gsm_04_08_gprs.h:324
Definition: gsm_04_08_gprs.h:356
Definition: gsm_04_08_gprs.h:143
Definition: gsm_04_08_gprs.h:328
Definition: gsm_04_08_gprs.h:252
Definition: gsm_04_08_gprs.h:258
Definition: gsm_04_08_gprs.h:216
Definition: gsm_04_08_gprs.h:217
Definition: gsm_04_08_gprs.h:142
gsm48_pdp_type_org
Definition: gsm_04_08_gprs.h:284
Definition: gsm_04_08_gprs.h:286
Definition: gsm_04_08_gprs.h:285
Definition: gsm_04_08_gprs.h:361
gsm48_gmm_service_type
Definition: gsm_04_08_gprs.h:411
Definition: gsm_04_08_gprs.h:337
Definition: gsm_04_08_gprs.h:257
Definition: gsm_04_08_gprs.h:249
gsm48_gsm_cause
Definition: gsm_04_08_gprs.h:242
Definition: gsm_04_08_gprs.h:151
const struct value_string * gprs_upd_t_strs
Definition: gsm_04_08_gprs.c:193
Definition: gsm_04_08_gprs.h:221
Definition: gsm_04_08_gprs.h:264
Definition: gsm_04_08_gprs.h:378
Definition: gsm_04_08_gprs.h:212
Definition: gsm_04_08_gprs.h:110
Definition: gsm_04_08_gprs.h:370
Definition: gsm_04_08_gprs.h:89
Definition: gsm_04_08_gprs.h:118
Definition: gsm_04_08_gprs.h:225
const struct value_string * gsm48_gsm_cause_names
Definition: gsm_04_08_gprs.c:120
Definition: gsm_04_08_gprs.h:107
Definition: gsm_04_08_gprs.h:334
enum gsm48_gprs_ie_mm __attribute__
Definition: gsm_04_08_gprs.h:383
Definition: gsm_04_08_gprs.h:425
Definition: gsm_04_08_gprs.h:251
uint8_t max_bitrate_up
Definition: gsm_04_08_gprs.h:444
Definition: gsm_04_08_gprs.h:329
gsm48_gmm_cause
Definition: gsm_04_08_gprs.h:206
Definition: gsm_04_08_gprs.h:314
Definition: gsm_04_08_gprs.h:390
Definition: gsm_04_08_gprs.h:393
Definition: gsm_04_08_gprs.h:255
Definition: gsm_04_08_gprs.h:256
Definition: gsm_04_08_gprs.h:96
Definition: gsm_04_08_gprs.h:144
Definition: gsm_04_08_gprs.h:93
Definition: gsm_04_08_gprs.h:263
Definition: gsm_04_08_gprs.h:315
Definition: gsm_04_08_gprs.h:186
gsm48_qos_max_bitrate
Definition: gsm_04_08_gprs.h:376
Definition: gsm_04_08_gprs.h:297
Definition: gsm_04_08_gprs.h:229
Definition: gsm_04_08_gprs.h:318
Definition: gsm_04_08_gprs.h:259
Definition: gsm_04_08_gprs.h:292
Definition: gsm_04_08_gprs.h:109
gprs_ciph_algo
Definition: gprs_cipher.h:13
Definition: gsm_04_08_gprs.h:209
Definition: gsm_04_08_gprs.h:415
Definition: gsm_04_08_gprs.h:331
Definition: gsm_04_08_gprs.h:414
Definition: gsm_04_08_gprs.h:278
Definition: gsm_04_08_gprs.h:218
Definition: gsm_04_08_gprs.h:333
uint8_t req_llc_sapi
Definition: gsm_04_08_gprs.h:201
Definition: gsm_04_08_gprs.h:372
Definition: gsm_04_08_gprs.h:335
Definition: gsm_04_08_gprs.h:300
Definition: gsm_04_08_gprs.h:254
Definition: gsm_04_08_gprs.h:412
Definition: gsm_04_08_gprs.h:395
Definition: gsm_04_08_gprs.h:319
Definition: gsm_04_08_gprs.h:214
Definition: gsm_04_08_gprs.h:244
Definition: gsm_04_08_gprs.h:317
Definition: gsm_04_08_gprs.h:305
Definition: gsm_04_08_gprs.h:325
Definition: gsm_04_08_gprs.h:406
Definition: gsm_04_08_gprs.h:265
Definition: gsm_04_08_gprs.h:291
Definition: gsm_04_08_gprs.h:268
Definition: gsm_04_08_gprs.h:381
const struct value_string * gprs_service_t_strs
Definition: gsm_04_08_gprs.c:225
Definition: gsm_04_08_gprs.h:312
Definition: gsm_04_08_gprs.h:220
Definition: gsm_04_08_gprs.h:90
gsm48_qos_preced_class
Definition: gsm_04_08_gprs.h:304
Definition: gsm_04_08_gprs.h:170
Definition: gsm_04_08_gprs.h:316
uint8_t req_nsapi
Definition: gsm_04_08_gprs.h:200
Definition: gsm_04_08_gprs.h:224
Definition: gsm_04_08_gprs.h:403
Definition: gsm_04_08_gprs.h:123
uint8_t max_sdu_size
Definition: gsm_04_08_gprs.h:442
gsm48_qos_err_sdu
Definition: gsm_04_08_gprs.h:347
const struct value_string * gprs_det_t_mo_strs
Definition: gsm_04_08_gprs.c:203
Definition: gsm_04_08_gprs.h:349
Definition: gsm_04_08_gprs.h:342
Definition: gsm_04_08_gprs.h:92
Definition: gsm_04_08_gprs.h:230
Definition: gsm_04_08_gprs.h:260
Definition: gsm_04_08_gprs.h:332
Definition: gsm_04_08_gprs.h:111
Definition: gsm_04_08_gprs.h:355
Definition: gsm_04_08_gprs.h:262
Definition: gsm_04_08_gprs.h:223
gsm48_qos_sdu_err
Definition: gsm_04_08_gprs.h:400
Definition: gsm_04_08_gprs.h:106
Definition: gsm_04_08_gprs.h:350
Definition: gsm_04_08_gprs.h:299
Definition: gsm_04_08_gprs.h:362
Definition: gsm_04_08_gprs.h:277
Definition: gsm_04_08_gprs.h:219
Definition: gsm_04_08_gprs.h:380
Definition: gsm_04_08_gprs.h:404
Definition: gsm_04_08_gprs.h:389
Definition: gsm_04_08_gprs.h:371
uint8_t guar_bitrate_up
Definition: gsm_04_08_gprs.h:454
gsm48_qos_deliv_order
Definition: gsm_04_08_gprs.h:354
uint8_t guar_bitrate_down
Definition: gsm_04_08_gprs.h:456