libosmogsm  1.0.1.85-9f28
Osmocom GSM library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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  * You should have received a copy of the GNU General Public License along
19  * with this program; if not, write to the Free Software Foundation, Inc.,
20  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21  *
22  */
23 
24 #pragma once
25 
26 #include <stdint.h>
27 
28 #include <osmocom/core/endian.h>
29 
34 /* Channel Number 9.3.1 */
36 #if OSMO_IS_BIG_ENDIAN
37  uint8_t cbits:5,
38  tn:3;
39 #elif OSMO_IS_LITTLE_ENDIAN
40  uint8_t tn:3,
41  cbits:5;
42 #endif
43  uint8_t chan_nr;
44 } __attribute__ ((packed));
45 #define ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs 0x01
46 #define ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(ss) (0x02 + (ss))
47 #define ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(ss) (0x04 + (ss))
48 #define ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(ss) (0x08 + (ss))
49 #define ABIS_RSL_CHAN_NR_CBITS_BCCH 0x10
50 #define ABIS_RSL_CHAN_NR_CBITS_RACH 0x11
51 #define ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH 0x12
52 #define ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH 0x18 /*< non-standard, for dyn TS */
53 
54 /* Link Identifier 9.3.2 */
56 #if OSMO_IS_BIG_ENDIAN
57  uint8_t cbits:2,
58  na:1,
59  reserved:2,
60  sapi:3;
61 #elif OSMO_IS_LITTLE_ENDIAN
62  uint8_t sapi:3,
63  reserved:2,
64  na:1,
65  cbits:2;
66 #endif
67  uint8_t link_id;
68 } __attribute__ ((packed));
69 #define ABIS_RSL_LINK_ID_CBITS_FACCH_SDCCH 0x00
70 #define ABIS_RSL_LINK_ID_CBITS_SACCH 0x01
71 
74  uint8_t msg_discr;
75  uint8_t msg_type;
76  uint8_t data[0];
77 } __attribute__ ((packed));
78 
79 /* RSL RLL header (Chapter 8.3) */
82  uint8_t ie_chan;
83  union {
84  uint8_t chan_nr; /* API backward compat */
86  };
87  uint8_t ie_link_id;
88  union {
89  uint8_t link_id; /* API backward compat */
91  };
92  uint8_t data[0];
93 } __attribute__ ((packed));
94 
95 /* RSL Dedicated Channel header (Chapter 8.3 and 8.4) */
98  uint8_t ie_chan;
99  union {
100  uint8_t chan_nr; /* API backward compat */
102  };
103  uint8_t data[0];
104 } __attribute__ ((packed));
105 
106 /* RSL Common Channel header (Chapter 8.5) */
109  uint8_t ie_chan;
110  union {
111  uint8_t chan_nr; /* API backward compat */
113  };
114  uint8_t data[0];
115 } __attribute__ ((packed));
116 
117 
118 /* Chapter 9.1 */
119 /* RSL Message Discriminator: RLL */
120 #define ABIS_RSL_MDISC_RLL 0x02
121 /* RSL Message Discriminator: Dedicated Channel */
122 #define ABIS_RSL_MDISC_DED_CHAN 0x08
123 /* RSL Message Discriminator: Common Channel */
124 #define ABIS_RSL_MDISC_COM_CHAN 0x0c
125 /* RSL Message Discriminator: TRX Management */
126 #define ABIS_RSL_MDISC_TRX 0x10
127 /* RSL Message Discriminator: Location Service */
128 #define ABIS_RSL_MDISC_LOC 0x20
129 /* RSL Message Discriminator: ip.access */
130 #define ABIS_RSL_MDISC_IPACCESS 0x7e
131 #define ABIS_RSL_MDISC_TRANSP 0x01
132 
133 /* Check if given RSL message discriminator is transparent */
134 #define ABIS_RSL_MDISC_IS_TRANSP(x) (x & 0x01)
135 
136 /* RSL Message Type (Chapter 9.1) */
138  /* Radio Link Layer Management */
150  RSL_MT_SUSP_REQ, /* non-standard elements */
153  RSL_MT_RECON_REQ, /* 0x0f */
154 
155  /* Common Channel Management / TRX Management */
163  RSL_MT_CHAN_CONF, /* non-standard element */
164  /* empty */
171  RSL_MT_NOT_CMD, /* 0x1f */
172 
173  /* Dedicate Channel Management */
204  RSL_MT_TFO_MOD_REQ, /* 0x3f */
206 
207  /* ip.access specific RSL message types */
224  RSL_MT_IPAC_MEAS_PREPROC_DFT = 0x60, /*Extented Common Channel Management */
227  RSL_MT_IPAC_CRCX = 0x70, /* Bind to local BTS RTP port */
237 };
238 
257 };
258 
262 };
263 
294  /* reserved */
300  RSL_IE_IMM_ASS_INFO, /* Phase 1 (3.6.0), later Full below */
326  /* Siemens vendor-specific */
335 
336  /* ip.access */
355 };
356 
357 /* Ericsson specific IEs, clash with above partially, so they're not
358  * part of the enum */
359 #define RSL_IE_ERIC_PAGING_GROUP 0x0e
360 #define RSL_IE_ERIC_INST_NR 0x48
361 #define RSL_IE_ERIC_PGSL_TIMERS 0x49
362 #define RSL_IE_ERIC_REPEAT_DL_FACCH 0x4a
363 #define RSL_IE_ERIC_POWER_INFO 0xf0
364 #define RSL_IE_ERIC_MOBILE_ID 0xf1
365 #define RSL_IE_ERIC_BCCH_MAPPING 0xf2
366 #define RSL_IE_ERIC_PACKET_PAG_IND 0xf3
367 #define RSL_IE_ERIC_CNTR_CTRL 0xf4
368 #define RSL_IE_ERIC_CNTR_CTRL_ACK 0xf5
369 #define RSL_IE_ERIC_CNTR_REPORT 0xf6
370 #define RSL_IE_ERIC_ICP_CONN 0xf7
371 #define RSL_IE_ERIC_EMR_SUPPORT 0xf8
372 #define RSL_IE_ERIC_EGPRS_REQ_REF 0xf9
373 #define RSL_IE_ERIC_VGCS_REL 0xfa
374 #define RSL_IE_ERIC_REP_PER_NCH 0xfb
375 #define RSL_IE_ERIC_NY2 0xfc
376 #define RSL_IE_ERIC_T3115 0xfd
377 #define RSL_IE_ERIC_ACTIVATE_FLAG 0xfe
378 #define RSL_IE_ERIC_FULL_NCH_INFO 0xff
379 
380 /* IPAC MEAS_PREPROC AVERAGING METHOD */
381 enum {
385 };
386 
387 /* IPAC MEAS_PREPROC AVERAGING PARAMID */
388 enum {
392 };
393 
394 /* IPAC MEAS_PREPROC HO CAUSES */
395 enum {
414 };
415 
416 /* Chapter 9.3.1 */
417 #define RSL_CHAN_NR_MASK 0xf8
418 #define RSL_CHAN_NR_1 0x08 /*< bit to add for 2nd,... lchan */
419 #define RSL_CHAN_Bm_ACCHs 0x08
420 #define RSL_CHAN_Lm_ACCHs 0x10 /* .. 0x18 */
421 #define RSL_CHAN_SDCCH4_ACCH 0x20 /* .. 0x38 */
422 #define RSL_CHAN_SDCCH8_ACCH 0x40 /* ...0x78 */
423 #define RSL_CHAN_BCCH 0x80
424 #define RSL_CHAN_RACH 0x88
425 #define RSL_CHAN_PCH_AGCH 0x90
426 #define RSL_CHAN_OSMO_PDCH 0xc0 /*< non-standard, for dyn TS */
427 
428 /* Chapter 9.3.3 */
429 #define RSL_ACT_TYPE_INITIAL 0x00
430 #define RSL_ACT_TYPE_REACT 0x80
431 #define RSL_ACT_INTRA_IMM_ASS 0x00
432 #define RSL_ACT_INTRA_NORM_ASS 0x01
433 #define RSL_ACT_INTER_ASYNC 0x02
434 #define RSL_ACT_INTER_SYNC 0x03
435 #define RSL_ACT_SECOND_ADD 0x04
436 #define RSL_ACT_SECOND_MULTI 0x05
437 #define RSL_ACT_OSMO_PDCH 0x0f /*< non-standard, for dyn TS */
438 
441  uint8_t dtx_dtu;
442  uint8_t spd_ind;
443  uint8_t chan_rt;
444  uint8_t chan_rate;
445 } __attribute__ ((packed));
446 #define RSL_CMOD_DTXu 0x01 /* uplink */
447 #define RSL_CMOD_DTXd 0x02 /* downlink */
452 };
453 #define RSL_CMOD_CRT_SDCCH 0x01
454 #define RSL_CMOD_CRT_TCH_Bm 0x08 /* full-rate */
455 #define RSL_CMOD_CRT_TCH_Lm 0x09 /* half-rate */
456 /* FIXME: More CRT types */
457 /* Speech */
458 #define RSL_CMOD_SP_GSM1 0x01
459 #define RSL_CMOD_SP_GSM2 0x11
460 #define RSL_CMOD_SP_GSM3 0x21
461 /* non-transparent data */
462 #define RSL_CMOD_CSD_NT_43k5 0x74
463 #define RSL_CMOD_CSD_NT_28k8 0x71
464 #define RSL_CMOD_CSD_NT_14k5 0x58
465 #define RSL_CMOD_CSD_NT_12k0 0x50
466 #define RSL_CMOD_CSD_NT_6k0 0x51
467 /* legacy #defines with wrong name */
468 #define RSL_CMOD_SP_NT_14k5 RSL_CMOD_CSD_NT_14k5
469 #define RSL_CMOD_SP_NT_12k0 RSL_CMOD_CSD_NT_12k0
470 #define RSL_CMOD_SP_NT_6k0 RSL_CMOD_CSD_NT_6k0
471 /* transparent data */
472 #define RSL_CMOD_CSD_T_32000 0x38
473 #define RSL_CMOD_CSD_T_29000 0x39
474 #define RSL_CMOD_CSD_T_14400 0x18
475 #define RSL_CMOD_CSD_T_9600 0x10
476 #define RSL_CMOD_CSD_T_4800 0x11
477 #define RSL_CMOD_CSD_T_2400 0x12
478 #define RSL_CMOD_CSD_T_1200 0x13
479 #define RSL_CMOD_CSD_T_600 0x14
480 #define RSL_CMOD_CSD_T_1200_75 0x15
481 
484  /* GSM 04.08 10.5.2.5 */
485  struct {
486  uint8_t iei;
487  uint8_t chan_nr; /* enc_chan_nr */
488  uint8_t oct3;
489  uint8_t oct4;
490  } chan_desc;
491 #if 0 /* spec says we need this but Abissim doesn't use it */
492  struct {
493  uint8_t tag;
494  uint8_t len;
495  } mobile_alloc;
496 #endif
497 } __attribute__ ((packed));
498 
499 /* Chapter 9.3.22 */
500 #define RLL_CAUSE_T200_EXPIRED 0x01
501 #define RLL_CAUSE_REEST_REQ 0x02
502 #define RLL_CAUSE_UNSOL_UA_RESP 0x03
503 #define RLL_CAUSE_UNSOL_DM_RESP 0x04
504 #define RLL_CAUSE_UNSOL_DM_RESP_MF 0x05
505 #define RLL_CAUSE_UNSOL_SPRV_RESP 0x06
506 #define RLL_CAUSE_SEQ_ERR 0x07
507 #define RLL_CAUSE_UFRM_INC_PARAM 0x08
508 #define RLL_CAUSE_SFRM_INC_PARAM 0x09
509 #define RLL_CAUSE_IFRM_INC_MBITS 0x0a
510 #define RLL_CAUSE_IFRM_INC_LEN 0x0b
511 #define RLL_CAUSE_FRM_UNIMPL 0x0c
512 #define RLL_CAUSE_SABM_MF 0x0d
513 #define RLL_CAUSE_SABM_INFO_NOTALL 0x0e
514 
515 /* Chapter 9.3.26 */
516 #define RSL_ERRCLS_NORMAL 0x00
517 #define RSL_ERRCLS_RESOURCE_UNAVAIL 0x20
518 #define RSL_ERRCLS_SERVICE_UNAVAIL 0x30
519 #define RSL_ERRCLS_SERVICE_UNIMPL 0x40
520 #define RSL_ERRCLS_INVAL_MSG 0x50
521 #define RSL_ERRCLS_PROTO_ERROR 0x60
522 #define RSL_ERRCLS_INTERWORKING 0x70
523 
524 /* normal event */
525 #define RSL_ERR_RADIO_IF_FAIL 0x00
526 #define RSL_ERR_RADIO_LINK_FAIL 0x01
527 #define RSL_ERR_HANDOVER_ACC_FAIL 0x02
528 #define RSL_ERR_TALKER_ACC_FAIL 0x03
529 #define RSL_ERR_OM_INTERVENTION 0x07
530 #define RSL_ERR_NORMAL_UNSPEC 0x0f
531 #define RSL_ERR_T_MSRFPCI_EXP 0x18
532 /* resource unavailable */
533 #define RSL_ERR_EQUIPMENT_FAIL 0x20
534 #define RSL_ERR_RR_UNAVAIL 0x21
535 #define RSL_ERR_TERR_CH_FAIL 0x22
536 #define RSL_ERR_CCCH_OVERLOAD 0x23
537 #define RSL_ERR_ACCH_OVERLOAD 0x24
538 #define RSL_ERR_PROCESSOR_OVERLOAD 0x25
539 #define RSL_ERR_RES_UNAVAIL 0x2f
540 /* service or option not available */
541 #define RSL_ERR_TRANSC_UNAVAIL 0x30
542 #define RSL_ERR_SERV_OPT_UNAVAIL 0x3f
543 /* service or option not implemented */
544 #define RSL_ERR_ENCR_UNIMPL 0x40
545 #define RSL_ERR_SERV_OPT_UNIMPL 0x4f
546 /* invalid message */
547 #define RSL_ERR_RCH_ALR_ACTV_ALLOC 0x50
548 #define RSL_ERR_INVALID_MESSAGE 0x5f
549 /* protocol error */
550 #define RSL_ERR_MSG_DISCR 0x60
551 #define RSL_ERR_MSG_TYPE 0x61
552 #define RSL_ERR_MSG_SEQ 0x62
553 #define RSL_ERR_IE_ERROR 0x63
554 #define RSL_ERR_MAND_IE_ERROR 0x64
555 #define RSL_ERR_OPT_IE_ERROR 0x65
556 #define RSL_ERR_IE_NONEXIST 0x66
557 #define RSL_ERR_IE_LENGTH 0x67
558 #define RSL_ERR_IE_CONTENT 0x68
559 #define RSL_ERR_PROTO 0x6f
560 /* interworking */
561 #define RSL_ERR_INTERWORKING 0x7f
562 
563 /* Chapter 9.3.30 */
564 #define RSL_SYSTEM_INFO_8 0x00
565 #define RSL_SYSTEM_INFO_1 0x01
566 #define RSL_SYSTEM_INFO_2 0x02
567 #define RSL_SYSTEM_INFO_3 0x03
568 #define RSL_SYSTEM_INFO_4 0x04
569 #define RSL_SYSTEM_INFO_5 0x05
570 #define RSL_SYSTEM_INFO_6 0x06
571 #define RSL_SYSTEM_INFO_7 0x07
572 #define RSL_SYSTEM_INFO_16 0x08
573 #define RSL_SYSTEM_INFO_17 0x09
574 #define RSL_SYSTEM_INFO_2bis 0x0a
575 #define RSL_SYSTEM_INFO_2ter 0x0b
576 #define RSL_SYSTEM_INFO_5bis 0x0d
577 #define RSL_SYSTEM_INFO_5ter 0x0e
578 #define RSL_SYSTEM_INFO_10 0x0f
579 #define RSL_EXT_MEAS_ORDER 0x47
580 #define RSL_MEAS_INFO 0x48
581 #define RSL_SYSTEM_INFO_13 0x28
582 #define RSL_ERIC_SYSTEM_INFO_13 0x0C
583 #define RSL_SYSTEM_INFO_2quater 0x29
584 #define RSL_SYSTEM_INFO_9 0x2a
585 #define RSL_SYSTEM_INFO_18 0x2b
586 #define RSL_SYSTEM_INFO_19 0x2c
587 #define RSL_SYSTEM_INFO_20 0x2d
588 
589 /* Chapter 9.3.40 */
590 #define RSL_CHANNEED_ANY 0x00
591 #define RSL_CHANNEED_SDCCH 0x01
592 #define RSL_CHANNEED_TCH_F 0x02
593 #define RSL_CHANNEED_TCH_ForH 0x03
594 
597 #if OSMO_IS_LITTLE_ENDIAN
598  uint8_t last_block:2;
599  uint8_t spare:1;
600  uint8_t def_bcast:1;
601  uint8_t command:4;
602 #elif OSMO_IS_BIG_ENDIAN
603 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
604  uint8_t command:4, def_bcast:1, spare:1, last_block:2;
605 #endif
606 } __attribute__ ((packed));
607 /* ->command */
608 #define RSL_CB_CMD_TYPE_NORMAL 0x00
609 #define RSL_CB_CMD_TYPE_SCHEDULE 0x08
610 #define RSL_CB_CMD_TYPE_DEFAULT 0x0e
611 #define RSL_CB_CMD_TYPE_NULL 0x0f
612 /* ->def_bcast */
613 #define RSL_CB_CMD_DEFBCAST_NORMAL 0
614 #define RSL_CB_CMD_DEFBCAST_NULL 1
615 /* ->last_block */
616 #define RSL_CB_CMD_LASTBLOCK_4 0
617 #define RSL_CB_CMD_LASTBLOCK_1 1
618 #define RSL_CB_CMD_LASTBLOCK_2 2
619 #define RSL_CB_CMD_LASTBLOCK_3 3
620 
621 /* Chapter 3.3.2.3 Brocast control channel */
622 /* CCCH-CONF, NC is not combined */
623 #define RSL_BCCH_CCCH_CONF_1_NC 0x00
624 #define RSL_BCCH_CCCH_CONF_1_C 0x01
625 #define RSL_BCCH_CCCH_CONF_2_NC 0x02
626 #define RSL_BCCH_CCCH_CONF_3_NC 0x04
627 #define RSL_BCCH_CCCH_CONF_4_NC 0x06
628 
629 /* BS-PA-MFRMS */
630 #define RSL_BS_PA_MFRMS_2 0x00
631 #define RSL_BS_PA_MFRMS_3 0x01
632 #define RSL_BS_PA_MFRMS_4 0x02
633 #define RSL_BS_PA_MFRMS_5 0x03
634 #define RSL_BS_PA_MFRMS_6 0x04
635 #define RSL_BS_PA_MFRMS_7 0x05
636 #define RSL_BS_PA_MFRMS_8 0x06
637 #define RSL_BS_PA_MFRMS_9 0x07
638 
639 /* RSL_IE_IPAC_RTP_PAYLOAD[2] */
646 };
647 
648 /* RSL_IE_IPAC_SPEECH_MODE, lower four bits */
650  RSL_IPAC_SPEECH_GSM_FR = 0, /* GSM FR (Type 1, FS) */
651  RSL_IPAC_SPEECH_GSM_EFR = 1, /* GSM EFR (Type 2, FS) */
652  RSL_IPAC_SPEECH_GSM_AMR_FR = 2, /* GSM AMR/FR (Type 3, FS) */
653  RSL_IPAC_SPEECH_GSM_HR = 3, /* GSM HR (Type 1, HS) */
654  RSL_IPAC_SPEECH_GSM_AMR_HR = 5, /* GSM AMR/hr (Type 3, HS) */
655  RSL_IPAC_SPEECH_AS_RTP = 0xf, /* As specified by RTP Payload IE */
656 };
657 /* RSL_IE_IPAC_SPEECH_MODE, upper four bits */
659  RSL_IPAC_SPEECH_M_RXTX = 0, /* Send and Receive */
660  RSL_IPAC_SPEECH_M_RX = 1, /* Receive only */
661  RSL_IPAC_SPEECH_M_TX = 2, /* Send only */
662 };
663 
664 /* RSL_IE_IPAC_RTP_CSD_FMT, lower four bits */
670 };
671 /* RSL_IE_IPAC_RTP_CSD_FMT, upper four bits */
677 };
678 
679 /* Siemens vendor-specific RSL extensions */
680 struct rsl_mrpci {
681  uint8_t power_class:3,
682  vgcs_capable:1,
683  vbs_capable:1,
684  gsm_phase:2;
685 } __attribute__ ((packed));
686 
693 };
696  /* reserved */
699 };
700 
701 /* 9.3.20 Release Mode */
705 };
706 
730  /* additional IPAC measurement pre-processing related IEI */
736 
737 };
738 
740 #if OSMO_IS_LITTLE_ENDIAN
741  uint8_t h_reqave:5,
742  param_id:2,
743  reserved:1;
744  uint8_t h_reqt:5,
745  ave_method:3;
746 #elif OSMO_IS_BIG_ENDIAN
747 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
748  uint8_t reserved:1, param_id:2, h_reqave:5;
749  uint8_t ave_method:3, h_reqt:5;
750 #endif
751 }__attribute__ ((packed));
752 
754 #if OSMO_IS_LITTLE_ENDIAN
755  uint8_t l_rxlev_ul_h:6,
756  reserved_l_rxlev_ul:2;
757  uint8_t l_rxlev_dl_h:6,
758  reserved_l_rxlev_dl:2;
759  uint8_t rxlev_ul_ih:6,
760  reserved_rxlev_ul:2;
761  uint8_t rxlev_dl_ih:6,
762  reserved_rxlev_dl:2;
763  uint8_t l_rxqual_ul_h:3,
764  reserved_rxlqual_ul:1,
765  l_rxqual_dl_h:3,
766  reserved_rxqual_dl:1;
767  uint8_t ms_range_max:6,
768  reserved_ms_range:2;
769 #elif OSMO_IS_BIG_ENDIAN
770 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
771  uint8_t reserved_l_rxlev_ul:2, l_rxlev_ul_h:6;
772  uint8_t reserved_l_rxlev_dl:2, l_rxlev_dl_h:6;
773  uint8_t reserved_rxlev_ul:2, rxlev_ul_ih:6;
774  uint8_t reserved_rxlev_dl:2, rxlev_dl_ih:6;
775  uint8_t reserved_rxqual_dl:1, l_rxqual_dl_h:3, reserved_rxlqual_ul:1, l_rxqual_ul_h:3;
776  uint8_t reserved_ms_range:2, ms_range_max:6;
777 #endif
778 }__attribute__ ((packed));
779 
781 #if OSMO_IS_LITTLE_ENDIAN
782  uint8_t p5:5,
783  reserved_p5:3;
784  uint8_t n5:5,
785  reserved_n5:3;
786  uint8_t p6:5,
787  reserved_p6:3;
788  uint8_t n6:5,
789  reserved_n6:3;
790  uint8_t p7:5,
791  reserved_p7:3;
792  uint8_t n7:5,
793  reserved_n7:3;
794  uint8_t p8:5,
795  reserved_p8:3;
796  uint8_t n8:5,
797  reserved_n8:3;
798  uint8_t ho_interval:5,
799  reserved_ho:3;
800  uint8_t reserved;
801 
802 #elif OSMO_IS_BIG_ENDIAN
803 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
804  uint8_t reserved_p5:3, p5:5;
805  uint8_t reserved_n5:3, n5:5;
806  uint8_t reserved_p6:3, p6:5;
807  uint8_t reserved_n6:3, n6:5;
808  uint8_t reserved_p7:3, p7:5;
809  uint8_t reserved_n7:3, n7:5;
810  uint8_t reserved_p8:3, p8:5;
811  uint8_t reserved_n8:3, n8:5;
812  uint8_t reserved_ho:3, ho_interval:5;
813  uint8_t reserved;
814 #endif
815 }__attribute__ ((packed));
816 
818 #if OSMO_IS_LITTLE_ENDIAN
819  uint8_t bsic:6,
820  reserved0:2;
821  uint8_t bcch_freq:5,
822  ba_used:1,
823  s:1,
824  reserved1:1;
825 #elif OSMO_IS_BIG_ENDIAN
826 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
827  uint8_t reserved0:2, bsic:6;
828  uint8_t reserved1:1, s:1, ba_used:1, bcch_freq:5;
829 #endif
830 }__attribute__ ((packed));
831 
833 #if OSMO_IS_LITTLE_ENDIAN
834  uint8_t rxlev_min_def:6,
835  reserved_rxlev_min_def:2;
836  uint8_t ho_margin_def:5,
837  reserved_ho_margin_def:3;
838  uint8_t ms_txpwr_max_def:5,
839  reserved_ms_txpwr_max_def:3;
840 #elif OSMO_IS_BIG_ENDIAN
841 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
842  uint8_t reserved_rxlev_min_def:2, rxlev_min_def:6;
843  uint8_t reserved_ho_margin_def:3, ho_margin_def:5;
844  uint8_t reserved_ms_txpwr_max_def:3, ms_txpwr_max_def:5;
845 #endif
846 }__attribute__ ((packed));
847 
849 #if OSMO_IS_LITTLE_ENDIAN
850  uint8_t sdcch_ho_gsm:1,
851  sdcch_ho_umts:1,
852  reserved:6;
853 #elif OSMO_IS_BIG_ENDIAN
854 /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
855  uint8_t reserved:6, sdcch_ho_umts:1, sdcch_ho_gsm:1;
856 #endif
857 }__attribute__ ((packed));
858 
860  uint8_t meas_rep_mode;
861  uint32_t meas_mode_flags;
868 };
869 
Definition: gsm_08_58.h:150
Definition: gsm_08_58.h:324
Definition: gsm_08_58.h:235
Definition: gsm_08_58.h:226
Definition: gsm_08_58.h:383
Definition: gsm_08_58.h:184
Definition: gsm_08_58.h:341
Definition: gsm_08_58.h:396
Definition: gsm_08_58.h:157
Definition: gsm_08_58.h:148
Definition: gsm_08_58.h:198
uint8_t chan_rate
Definition: gsm_08_58.h:444
Definition: gsm_08_58.h:278
uint8_t oct3
Definition: gsm_08_58.h:488
Definition: gsm_08_58.h:169
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:81
Definition: gsm_08_58.h:152
Definition: gsm_08_58.h:252
Definition: gsm_08_58.h:298
Definition: gsm_08_58.h:303
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:97
Definition: gsm_08_58.h:691
Definition: gsm_08_58.h:188
Definition: gsm_08_58.h:243
Definition: gsm_08_58.h:347
Definition: gsm_08_58.h:193
RSL Channel Mode IF (Chapter 9.3.6)
Definition: gsm_08_58.h:440
Definition: gsm_08_58.h:178
Definition: gsm_08_58.h:859
Definition: gsm_08_58.h:654
Definition: gsm_08_58.h:210
uint8_t chan_rt
Definition: gsm_08_58.h:443
Definition: gsm_08_58.h:323
Definition: gsm_08_58.h:274
Definition: gsm_08_58.h:308
Definition: gsm_08_58.h:676
Definition: gsm_08_58.h:731
Definition: gsm_08_58.h:171
Definition: gsm_08_58.h:196
Definition: gsm_08_58.h:354
Definition: gsm_08_58.h:175
Definition: gsm_08_58.h:667
rsl_ipac_rtp_csd_format_d
Definition: gsm_08_58.h:665
Definition: gsm_08_58.h:201
RSL Channel Identification IE (Chapter 9.3.5)
Definition: gsm_08_58.h:483
struct ipac_preproc_ho_thresh ho_thresh
Definition: gsm_08_58.h:864
Definition: gsm_08_58.h:390
Definition: gsm_08_58.h:167
Definition: gsm_08_58.h:179
Definition: gsm_08_58.h:291
Definition: gsm_08_58.h:304
Definition: gsm_08_58.h:249
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:98
Definition: gsm_08_58.h:330
Definition: gsm_08_58.h:160
Definition: gsm_08_58.h:268
Definition: gsm_08_58.h:170
Definition: gsm_08_58.h:153
Definition: gsm_08_58.h:297
rsl_rel_mode
Definition: gsm_08_58.h:702
Definition: gsm_08_58.h:287
Definition: gsm_08_58.h:139
Definition: gsm_08_58.h:277
Definition: gsm_08_58.h:256
Definition: gsm_08_58.h:329
Definition: gsm_08_58.h:177
Definition: gsm_08_58.h:715
Definition: gsm_08_58.h:733
Definition: gsm_08_58.h:353
rsl_mrpci_pwrclass
Definition: gsm_08_58.h:687
rsl_mrpci_phase
Definition: gsm_08_58.h:694
Definition: gsm_08_58.h:203
Definition: gsm_08_58.h:311
Definition: gsm_08_58.h:244
Definition: gsm_08_58.h:289
rsl_ipac_speech_mode_s
Definition: gsm_08_58.h:649
Definition: gsm_08_58.h:234
Definition: gsm_08_58.h:292
Definition: gsm_08_58.h:281
Definition: gsm_08_58.h:734
Definition: gsm_08_58.h:406
Definition: gsm_08_58.h:185
Definition: gsm_08_58.h:449
Definition: gsm_08_58.h:159
Definition: gsm_08_58.h:143
Definition: gsm_08_58.h:293
uint8_t chan_nr
Definition: gsm_08_58.h:84
abis_rsl_msgtype_siemens
Siemens vendor-specific RSL message types.
Definition: gsm_08_58.h:240
uint8_t msg_discr
message discriminator (ABIS_RSL_MDISC_*)
Definition: gsm_08_58.h:74
Definition: gsm_08_58.h:211
Definition: gsm_08_58.h:279
Definition: gsm_08_58.h:337
uint8_t spd_ind
Definition: gsm_08_58.h:442
Definition: gsm_08_58.h:346
Definition: gsm_08_58.h:187
Definition: gsm_08_58.h:204
Definition: gsm_08_58.h:181
Definition: gsm_08_58.h:652
Definition: gsm_08_58.h:285
Definition: gsm_08_58.h:199
Definition: gsm_08_58.h:732
Definition: gsm_08_58.h:176
struct ipac_preproc_ho_ctl_param ho_ctl_param
Definition: gsm_08_58.h:867
Definition: gsm_08_58.h:313
uint8_t power_class
Definition: gsm_08_58.h:681
Definition: gsm_08_58.h:403
Definition: gsm_08_58.h:729
Definition: gsm_08_58.h:270
Definition: gsm_08_58.h:282
Definition: gsm_08_58.h:325
uint8_t chan_nr
Definition: gsm_08_58.h:100
Definition: gsm_08_58.h:212
Definition: gsm_08_58.h:668
Definition: gsm_08_58.h:697
Definition: gsm_08_58.h:158
Definition: gsm_08_58.h:739
Definition: gsm_08_58.h:217
Definition: gsm_08_58.h:666
struct rsl_ie_chan_ident::@53 chan_desc
Definition: gsm_08_58.h:400
abis_rsl_msgtype
Definition: gsm_08_58.h:137
Definition: gsm_08_58.h:202
struct abis_rsl_common_hdr c
Definition: gsm_08_58.h:108
Definition: gsm_08_58.h:267
Definition: gsm_08_58.h:296
Definition: gsm_08_58.h:695
Definition: gsm_08_58.h:316
Definition: gsm_08_58.h:348
Definition: gsm_08_58.h:140
Definition: gsm_08_58.h:645
uint8_t vgcs_capable
Definition: gsm_08_58.h:681
Definition: gsm_08_58.h:404
Definition: gsm_08_58.h:273
Definition: gsm_08_58.h:255
Definition: gsm_08_58.h:151
Definition: gsm_08_58.h:295
Definition: gsm_08_58.h:723
Definition: gsm_08_58.h:659
union abis_rsl_chan_nr chan_nr_fields
RSL channel number (value)
Definition: gsm_08_58.h:85
Definition: gsm_08_58.h:280
Definition: gsm_08_58.h:200
struct ipac_preproc_ave_cfg ave_cfg
Definition: gsm_08_58.h:863
Definition: gsm_08_58.h:724
Definition: gsm_08_58.h:651
Definition: gsm_08_58.h:205
Definition: gsm_08_58.h:698
Definition: gsm_08_58.h:721
Definition: gsm_08_58.h:182
Definition: gsm_08_58.h:307
Definition: gsm_08_58.h:149
uint8_t chan_nr
Definition: gsm_08_58.h:43
Definition: gsm_08_58.h:272
Definition: gsm_08_58.h:712
Definition: gsm_08_58.h:166
rsl_ipac_rtp_payload
Definition: gsm_08_58.h:640
Definition: gsm_08_58.h:141
Definition: gsm_08_58.h:717
Definition: gsm_08_58.h:328
uint8_t msg_type
message type (abis_rsl_msgtype)
Definition: gsm_08_58.h:75
Definition: gsm_08_58.h:229
uint8_t vbs_capable
Definition: gsm_08_58.h:681
Definition: gsm_08_58.h:305
Definition: gsm_08_58.h:161
union abis_rsl_link_id link_id_fields
RSL link identifier (value)
Definition: gsm_08_58.h:90
Definition: gsm_08_58.h:194
Definition: gsm_08_58.h:276
Definition: gsm_08_58.h:288
Definition: gsm_08_58.h:726
struct ipac_preproc_ncell_dflts ncell_dflts
Definition: gsm_08_58.h:866
Definition: gsm_08_58.h:218
Definition: gsm_08_58.h:327
Definition: gsm_08_58.h:35
Definition: gsm_08_58.h:727
Definition: gsm_08_58.h:399
Definition: gsm_08_58.h:344
Definition: gsm_08_58.h:389
Definition: gsm_08_58.h:314
Definition: gsm_08_58.h:168
Definition: gsm_08_58.h:650
Definition: gsm_08_58.h:382
uint8_t oct4
Definition: gsm_08_58.h:489
Definition: gsm_08_58.h:219
Definition: gsm_08_58.h:398
Definition: gsm_08_58.h:275
Definition: gsm_08_58.h:401
Definition: gsm_08_58.h:142
Definition: gsm_08_58.h:80
uint8_t chan_nr
Definition: gsm_08_58.h:487
Definition: gsm_08_58.h:342
Definition: gsm_08_58.h:333
Definition: gsm_08_58.h:817
Definition: gsm_08_58.h:315
Definition: gsm_08_58.h:225
Definition: gsm_08_58.h:408
Definition: gsm_08_58.h:306
Definition: gsm_08_58.h:412
Definition: gsm_08_58.h:318
Definition: gsm_08_58.h:349
Definition: gsm_08_58.h:221
Definition: gsm_08_58.h:343
Definition: gsm_08_58.h:214
Definition: gsm_08_58.h:222
union abis_rsl_chan_nr chan_nr_fields
RSL channel number (value)
Definition: gsm_08_58.h:101
Definition: gsm_08_58.h:208
Definition: gsm_08_58.h:832
Definition: gsm_08_58.h:242
Definition: gsm_08_58.h:322
Definition: gsm_08_58.h:192
Definition: gsm_08_58.h:180
Definition: gsm_08_58.h:332
enum abis_rsl_msgtype __attribute__
uint8_t ie_link_id
RSL_IE_LINK_IDENT (tag)
Definition: gsm_08_58.h:87
Definition: gsm_08_58.h:334
Definition: gsm_08_58.h:186
Definition: gsm_08_58.h:216
Definition: gsm_08_58.h:233
Definition: gsm_08_58.h:191
union abis_rsl_chan_nr chan_nr_fields
RSL channel number (value)
Definition: gsm_08_58.h:112
Definition: gsm_08_58.h:283
Definition: gsm_08_58.h:643
Definition: gsm_08_58.h:271
Definition: gsm_08_58.h:302
uint8_t chan_nr
Definition: gsm_08_58.h:111
Definition: gsm_08_58.h:269
Definition: gsm_08_58.h:231
uint8_t len
Definition: gsm_04_11.h:465
Definition: gsm_08_58.h:241
Definition: gsm_08_58.h:245
Definition: gsm_08_58.h:728
struct ipac_preproc_ave_cfg ms_ave_cfg[3]
Definition: gsm_08_58.h:862
Definition: gsm_08_58.h:690
Definition: gsm_08_58.h:709
Definition: gsm_08_58.h:162
Definition: gsm_08_58.h:165
Definition: gsm_08_58.h:197
Definition: gsm_08_58.h:661
Definition: gsm_08_58.h:190
Definition: gsm_08_58.h:402
Definition: gsm_08_58.h:735
Definition: gsm_08_58.h:413
Definition: gsm_08_58.h:410
struct ipac_preproc_ho_comp ho_comp
Definition: gsm_08_58.h:865
Definition: gsm_08_58.h:215
Definition: gsm_08_58.h:713
Definition: gsm_08_58.h:266
Definition: gsm_08_58.h:351
Definition: gsm_08_58.h:147
uint8_t gsm_phase
Definition: gsm_08_58.h:681
Definition: gsm_08_58.h:250
Definition: gsm_08_58.h:722
Definition: gsm_08_58.h:321
Definition: gsm_08_58.h:642
Definition: gsm_08_58.h:228
Definition: gsm_08_58.h:223
Definition: gsm_08_58.h:352
Definition: gsm_08_58.h:451
Definition: gsm_08_58.h:674
Definition: gsm_08_58.h:107
Definition: gsm_08_58.h:411
Definition: gsm_08_58.h:319
Definition: gsm_08_58.h:309
Definition: gsm_08_58.h:711
RSL Cell Broadcast Command (Chapter 9.3.45)
Definition: gsm_08_58.h:596
rsl_ipac_rtp_csd_format_ir
Definition: gsm_08_58.h:672
Definition: gsm_08_58.h:704
Definition: gsm_08_58.h:409
Definition: gsm_08_58.h:246
Definition: gsm_08_58.h:96
Definition: gsm_08_58.h:848
Definition: gsm_08_58.h:163
Definition: gsm_08_58.h:384
Definition: gsm_08_58.h:350
rsl_cmod_spd
Definition: gsm_08_58.h:448
Definition: gsm_08_58.h:209
Definition: gsm_08_58.h:254
Definition: gsm_08_58.h:725
Definition: gsm_08_58.h:710
abis_rsl_ie
RSL Information Element Identifiers (Chapter 9.3)
Definition: gsm_08_58.h:265
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:114
Definition: gsm_08_58.h:692
Definition: gsm_08_58.h:720
uint8_t meas_rep_mode
Definition: gsm_08_58.h:860
Definition: gsm_08_58.h:714
Definition: gsm_08_58.h:703
Definition: gsm_08_58.h:224
Definition: gsm_08_58.h:320
uint8_t link_id
Definition: gsm_08_58.h:89
Definition: gsm_08_58.h:644
Definition: gsm_08_58.h:230
Definition: gsm_08_58.h:183
uint8_t data[0]
actual payload data
Definition: gsm_08_58.h:76
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:103
Definition: gsm_08_58.h:405
RSL common header.
Definition: gsm_08_58.h:73
Definition: gsm_08_58.h:146
Definition: gsm_08_58.h:251
rsl_ipac_embedded_ie
ip.access specific embedded information elements
Definition: gsm_08_58.h:708
Definition: gsm_08_58.h:144
Definition: gsm_08_58.h:312
Definition: gsm_08_58.h:680
abis_rsl_msgtype_ericsson
Ericsson vendor-specific RSL message types.
Definition: gsm_08_58.h:260
Definition: gsm_08_58.h:284
Definition: gsm_08_58.h:227
Definition: gsm_08_58.h:290
Definition: gsm_08_58.h:213
Definition: gsm_08_58.h:261
Definition: gsm_08_58.h:688
Definition: gsm_08_58.h:689
Definition: gsm_08_58.h:189
Definition: gsm_08_58.h:248
Definition: gsm_08_58.h:391
Definition: gsm_08_58.h:780
Definition: gsm_08_58.h:675
Definition: gsm_08_58.h:345
Definition: gsm_08_58.h:719
Definition: gsm_08_58.h:220
Definition: gsm_08_58.h:669
Definition: gsm_08_58.h:716
Definition: gsm_08_58.h:660
Definition: gsm_08_58.h:331
rsl_ipac_speech_mode_m
Definition: gsm_08_58.h:658
uint32_t meas_mode_flags
Definition: gsm_08_58.h:861
Definition: gsm_08_58.h:195
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:82
uint8_t iei
Definition: gsm_08_58.h:486
uint8_t data[0]
message payload data
Definition: gsm_08_58.h:92
Definition: gsm_08_58.h:407
Definition: gsm_08_58.h:299
Definition: gsm_08_58.h:301
Definition: gsm_08_58.h:655
uint8_t dtx_dtu
Definition: gsm_08_58.h:441
Definition: gsm_08_58.h:236
Definition: gsm_08_58.h:286
Definition: gsm_08_58.h:339
Definition: gsm_08_58.h:156
Definition: gsm_08_58.h:338
uint8_t ie_chan
RSL_IE_CHAN_NR (tag)
Definition: gsm_08_58.h:109
Definition: gsm_08_58.h:340
Definition: gsm_08_58.h:317
Definition: gsm_08_58.h:450
Definition: gsm_08_58.h:174
Definition: gsm_08_58.h:232
Definition: gsm_08_58.h:397
Definition: gsm_08_58.h:753
Definition: gsm_08_58.h:145
Definition: gsm_08_58.h:247
Definition: gsm_08_58.h:653
Definition: gsm_08_58.h:253
Definition: gsm_08_58.h:673
Definition: gsm_08_58.h:300
Definition: gsm_08_58.h:641
Definition: gsm_08_58.h:310
Definition: gsm_08_58.h:718