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