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