libosmogsm  1.9.0.20-4ca0f.202311042026
Osmocom GSM library
gsm_08_58.h
Go to the documentation of this file.
1 
4 /*
5  * (C) 2008 by Harald Welte <laforge@gnumonks.org>
6  * All Rights Reserved
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  */
19 
20 #pragma once
21 
22 #include <stdint.h>
23 
24 #include <osmocom/core/endian.h>
25 
30 /* Channel Number 9.3.1 */
32 #if OSMO_IS_BIG_ENDIAN
33  uint8_t cbits:5,
34  tn:3;
35 #elif OSMO_IS_LITTLE_ENDIAN
36  uint8_t tn:3,
37  cbits:5;
38 #endif
39  uint8_t chan_nr;
40 } __attribute__ ((packed));
41 #define ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs 0x01
42 #define ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(ss) (0x02 + (ss))
43 #define ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(ss) (0x04 + (ss))
44 #define ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(ss) (0x08 + (ss))
45 #define ABIS_RSL_CHAN_NR_CBITS_BCCH 0x10
46 #define ABIS_RSL_CHAN_NR_CBITS_RACH 0x11
47 #define ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH 0x12
48 #define ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH 0x18 /*< non-standard, for dyn TS */
49 #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH4 0x19 /*< non-standard, for CBCH/SDCCH4 */
50 #define ABIS_RSL_CHAN_NR_CBITS_OSMO_CBCH8 0x1a /*< non-standard, for CBCH/SDCCH8 */
51 
52 /* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */
53 #define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Bm_ACCHs 0x1d /*< VAMOS TCH/F */
54 #define ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(ss) (0x1e + (ss)) /*< VAMOS TCH/H */
55 
56 /* Link Identifier 9.3.2 */
58 #if OSMO_IS_BIG_ENDIAN
59  uint8_t cbits:2,
60  na:1,
61  reserved:2,
62  sapi:3;
63 #elif OSMO_IS_LITTLE_ENDIAN
64  uint8_t sapi:3,
65  reserved:2,
66  na:1,
67  cbits:2;
68 #endif
69  uint8_t link_id;
70 } __attribute__ ((packed));
71 #define ABIS_RSL_LINK_ID_CBITS_FACCH_SDCCH 0x00
72 #define ABIS_RSL_LINK_ID_CBITS_SACCH 0x01
73 
76  uint8_t msg_discr;
77  uint8_t msg_type;
78  uint8_t data[0];
79 } __attribute__ ((packed));
80 
81 /* RSL RLL header (Chapter 8.3) */
84  uint8_t ie_chan;
85  union {
86  uint8_t chan_nr; /* API backward compat */
88  };
89  uint8_t ie_link_id;
90  union {
91  uint8_t link_id; /* API backward compat */
93  };
94  uint8_t data[0];
95 } __attribute__ ((packed));
96 
97 /* RSL Dedicated Channel header (Chapter 8.3 and 8.4) */
100  uint8_t ie_chan;
101  union {
102  uint8_t chan_nr; /* API backward compat */
104  };
105  uint8_t data[0];
106 } __attribute__ ((packed));
107 
108 /* RSL Common Channel header (Chapter 8.5) */
111  uint8_t ie_chan;
112  union {
113  uint8_t chan_nr; /* API backward compat */
115  };
116  uint8_t data[0];
117 } __attribute__ ((packed));
118 
119 /* Osmocom specific IE to negotiate repeated ACCH capabilities */
121 #if OSMO_IS_LITTLE_ENDIAN
122  uint8_t dl_facch_cmd:1,
123  dl_facch_all:1,
124  dl_sacch:1,
125  ul_sacch:1,
126  rxqual:3,
127  reserved:1;
128 #elif OSMO_IS_BIG_ENDIAN
129 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
130  uint8_t reserved:1, rxqual:3, ul_sacch:1, dl_sacch:1, dl_facch_all:1, dl_facch_cmd:1;
131 #endif
132 } __attribute__ ((packed));
133 
134 /* Osmocom specific IE to negotiate temporary overpower of ACCH channels */
136 #if OSMO_IS_LITTLE_ENDIAN
137  uint8_t overpower_db:3,
138  rxqual:3,
139  facch_enable:1,
140  sacch_enable:1;
141 #elif OSMO_IS_BIG_ENDIAN
142 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
143  uint8_t sacch_enable:1, facch_enable:1, rxqual:3, overpower_db:3;
144 #endif
145 } __attribute__ ((packed));
146 
147 /* Chapter 9.1 */
148 /* RSL Message Discriminator: RLL */
149 #define ABIS_RSL_MDISC_RLL 0x02
150 /* RSL Message Discriminator: Dedicated Channel */
151 #define ABIS_RSL_MDISC_DED_CHAN 0x08
152 /* RSL Message Discriminator: Common Channel */
153 #define ABIS_RSL_MDISC_COM_CHAN 0x0c
154 /* RSL Message Discriminator: TRX Management */
155 #define ABIS_RSL_MDISC_TRX 0x10
156 /* RSL Message Discriminator: Location Service */
157 #define ABIS_RSL_MDISC_LOC 0x20
158 /* RSL Message Discriminator: ip.access */
159 #define ABIS_RSL_MDISC_IPACCESS 0x7e
160 #define ABIS_RSL_MDISC_TRANSP 0x01
161 
162 /* Check if given RSL message discriminator is transparent */
163 #define ABIS_RSL_MDISC_IS_TRANSP(x) (x & 0x01)
164 
165 /* RSL Message Type (Chapter 9.1) */
167  /* Radio Link Layer Management */
179  RSL_MT_SUSP_REQ, /* non-standard elements */
182  RSL_MT_RECON_REQ, /* 0x0f */
183 
184  /* Common Channel Management / TRX Management */
192  RSL_MT_CHAN_CONF, /* non-standard element */
193  /* empty */
200  RSL_MT_NOT_CMD, /* 0x1f */
201 
202  /* Dedicate Channel Management */
233  RSL_MT_TFO_MOD_REQ, /* 0x3f */
235 
236  /* ip.access specific RSL message types */
253  RSL_MT_IPAC_MEAS_PREPROC_DFT = 0x60, /*Extented Common Channel Management */
256  RSL_MT_IPAC_CRCX = 0x70, /* Bind to local BTS RTP port */
266 
268 };
269 
288 };
289 
293 };
294 
325  /* reserved */
331  RSL_IE_IMM_ASS_INFO, /* Phase 1 (3.6.0), later Full below */
357  /* Siemens vendor-specific */
366 
367  /* Osmocom specific */
372 
373  /* ip.access */
392 };
393 
394 /* Ericsson specific IEs, clash with above partially, so they're not
395  * part of the enum */
396 #define RSL_IE_ERIC_PAGING_GROUP 0x0e
397 #define RSL_IE_ERIC_INST_NR 0x48
398 #define RSL_IE_ERIC_PGSL_TIMERS 0x49
399 #define RSL_IE_ERIC_REPEAT_DL_FACCH 0x4a
400 #define RSL_IE_ERIC_POWER_INFO 0xf0
401 #define RSL_IE_ERIC_MOBILE_ID 0xf1
402 #define RSL_IE_ERIC_BCCH_MAPPING 0xf2
403 #define RSL_IE_ERIC_PACKET_PAG_IND 0xf3
404 #define RSL_IE_ERIC_CNTR_CTRL 0xf4
405 #define RSL_IE_ERIC_CNTR_CTRL_ACK 0xf5
406 #define RSL_IE_ERIC_CNTR_REPORT 0xf6
407 #define RSL_IE_ERIC_ICP_CONN 0xf7
408 #define RSL_IE_ERIC_EMR_SUPPORT 0xf8
409 #define RSL_IE_ERIC_EGPRS_REQ_REF 0xf9
410 #define RSL_IE_ERIC_VGCS_REL 0xfa
411 #define RSL_IE_ERIC_REP_PER_NCH 0xfb
412 #define RSL_IE_ERIC_NY2 0xfc
413 #define RSL_IE_ERIC_T3115 0xfd
414 #define RSL_IE_ERIC_ACTIVATE_FLAG 0xfe
415 #define RSL_IE_ERIC_FULL_NCH_INFO 0xff
416 
417 /* IPAC MEAS_PREPROC AVERAGING METHOD */
418 enum {
422  /* EWMA is an Osmocom specific extension */
424 };
425 
426 /* IPAC MEAS_PREPROC AVERAGING PARAM ID */
427 enum {
431 };
432 
433 /* IPAC MEAS_PREPROC HO CAUSES */
434 enum {
453 };
454 
455 /* Chapter 9.3.1 */
456 #define RSL_CHAN_NR_MASK 0xf8
457 #define RSL_CHAN_NR_1 0x08 /*< bit to add for 2nd,... lchan */
458 #define RSL_CHAN_Bm_ACCHs 0x08
459 #define RSL_CHAN_Lm_ACCHs 0x10 /* .. 0x18 */
460 #define RSL_CHAN_SDCCH4_ACCH 0x20 /* .. 0x38 */
461 #define RSL_CHAN_SDCCH8_ACCH 0x40 /* ...0x78 */
462 #define RSL_CHAN_BCCH 0x80
463 #define RSL_CHAN_RACH 0x88
464 #define RSL_CHAN_PCH_AGCH 0x90
465 #define RSL_CHAN_OSMO_PDCH 0xc0 /*< non-standard, for dyn TS */
466 #define RSL_CHAN_OSMO_CBCH4 0xc8 /*< non-standard, for CBCH/SDCCH4 */
467 #define RSL_CHAN_OSMO_CBCH8 0xd0 /*< non-standard, for CBCH/SDCCH8 */
468 
469 /* non-standard, Osmocom specific Bm/Lm equivalents for VAMOS */
470 #define RSL_CHAN_OSMO_VAMOS_Bm_ACCHs 0xe8 /* VAMOS TCH/F */
471 #define RSL_CHAN_OSMO_VAMOS_Lm_ACCHs 0xf0 /* VAMOS TCH/H */
472 #define RSL_CHAN_OSMO_VAMOS_MASK 0xe0 /* VAMOS TCH/{F,H} */
473 
474 /* Chapter 9.3.3 */
475 #define RSL_ACT_TYPE_INITIAL 0x00
476 #define RSL_ACT_TYPE_REACT 0x80
477 #define RSL_ACT_INTRA_IMM_ASS 0x00
478 #define RSL_ACT_INTRA_NORM_ASS 0x01
479 #define RSL_ACT_INTER_ASYNC 0x02
480 #define RSL_ACT_INTER_SYNC 0x03
481 #define RSL_ACT_SECOND_ADD 0x04
482 #define RSL_ACT_SECOND_MULTI 0x05
483 #define RSL_ACT_OSMO_PDCH 0x0f /*< non-standard, for dyn TS */
484 
487  uint8_t dtx_dtu;
488  uint8_t spd_ind;
489  uint8_t chan_rt;
490  uint8_t chan_rate;
491 } __attribute__ ((packed));
492 #define RSL_CMOD_DTXu 0x01 /* uplink */
493 #define RSL_CMOD_DTXd 0x02 /* downlink */
498 };
502  RSL_CMOD_CRT_TCH_Bm = 0x08, /* full-rate */
503  RSL_CMOD_CRT_TCH_Lm = 0x09, /* half-rate */
504  RSL_CMOD_CRT_TCH_BI_Bm = 0x0a, /* full-rate: bi-directional (multislot) */
505  RSL_CMOD_CRT_TCH_UNI_Bm = 0x1a, /* full-rate: uni-directional (multislot) */
506  RSL_CMOD_CRT_TCH_GROUP_Bm = 0x18, /* full-rate: group call channel */
507  RSL_CMOD_CRT_TCH_GROUP_Lm = 0x19, /* half-rate: group call channel */
508  RSL_CMOD_CRT_TCH_BCAST_Bm = 0x28, /* full-rate: broadcast call channel */
509  RSL_CMOD_CRT_TCH_BCAST_Lm = 0x29, /* half-rate: broadcast call channel */
510  RSL_CMOD_CRT_OSMO_TCH_VAMOS_Bm = 0x88, /* full-rate in VAMOS mode */
511  RSL_CMOD_CRT_OSMO_TCH_VAMOS_Lm = 0x89, /* half-rate in VAMOS mode */
512 };
521 };
524  RSL_CMOD_CSD_NTA_43k5_14k5 = 0x61, /* asymmetric 43.5 kbit/s (DL) + 14.5 kbit/s (UL) */
525  RSL_CMOD_CSD_NTA_29k0_14k5 = 0x62, /* asymmetric 29.0 kbit/s (DL) + 14.5 kbit/s (UL) */
526  RSL_CMOD_CSD_NTA_43k5_29k0 = 0x63, /* asymmetric 43.5 kbit/s (DL) + 29.0 kbit/s (UL) */
527  RSL_CMOD_CSD_NTA_14k5_43k5 = 0x69, /* asymmetric 14.5 kbit/s (DL) + 43.5 kbit/s (UL) */
528  RSL_CMOD_CSD_NTA_14k5_29k0 = 0x6a, /* asymmetric 14.5 kbit/s (DL) + 29.0 kbit/s (UL) */
529  RSL_CMOD_CSD_NTA_29k0_43k5 = 0x6b, /* asymmetric 29.0 kbit/s (DL) + 43.5 kbit/s (UL) */
535 };
536 /* legacy #defines with wrong name */
537 #define RSL_CMOD_SP_NT_14k5 RSL_CMOD_CSD_NT_14k5
538 #define RSL_CMOD_SP_NT_12k0 RSL_CMOD_CSD_NT_12k0
539 #define RSL_CMOD_SP_NT_6k0 RSL_CMOD_CSD_NT_6k0
540 #define RSL_CMOD_CSD_T_32000 RSL_CMOD_CSD_T_32k0
541 #define RSL_CMOD_CSD_T_29000 RSL_CMOD_CSD_T_29k0
542 #define RSL_CMOD_CSD_T_14400 RSL_CMOD_CSD_T_14k4
543 #define RSL_CMOD_CSD_T_9600 RSL_CMOD_CSD_T_9k6
544 #define RSL_CMOD_CSD_T_4800 RSL_CMOD_CSD_T_4k8
545 #define RSL_CMOD_CSD_T_2400 RSL_CMOD_CSD_T_2k4
546 #define RSL_CMOD_CSD_T_1200 RSL_CMOD_CSD_T_1k2
547 
558 };
559 
562  /* GSM 04.08 10.5.2.5 */
563  struct {
564  uint8_t iei;
565  uint8_t chan_nr; /* enc_chan_nr */
566  uint8_t oct3;
567  uint8_t oct4;
568  } chan_desc;
569 #if 0 /* spec says we need this but Abissim doesn't use it */
570  struct {
571  uint8_t tag;
572  uint8_t len;
573  } mobile_alloc;
574 #endif
575 } __attribute__ ((packed));
576 
577 /* Chapter 9.3.22 */
578 #define RLL_CAUSE_T200_EXPIRED 0x01
579 #define RLL_CAUSE_REEST_REQ 0x02
580 #define RLL_CAUSE_UNSOL_UA_RESP 0x03
581 #define RLL_CAUSE_UNSOL_DM_RESP 0x04
582 #define RLL_CAUSE_UNSOL_DM_RESP_MF 0x05
583 #define RLL_CAUSE_UNSOL_SPRV_RESP 0x06
584 #define RLL_CAUSE_SEQ_ERR 0x07
585 #define RLL_CAUSE_UFRM_INC_PARAM 0x08
586 #define RLL_CAUSE_SFRM_INC_PARAM 0x09
587 #define RLL_CAUSE_IFRM_INC_MBITS 0x0a
588 #define RLL_CAUSE_IFRM_INC_LEN 0x0b
589 #define RLL_CAUSE_FRM_UNIMPL 0x0c
590 #define RLL_CAUSE_SABM_MF 0x0d
591 #define RLL_CAUSE_SABM_INFO_NOTALL 0x0e
592 
593 /* Chapter 9.3.26 */
594 #define RSL_ERRCLS_NORMAL 0x00
595 #define RSL_ERRCLS_RESOURCE_UNAVAIL 0x20
596 #define RSL_ERRCLS_SERVICE_UNAVAIL 0x30
597 #define RSL_ERRCLS_SERVICE_UNIMPL 0x40
598 #define RSL_ERRCLS_INVAL_MSG 0x50
599 #define RSL_ERRCLS_PROTO_ERROR 0x60
600 #define RSL_ERRCLS_INTERWORKING 0x70
601 
602 /* normal event */
603 #define RSL_ERR_RADIO_IF_FAIL 0x00
604 #define RSL_ERR_RADIO_LINK_FAIL 0x01
605 #define RSL_ERR_HANDOVER_ACC_FAIL 0x02
606 #define RSL_ERR_TALKER_ACC_FAIL 0x03
607 #define RSL_ERR_OM_INTERVENTION 0x07
608 #define RSL_ERR_NORMAL_UNSPEC 0x0f
609 #define RSL_ERR_T_MSRFPCI_EXP 0x18
610 /* resource unavailable */
611 #define RSL_ERR_EQUIPMENT_FAIL 0x20
612 #define RSL_ERR_RR_UNAVAIL 0x21
613 #define RSL_ERR_TERR_CH_FAIL 0x22
614 #define RSL_ERR_CCCH_OVERLOAD 0x23
615 #define RSL_ERR_ACCH_OVERLOAD 0x24
616 #define RSL_ERR_PROCESSOR_OVERLOAD 0x25
617 #define RSL_ERR_BTS_NOT_EQUIPPED 0x27
618 #define RSL_ERR_REMOTE_TRANSC_FAIL 0x28
619 #define RSL_ERR_NOTIFICATION_OVERFL 0x29
620 #define RSL_ERR_RES_UNAVAIL 0x2f
621 /* service or option not available */
622 #define RSL_ERR_TRANSC_UNAVAIL 0x30
623 #define RSL_ERR_SERV_OPT_UNAVAIL 0x3f
624 /* service or option not implemented */
625 #define RSL_ERR_ENCR_UNIMPL 0x40
626 #define RSL_ERR_SERV_OPT_UNIMPL 0x4f
627 /* invalid message */
628 #define RSL_ERR_RCH_ALR_ACTV_ALLOC 0x50
629 #define RSL_ERR_INVALID_MESSAGE 0x5f
630 /* protocol error */
631 #define RSL_ERR_MSG_DISCR 0x60
632 #define RSL_ERR_MSG_TYPE 0x61
633 #define RSL_ERR_MSG_SEQ 0x62
634 #define RSL_ERR_IE_ERROR 0x63
635 #define RSL_ERR_MAND_IE_ERROR 0x64
636 #define RSL_ERR_OPT_IE_ERROR 0x65
637 #define RSL_ERR_IE_NONEXIST 0x66
638 #define RSL_ERR_IE_LENGTH 0x67
639 #define RSL_ERR_IE_CONTENT 0x68
640 #define RSL_ERR_PROTO 0x6f
641 /* interworking */
642 #define RSL_ERR_INTERWORKING 0x7f
643 
644 /* Chapter 9.3.30 */
645 #define RSL_SYSTEM_INFO_8 0x00
646 #define RSL_SYSTEM_INFO_1 0x01
647 #define RSL_SYSTEM_INFO_2 0x02
648 #define RSL_SYSTEM_INFO_3 0x03
649 #define RSL_SYSTEM_INFO_4 0x04
650 #define RSL_SYSTEM_INFO_5 0x05
651 #define RSL_SYSTEM_INFO_6 0x06
652 #define RSL_SYSTEM_INFO_7 0x07
653 #define RSL_SYSTEM_INFO_16 0x08
654 #define RSL_SYSTEM_INFO_17 0x09
655 #define RSL_SYSTEM_INFO_2bis 0x0a
656 #define RSL_SYSTEM_INFO_2ter 0x0b
657 #define RSL_SYSTEM_INFO_5bis 0x0d
658 #define RSL_SYSTEM_INFO_5ter 0x0e
659 #define RSL_SYSTEM_INFO_10 0x0f
660 #define RSL_EXT_MEAS_ORDER 0x47
661 #define RSL_MEAS_INFO 0x48
662 #define RSL_SYSTEM_INFO_13 0x28
663 #define RSL_ERIC_SYSTEM_INFO_13 0x0C
664 #define RSL_SYSTEM_INFO_2quater 0x29
665 #define RSL_SYSTEM_INFO_9 0x2a
666 #define RSL_SYSTEM_INFO_18 0x2b
667 #define RSL_SYSTEM_INFO_19 0x2c
668 #define RSL_SYSTEM_INFO_20 0x2d
669 
670 /* Chapter 9.3.40 */
671 #define RSL_CHANNEED_ANY 0x00
672 #define RSL_CHANNEED_SDCCH 0x01
673 #define RSL_CHANNEED_TCH_F 0x02
674 #define RSL_CHANNEED_TCH_ForH 0x03
675 
678 #if OSMO_IS_LITTLE_ENDIAN
679  uint8_t last_block:2;
680  uint8_t spare:1;
681  uint8_t def_bcast:1;
682  uint8_t command:4;
683 #elif OSMO_IS_BIG_ENDIAN
684 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
685  uint8_t command:4, def_bcast:1, spare:1, last_block:2;
686 #endif
687 } __attribute__ ((packed));
688 /* ->command */
689 #define RSL_CB_CMD_TYPE_NORMAL 0x00
690 #define RSL_CB_CMD_TYPE_SCHEDULE 0x08
691 #define RSL_CB_CMD_TYPE_DEFAULT 0x0e
692 #define RSL_CB_CMD_TYPE_NULL 0x0f
693 /* ->def_bcast */
694 #define RSL_CB_CMD_DEFBCAST_NORMAL 0
695 #define RSL_CB_CMD_DEFBCAST_NULL 1
696 /* ->last_block */
697 #define RSL_CB_CMD_LASTBLOCK_4 0
698 #define RSL_CB_CMD_LASTBLOCK_1 1
699 #define RSL_CB_CMD_LASTBLOCK_2 2
700 #define RSL_CB_CMD_LASTBLOCK_3 3
701 
704 #if OSMO_IS_LITTLE_ENDIAN
705  uint8_t nln:2;
706  uint8_t emlpp_priority:3;
707  uint8_t nln_status:1;
708  uint8_t spare:2;
709 #elif OSMO_IS_BIG_ENDIAN
710 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
711  uint8_t spare:2, nln_status:1, emlpp_priority:3, nln:2;
712 #endif
713 } __attribute__ ((packed));
714 
716 #define RSL_CMD_INDICATOR_START 0x00
717 #define RSL_CMD_INDICATOR_STOP 0x01
718 
719 /* Chapter 3.3.2.3 Brocast control channel */
720 /* CCCH-CONF, NC is not combined */
721 #define RSL_BCCH_CCCH_CONF_1_NC 0x00
722 #define RSL_BCCH_CCCH_CONF_1_C 0x01
723 #define RSL_BCCH_CCCH_CONF_2_NC 0x02
724 #define RSL_BCCH_CCCH_CONF_3_NC 0x04
725 #define RSL_BCCH_CCCH_CONF_4_NC 0x06
726 
727 /* BS-PA-MFRMS */
728 #define RSL_BS_PA_MFRMS_2 0x00
729 #define RSL_BS_PA_MFRMS_3 0x01
730 #define RSL_BS_PA_MFRMS_4 0x02
731 #define RSL_BS_PA_MFRMS_5 0x03
732 #define RSL_BS_PA_MFRMS_6 0x04
733 #define RSL_BS_PA_MFRMS_7 0x05
734 #define RSL_BS_PA_MFRMS_8 0x06
735 #define RSL_BS_PA_MFRMS_9 0x07
737 /* RSL_IE_IPAC_RTP_PAYLOAD[2] */
744 };
745 
746 /* RSL_IE_IPAC_SPEECH_MODE, lower four bits */
748  RSL_IPAC_SPEECH_GSM_FR = 0, /* GSM FR (Type 1, FS) */
749  RSL_IPAC_SPEECH_GSM_EFR = 1, /* GSM EFR (Type 2, FS) */
750  RSL_IPAC_SPEECH_GSM_AMR_FR = 2, /* GSM AMR/FR (Type 3, FS) */
751  RSL_IPAC_SPEECH_GSM_HR = 3, /* GSM HR (Type 1, HS) */
752  RSL_IPAC_SPEECH_GSM_AMR_HR = 5, /* GSM AMR/hr (Type 3, HS) */
753  RSL_IPAC_SPEECH_AS_RTP = 0xf, /* As specified by RTP Payload IE */
754 };
755 /* RSL_IE_IPAC_SPEECH_MODE, upper four bits */
757  RSL_IPAC_SPEECH_M_RXTX = 0, /* Send and Receive */
758  RSL_IPAC_SPEECH_M_RX = 1, /* Receive only */
759  RSL_IPAC_SPEECH_M_TX = 2, /* Send only */
760 };
761 
762 /* RSL_IE_IPAC_RTP_CSD_FMT, lower four bits */
768 };
769 /* RSL_IE_IPAC_RTP_CSD_FMT, upper four bits */
775 };
776 
777 /* Siemens vendor-specific RSL extensions */
778 struct rsl_mrpci {
779  uint8_t power_class:3,
780  vgcs_capable:1,
781  vbs_capable:1,
782  gsm_phase:2;
783 } __attribute__ ((packed));
784 
791 };
794  /* reserved */
797 };
798 
799 /* 9.3.20 Release Mode */
803 };
804 
828  /* additional IPAC measurement pre-processing related IEI */
834 
835  /* Osmocom specific extensions: */
839 
840 };
841 
842 /* Value of TLV IE RSL_IPAC_EIE_MEAS_AVG_CFG */
844 #if OSMO_IS_LITTLE_ENDIAN
845  uint8_t h_reqave:5,
846  param_id:2,
847  reserved:1;
848  uint8_t h_reqt:5,
849  ave_method:3;
850  uint8_t params[0];
851 #elif OSMO_IS_BIG_ENDIAN
852 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
853  uint8_t reserved:1, param_id:2, h_reqave:5;
854  uint8_t ave_method:3, h_reqt:5;
855  uint8_t params[0];
856 #endif
857 }__attribute__ ((packed));
858 
859 
861 #if OSMO_IS_LITTLE_ENDIAN
862  uint8_t h_reqave:5,
863  ave_enabled:1,
864  reserved:2;
865  uint8_t h_reqt:5,
866  ave_method:3;
867 #elif OSMO_IS_BIG_ENDIAN
868 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
869  uint8_t reserved:2, ave_enabled:1, h_reqave:5;
870  uint8_t ave_method:3, h_reqt:5;
871 #endif
872 }__attribute__ ((packed));
873 /* Value of TLV IE RSL_IPAC_EIE_OSMO_MEAS_AVG_CFG: */
881  uint8_t params[0]; /* Contains params for each above, appended one after the other */
882 }__attribute__ ((packed));
883 
886 #if OSMO_IS_LITTLE_ENDIAN
887  uint8_t l_rxlev:6, reserved_l_rxlev:2;
888  uint8_t u_rxlev:6, reserved_u_rxlev:2;
889  uint8_t u_rxqual:3, reserved_u_rxqual:1,
890  l_rxqual:3, reserved_l_rxqual:1;
891 #elif OSMO_IS_BIG_ENDIAN
892 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
893  uint8_t reserved_l_rxlev:2, l_rxlev:6;
894  uint8_t reserved_u_rxlev:2, u_rxlev:6;
895  uint8_t reserved_l_rxqual:1, l_rxqual:3, reserved_u_rxqual:1, u_rxqual:3;
896 #endif
897 }__attribute__ ((packed));
898 
901  /* Carrier-to-Interference (C/I), in dB: */
902  int8_t l_ci_fr; int8_t u_ci_fr; /* FR/EFR */
903  int8_t l_ci_hr; int8_t u_ci_hr; /* HR */
904  int8_t l_ci_amr_fr; int8_t u_ci_amr_fr; /* AMR FR */
905  int8_t l_ci_amr_hr; int8_t u_ci_amr_hr; /* AMR HR */
906  int8_t l_ci_sdcch; int8_t u_ci_sdcch; /* SDCCH */
907  int8_t l_ci_gprs; int8_t u_ci_gprs; /* GPRS */
908 }__attribute__ ((packed));
909 
912 #if OSMO_IS_LITTLE_ENDIAN
913  uint8_t l_rxlev_ul_h:6,
914  reserved_l_rxlev_ul:2;
915  uint8_t l_rxlev_dl_h:6,
916  reserved_l_rxlev_dl:2;
917  uint8_t rxlev_ul_ih:6,
918  reserved_rxlev_ul:2;
919  uint8_t rxlev_dl_ih:6,
920  reserved_rxlev_dl:2;
921  uint8_t l_rxqual_ul_h:3,
922  reserved_rxlqual_ul:1,
923  l_rxqual_dl_h:3,
924  reserved_rxqual_dl:1;
925  uint8_t ms_range_max:6,
926  reserved_ms_range:2;
927 #elif OSMO_IS_BIG_ENDIAN
928 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
929  uint8_t reserved_l_rxlev_ul:2, l_rxlev_ul_h:6;
930  uint8_t reserved_l_rxlev_dl:2, l_rxlev_dl_h:6;
931  uint8_t reserved_rxlev_ul:2, rxlev_ul_ih:6;
932  uint8_t reserved_rxlev_dl:2, rxlev_dl_ih:6;
933  uint8_t reserved_rxqual_dl:1, l_rxqual_dl_h:3, reserved_rxlqual_ul:1, l_rxqual_ul_h:3;
934  uint8_t reserved_ms_range:2, ms_range_max:6;
935 #endif
936 }__attribute__ ((packed));
937 
940 #if OSMO_IS_LITTLE_ENDIAN
941  uint8_t p1:5, reserved_p1:3;
942  uint8_t n1:5, reserved_n1:3;
943  uint8_t p2:5, reserved_p2:3;
944  uint8_t n2:5, reserved_n2:3;
945  uint8_t p3:5, reserved_p3:3;
946  uint8_t n3:5, reserved_n3:3;
947  uint8_t p4:5, reserved_p4:3;
948  uint8_t n4:5, reserved_n4:3;
949  uint8_t pc_interval:5, reserved_pc:3;
950  uint8_t red_step_size:4, inc_step_size:4;
951 #elif OSMO_IS_BIG_ENDIAN
952 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
953  uint8_t reserved_p1:3, p1:5;
954  uint8_t reserved_n1:3, n1:5;
955  uint8_t reserved_p2:3, p2:5;
956  uint8_t reserved_n2:3, n2:5;
957  uint8_t reserved_p3:3, p3:5;
958  uint8_t reserved_n3:3, n3:5;
959  uint8_t reserved_p4:3, p4:5;
960  uint8_t reserved_n4:3, n4:5;
961  uint8_t reserved_pc:3, pc_interval:5;
962  uint8_t inc_step_size:4, red_step_size:4;
963 #endif
964 }__attribute__ ((packed));
965 
968 #if OSMO_IS_LITTLE_ENDIAN
969  uint8_t lower_p:5, reserved_lower_p:3;
970  uint8_t lower_n:5, reserved_lower_n:3;
971  uint8_t upper_p:5, reserved_upper_p:3;
972  uint8_t upper_n:5, reserved_upper_n:3;
973 #elif OSMO_IS_BIG_ENDIAN
974 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
975  uint8_t reserved_lower_p:3, lower_p:5;
976  uint8_t reserved_lower_n:3, lower_n:5;
977  uint8_t reserved_upper_p:3, upper_p:5;
978  uint8_t reserved_upper_n:3, upper_n:5;
979 #endif
980 }__attribute__ ((packed));
982  /* Used for Carrier-to-Interference (C/I), in dB: */
989 }__attribute__ ((packed));
990 
993 #if OSMO_IS_LITTLE_ENDIAN
994  uint8_t p5:5,
995  reserved_p5:3;
996  uint8_t n5:5,
997  reserved_n5:3;
998  uint8_t p6:5,
999  reserved_p6:3;
1000  uint8_t n6:5,
1001  reserved_n6:3;
1002  uint8_t p7:5,
1003  reserved_p7:3;
1004  uint8_t n7:5,
1005  reserved_n7:3;
1006  uint8_t p8:5,
1007  reserved_p8:3;
1008  uint8_t n8:5,
1009  reserved_n8:3;
1010  uint8_t ho_interval:5,
1011  reserved_ho:3;
1012  uint8_t reserved;
1013 
1014 #elif OSMO_IS_BIG_ENDIAN
1015 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
1016  uint8_t reserved_p5:3, p5:5;
1017  uint8_t reserved_n5:3, n5:5;
1018  uint8_t reserved_p6:3, p6:5;
1019  uint8_t reserved_n6:3, n6:5;
1020  uint8_t reserved_p7:3, p7:5;
1021  uint8_t reserved_n7:3, n7:5;
1022  uint8_t reserved_p8:3, p8:5;
1023  uint8_t reserved_n8:3, n8:5;
1024  uint8_t reserved_ho:3, ho_interval:5;
1025  uint8_t reserved;
1026 #endif
1027 }__attribute__ ((packed));
1028 
1030 #if OSMO_IS_LITTLE_ENDIAN
1031  uint8_t bsic:6,
1032  reserved0:2;
1033  uint8_t bcch_freq:5,
1034  ba_used:1,
1035  s:1,
1036  reserved1:1;
1037 #elif OSMO_IS_BIG_ENDIAN
1038 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
1039  uint8_t reserved0:2, bsic:6;
1040  uint8_t reserved1:1, s:1, ba_used:1, bcch_freq:5;
1041 #endif
1042 }__attribute__ ((packed));
1043 
1045 #if OSMO_IS_LITTLE_ENDIAN
1046  uint8_t rxlev_min_def:6,
1047  reserved_rxlev_min_def:2;
1048  uint8_t ho_margin_def:5,
1049  reserved_ho_margin_def:3;
1050  uint8_t ms_txpwr_max_def:5,
1051  reserved_ms_txpwr_max_def:3;
1052 #elif OSMO_IS_BIG_ENDIAN
1053 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
1054  uint8_t reserved_rxlev_min_def:2, rxlev_min_def:6;
1055  uint8_t reserved_ho_margin_def:3, ho_margin_def:5;
1056  uint8_t reserved_ms_txpwr_max_def:3, ms_txpwr_max_def:5;
1057 #endif
1058 }__attribute__ ((packed));
1059 
1061 #if OSMO_IS_LITTLE_ENDIAN
1062  uint8_t sdcch_ho_gsm:1,
1063  sdcch_ho_umts:1,
1064  reserved:6;
1065 #elif OSMO_IS_BIG_ENDIAN
1066 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
1067  uint8_t reserved:6, sdcch_ho_umts:1, sdcch_ho_gsm:1;
1068 #endif
1069 }__attribute__ ((packed));
1070 
1072  uint8_t meas_rep_mode;
1074  struct ipac_preproc_ave_cfg ms_ave_cfg[3];
1075  struct ipac_preproc_ave_cfg ave_cfg;
1076  struct ipac_preproc_ho_thresh ho_thresh;
1077  struct ipac_preproc_ho_comp ho_comp;
1078  struct ipac_preproc_ncell_dflts ncell_dflts;
1079  struct ipac_preproc_ho_ctl_param ho_ctl_param;
1080 };
1081 
1082 struct rsl_l1_info {
1083 #if OSMO_IS_LITTLE_ENDIAN
1084  uint8_t reserved:1,
1085  srr_sro:1,
1086  fpc_epc:1,
1087  ms_pwr:5;
1088  uint8_t ta;
1089 #elif OSMO_IS_BIG_ENDIAN
1090 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
1091  uint8_t ms_pwr:5, fpc_epc:1, srr_sro:1, reserved:1;
1092  uint8_t ta;
1093 #endif
1094 } __attribute__ ((packed));
1095 
Definition: gsm_08_58.h:179
Definition: gsm_08_58.h:837
Definition: gsm_08_58.h:355
Definition: gsm_08_58.h:264
Definition: gsm_08_58.h:255
Definition: gsm_08_58.h:213
Definition: gsm_08_58.h:378
Definition: gsm_08_58.h:186
uint8_t vbs_capable
Definition: gsm_08_58.h:730
Definition: gsm_08_58.h:177
Definition: gsm_08_58.h:227
uint8_t chan_rate
Definition: gsm_08_58.h:490
Definition: gsm_08_58.h:267
Definition: gsm_08_58.h:309
uint8_t oct3
Definition: gsm_08_58.h:566
Definition: gsm_08_58.h:198
Definition: gsm_08_58.h:181
Definition: gsm_08_58.h:552
Definition: gsm_08_58.h:283
Definition: gsm_08_58.h:329
Definition: gsm_08_58.h:981
Definition: gsm_08_58.h:334
Definition: gsm_08_58.h:789
Definition: gsm_08_58.h:217
Definition: gsm_08_58.h:444
Definition: gsm_08_58.h:274
rsl_cmod_crt
Channel rate and type.
Definition: gsm_08_58.h:500
Definition: gsm_08_58.h:384
Definition: gsm_08_58.h:222
Definition: gsm_08_58.h:370
RSL Channel Mode IF (Chapter 9.3.6)
Definition: gsm_08_58.h:486
Definition: gsm_08_58.h:207
Definition: gsm_08_58.h:1071
int8_t l_ci_hr
Definition: gsm_08_58.h:732
Definition: gsm_08_58.h:752
Definition: gsm_08_58.h:239
uint8_t chan_rt
Definition: gsm_08_58.h:489
Definition: gsm_08_58.h:428
Definition: gsm_08_58.h:354
Definition: gsm_08_58.h:305
Definition: gsm_08_58.h:339
Definition: gsm_08_58.h:518
struct osmo_preproc_ave_cfg_field ci_gprs
Definition: gsm_08_58.h:735
Definition: gsm_08_58.h:774
Definition: gsm_08_58.h:829
Definition: gsm_08_58.h:200
Definition: gsm_08_58.h:225
Definition: gsm_08_58.h:836
Definition: gsm_08_58.h:391
Definition: gsm_08_58.h:204
packed 16k (252/288 bit) / 8k (126 bit) in RTP
Definition: gsm_08_58.h:765
rsl_ipac_rtp_csd_format_d
Definition: gsm_08_58.h:763
Definition: gsm_08_58.h:555
Definition: gsm_08_58.h:371
Definition: gsm_08_58.h:230
RSL Channel Identification IE (Chapter 9.3.5)
Definition: gsm_08_58.h:561
Definition: gsm_08_58.h:529
Definition: gsm_08_58.h:196
Definition: gsm_08_58.h:208
Definition: gsm_08_58.h:322
Definition: gsm_08_58.h:335
rsl_cmod_csd_nt
Non-transparent data.
Definition: gsm_08_58.h:523
Definition: gsm_08_58.h:280
Definition: gsm_08_58.h:503
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:100
struct osmo_preproc_ave_cfg_field ci_amr_hr
Definition: gsm_08_58.h:733
Definition: gsm_08_58.h:361
Definition: gsm_08_58.h:189
Definition: gsm_08_58.h:299
Definition: gsm_08_58.h:199
Definition: gsm_08_58.h:182
Definition: gsm_08_58.h:328
rsl_rel_mode
Definition: gsm_08_58.h:800
Definition: gsm_08_58.h:318
Definition: gsm_08_58.h:168
Definition: gsm_08_58.h:557
Definition: gsm_08_58.h:308
Definition: gsm_08_58.h:287
Definition: gsm_08_58.h:360
struct osmo_preproc_ave_cfg_field ci_amr_fr
Definition: gsm_08_58.h:732
Definition: gsm_08_58.h:206
Definition: gsm_08_58.h:813
Definition: gsm_08_58.h:831
Definition: gsm_08_58.h:390
rsl_mrpci_pwrclass
Definition: gsm_08_58.h:785
Definition: gsm_08_58.h:451
Definition: gsm_08_58.h:531
Definition: gsm_08_58.h:450
rsl_mrpci_phase
Definition: gsm_08_58.h:792
Definition: gsm_08_58.h:232
Definition: gsm_08_58.h:342
Definition: gsm_08_58.h:420
struct osmo_preproc_ave_cfg_field ci_fr
Definition: gsm_08_58.h:730
Definition: gsm_08_58.h:275
Definition: gsm_08_58.h:320
rsl_ipac_speech_mode_s
Definition: gsm_08_58.h:747
Definition: gsm_08_58.h:437
Definition: gsm_08_58.h:263
Definition: gsm_08_58.h:323
Definition: gsm_08_58.h:312
Definition: gsm_08_58.h:832
Definition: gsm_08_58.h:214
Definition: gsm_08_58.h:534
Osmocom extension for: MS/BS Power Control Thresholds (RSL_IPAC_EIE_OSMO_MS_PWR_CTL) ...
Definition: gsm_08_58.h:900
Definition: gsm_08_58.h:495
Definition: gsm_08_58.h:188
Definition: gsm_08_58.h:172
Definition: gsm_08_58.h:553
Definition: gsm_08_58.h:324
uint8_t chan_nr
Definition: gsm_08_58.h:86
abis_rsl_msgtype_siemens
Siemens vendor-specific RSL message types.
Definition: gsm_08_58.h:271
uint8_t msg_discr
message discriminator (ABIS_RSL_MDISC_*)
Definition: gsm_08_58.h:76
Definition: gsm_08_58.h:524
int8_t u_ci_amr_hr
Definition: gsm_08_58.h:905
Definition: gsm_08_58.h:240
Definition: gsm_08_58.h:310
Definition: gsm_08_58.h:374
uint8_t ta
Definition: gsm_04_08.h:808
uint8_t spd_ind
Definition: gsm_08_58.h:488
Definition: gsm_08_58.h:383
Definition: gsm_08_58.h:216
Definition: gsm_08_58.h:233
Definition: gsm_08_58.h:210
uint8_t gsm_phase
Definition: gsm_08_58.h:730
union abis_rsl_link_id link_id_fields
RSL link identifier (value)
Definition: gsm_08_58.h:739
struct osmo_preproc_ave_cfg_field ci_hr
Definition: gsm_08_58.h:731
Definition: gsm_08_58.h:439
Definition: gsm_08_58.h:750
Definition: gsm_08_58.h:316
Definition: gsm_08_58.h:228
Definition: gsm_08_58.h:830
int8_t u_ci_fr
Definition: gsm_08_58.h:902
Definition: gsm_08_58.h:205
int8_t u_ci_amr_fr
Definition: gsm_08_58.h:904
Definition: gsm_08_58.h:344
Definition: gsm_08_58.h:530
Definition: gsm_08_58.h:436
Definition: gsm_08_58.h:516
Definition: gsm_08_58.h:440
Definition: gsm_08_58.h:827
Definition: gsm_08_58.h:301
Definition: gsm_08_58.h:549
Definition: gsm_08_58.h:313
Definition: gsm_08_58.h:356
uint8_t chan_nr
Definition: gsm_08_58.h:102
Definition: gsm_08_58.h:241
TRAU in BTS; V.110 in RTP/CLEARMODE.
Definition: gsm_08_58.h:766
Definition: gsm_08_58.h:795
Definition: gsm_08_58.h:187
Definition: gsm_08_58.h:843
Definition: gsm_08_58.h:246
TRAU-like RTP format, without leading zero-bits.
Definition: gsm_08_58.h:764
Osmocom extension for: PC Threshold Comparators (RSL_IPAC_EIE_OSMO_PC_THRESH_COMP) ...
Definition: gsm_08_58.h:967
Definition: gsm_08_58.h:528
abis_rsl_msgtype
Definition: gsm_08_58.h:166
Definition: gsm_08_58.h:231
Definition: gsm_08_58.h:298
Definition: gsm_08_58.h:327
Definition: gsm_08_58.h:507
Definition: gsm_08_58.h:793
Definition: gsm_08_58.h:347
Definition: gsm_08_58.h:446
Definition: gsm_08_58.h:556
Definition: gsm_08_58.h:385
Definition: gsm_08_58.h:169
Definition: gsm_08_58.h:743
uint8_t vgcs_capable
Definition: gsm_08_58.h:779
Definition: gsm_08_58.h:304
Definition: gsm_08_58.h:286
Definition: gsm_08_58.h:180
Definition: gsm_08_58.h:326
Definition: gsm_08_58.h:821
Definition: gsm_08_58.h:757
Definition: gsm_08_58.h:311
Definition: gsm_08_58.h:526
Definition: gsm_08_58.h:229
Definition: gsm_08_58.h:504
Definition: gsm_08_58.h:822
Definition: gsm_08_58.h:749
Definition: gsm_08_58.h:1082
Definition: gsm_08_58.h:234
Definition: gsm_08_58.h:502
Definition: gsm_08_58.h:796
Definition: gsm_08_58.h:819
Definition: gsm_08_58.h:211
Definition: gsm_08_58.h:338
Definition: gsm_08_58.h:178
uint8_t chan_nr
Definition: gsm_08_58.h:39
Definition: gsm_08_58.h:303
Definition: gsm_08_58.h:810
Definition: gsm_08_58.h:195
rsl_ipac_rtp_payload
Definition: gsm_08_58.h:738
Definition: gsm_08_58.h:170
Definition: gsm_08_58.h:815
Definition: gsm_08_58.h:359
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:77
Definition: gsm_08_58.h:258
uint8_t data[0]
actual payload data
Definition: gsm_08_58.h:732
Definition: gsm_08_58.h:336
Definition: gsm_08_58.h:190
int8_t u_ci_gprs
Definition: gsm_08_58.h:907
Definition: gsm_08_58.h:223
Definition: gsm_08_58.h:307
Definition: gsm_08_58.h:319
Definition: gsm_08_58.h:824
Definition: gsm_08_58.h:247
Definition: gsm_08_58.h:358
Definition: gsm_08_58.h:31
Definition: gsm_08_58.h:825
Definition: gsm_08_58.h:452
Definition: gsm_08_58.h:369
Definition: gsm_08_58.h:135
Definition: gsm_08_58.h:449
Definition: gsm_08_58.h:551
Definition: gsm_08_58.h:381
Definition: gsm_08_58.h:345
Definition: gsm_08_58.h:197
Definition: gsm_08_58.h:748
int8_t l_ci_amr_hr
Definition: gsm_08_58.h:734
Definition: gsm_08_58.h:435
uint8_t oct4
Definition: gsm_08_58.h:567
Definition: gsm_08_58.h:419
Definition: gsm_08_58.h:248
Definition: gsm_08_58.h:550
Definition: gsm_08_58.h:306
NCH DRX Information (Chapter 9.3.47)
Definition: gsm_08_58.h:703
Definition: gsm_08_58.h:838
Definition: gsm_08_58.h:515
int8_t l_ci_gprs
Definition: gsm_08_58.h:736
uint8_t params[0]
Definition: gsm_08_58.h:736
Definition: gsm_08_58.h:520
Definition: gsm_08_58.h:171
Definition: gsm_08_58.h:82
uint8_t chan_nr
Definition: gsm_08_58.h:565
Definition: gsm_08_58.h:379
Definition: gsm_08_58.h:364
Definition: gsm_08_58.h:1029
Definition: gsm_08_58.h:346
Definition: gsm_08_58.h:254
Definition: gsm_08_58.h:337
Definition: gsm_08_58.h:423
Definition: gsm_08_58.h:349
Definition: gsm_08_58.h:386
Definition: gsm_08_58.h:250
Definition: gsm_08_58.h:380
Definition: gsm_08_58.h:527
Definition: gsm_08_58.h:441
Definition: gsm_08_58.h:243
Definition: gsm_08_58.h:251
Definition: gsm_08_58.h:237
Definition: gsm_08_58.h:1044
Definition: gsm_08_58.h:874
Definition: gsm_08_58.h:505
Definition: gsm_08_58.h:509
Definition: gsm_08_58.h:273
Definition: gsm_08_58.h:353
Definition: gsm_08_58.h:221
Definition: gsm_08_58.h:209
Definition: gsm_08_58.h:363
enum abis_rsl_msgtype __attribute__
uint8_t ie_link_id
RSL_IE_LINK_IDENT (tag)
Definition: gsm_08_58.h:89
Definition: gsm_08_58.h:365
Definition: gsm_08_58.h:215
Definition: gsm_08_58.h:245
MS/BS Power Control Thresholds (RSL_IPAC_EIE_MS_PWR_CTL)
Definition: gsm_08_58.h:885
Definition: gsm_08_58.h:262
Definition: gsm_08_58.h:220
Definition: gsm_08_58.h:314
Definition: gsm_08_58.h:741
Definition: gsm_08_58.h:445
Definition: gsm_08_58.h:302
Definition: gsm_08_58.h:333
uint8_t chan_nr
Definition: gsm_08_58.h:113
Definition: gsm_08_58.h:501
int8_t u_ci_hr
Definition: gsm_08_58.h:903
Definition: gsm_08_58.h:300
Definition: gsm_08_58.h:260
struct @93 chan_desc
uint8_t len
Definition: gsm_04_11.h:480
Definition: gsm_08_58.h:272
Definition: gsm_08_58.h:276
Definition: gsm_08_58.h:533
Definition: gsm_08_58.h:826
Definition: gsm_08_58.h:368
Definition: gsm_08_58.h:788
struct osmo_preproc_ave_cfg_field ci_sdcch
Definition: gsm_08_58.h:734
Definition: gsm_08_58.h:807
Definition: gsm_08_58.h:448
Definition: gsm_08_58.h:191
Definition: gsm_08_58.h:194
Definition: gsm_08_58.h:226
Definition: gsm_08_58.h:759
Definition: gsm_08_58.h:219
Definition: gsm_08_58.h:833
Definition: gsm_08_58.h:443
Definition: gsm_08_58.h:438
Definition: gsm_08_58.h:511
Definition: gsm_08_58.h:244
Definition: gsm_08_58.h:811
Definition: gsm_08_58.h:297
Definition: gsm_08_58.h:388
Definition: gsm_08_58.h:176
Definition: gsm_08_58.h:281
Definition: gsm_08_58.h:820
Definition: gsm_08_58.h:120
Definition: gsm_08_58.h:352
Definition: gsm_08_58.h:740
Definition: gsm_08_58.h:257
Definition: gsm_08_58.h:252
Definition: gsm_08_58.h:389
int8_t l_ci_sdcch
Definition: gsm_08_58.h:735
Definition: gsm_08_58.h:497
Definition: gsm_08_58.h:772
Definition: gsm_08_58.h:109
Definition: gsm_08_58.h:350
Definition: gsm_08_58.h:340
Definition: gsm_08_58.h:809
RSL Cell Broadcast Command (Chapter 9.3.41)
Definition: gsm_08_58.h:677
rsl_ipac_rtp_csd_format_ir
Definition: gsm_08_58.h:770
Definition: gsm_08_58.h:802
Definition: gsm_08_58.h:277
Definition: gsm_08_58.h:98
Definition: gsm_08_58.h:1060
Definition: gsm_08_58.h:192
Definition: gsm_08_58.h:387
rsl_cmod_spd
Definition: gsm_08_58.h:494
Definition: gsm_08_58.h:238
Definition: gsm_08_58.h:285
Definition: gsm_08_58.h:860
Definition: gsm_08_58.h:823
Definition: gsm_08_58.h:525
Definition: gsm_08_58.h:808
abis_rsl_ie
RSL Information Element Identifiers (Chapter 9.3)
Definition: gsm_08_58.h:296
PC Threshold Comparators (RSL_IPAC_EIE_PC_THRESH_COMP)
Definition: gsm_08_58.h:939
Definition: gsm_08_58.h:790
Definition: gsm_08_58.h:818
uint8_t meas_rep_mode
Definition: gsm_08_58.h:1072
Definition: gsm_08_58.h:812
Definition: gsm_08_58.h:801
Definition: gsm_08_58.h:253
Definition: gsm_08_58.h:351
Definition: gsm_08_58.h:508
uint8_t link_id
Definition: gsm_08_58.h:91
Definition: gsm_08_58.h:742
Definition: gsm_08_58.h:259
Definition: gsm_08_58.h:212
Definition: gsm_08_58.h:506
RSL common header.
Definition: gsm_08_58.h:75
Definition: gsm_08_58.h:175
int8_t u_ci_sdcch
Definition: gsm_08_58.h:906
Definition: gsm_08_58.h:282
rsl_ipac_embedded_ie
ip.access specific embedded information elements
Definition: gsm_08_58.h:806
Definition: gsm_08_58.h:173
Definition: gsm_08_58.h:430
Definition: gsm_08_58.h:343
Definition: gsm_08_58.h:778
union abis_rsl_chan_nr chan_nr_fields
RSL channel number (value)
Definition: gsm_08_58.h:734
abis_rsl_msgtype_ericsson
Ericsson vendor-specific RSL message types.
Definition: gsm_08_58.h:291
Definition: gsm_08_58.h:315
Definition: gsm_08_58.h:256
Definition: gsm_08_58.h:321
Definition: gsm_08_58.h:242
Definition: gsm_08_58.h:292
Definition: gsm_08_58.h:786
Definition: gsm_08_58.h:787
Definition: gsm_08_58.h:218
Definition: gsm_08_58.h:279
HO Threshold Comparators.
Definition: gsm_08_58.h:992
Definition: gsm_08_58.h:442
Definition: gsm_08_58.h:773
Definition: gsm_08_58.h:382
Definition: gsm_08_58.h:817
Definition: gsm_08_58.h:249
unknown proprietary IWF-free BTS-BTS data
Definition: gsm_08_58.h:767
Definition: gsm_08_58.h:814
Definition: gsm_08_58.h:758
Definition: gsm_08_58.h:532
Definition: gsm_08_58.h:362
rsl_ipac_speech_mode_m
Definition: gsm_08_58.h:756
uint32_t meas_mode_flags
Definition: gsm_08_58.h:1073
Definition: gsm_08_58.h:224
Definition: gsm_08_58.h:554
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:84
uint8_t iei
Definition: gsm_08_58.h:564
rsl_cmod_sp
Speech.
Definition: gsm_08_58.h:514
Definition: gsm_08_58.h:330
Definition: gsm_08_58.h:510
rsl_cmod_csd_t
Transparent data.
Definition: gsm_08_58.h:548
Definition: gsm_08_58.h:332
Definition: gsm_08_58.h:753
uint8_t dtx_dtu
Definition: gsm_08_58.h:487
int8_t l_ci_amr_fr
Definition: gsm_08_58.h:733
Definition: gsm_08_58.h:265
Definition: gsm_08_58.h:317
Definition: gsm_08_58.h:376
int8_t l_ci_fr
Definition: gsm_08_58.h:731
Definition: gsm_08_58.h:185
Definition: gsm_08_58.h:375
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:111
Definition: gsm_08_58.h:447
Definition: gsm_08_58.h:377
Definition: gsm_08_58.h:519
Definition: gsm_08_58.h:517
Definition: gsm_08_58.h:429
Definition: gsm_08_58.h:348
Definition: gsm_08_58.h:496
Definition: gsm_08_58.h:203
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:730
Definition: gsm_08_58.h:261
uint8_t power_class
Definition: gsm_08_58.h:730
Handover Thresholds.
Definition: gsm_08_58.h:911
Definition: gsm_08_58.h:174
Definition: gsm_08_58.h:278
Definition: gsm_08_58.h:751
Definition: gsm_08_58.h:421
Definition: gsm_08_58.h:284
Definition: gsm_08_58.h:771
Definition: gsm_08_58.h:331
Definition: gsm_08_58.h:739
Definition: gsm_08_58.h:341
Definition: gsm_08_58.h:816