/* DRB configuration for each QCI value. If no corresponding QCI is found, QCI = 9 is used instead. QCI characteristics in TS 23.203 table 6.1.7 */ #if defined(TDD) && TDD == 1 #define T_REORDERING 65 #else #define T_REORDERING 35 #endif [ /**************************************** GBR */ { qci: 1, /* UM - real time (RTP for VOIP) */ ims_dedicated_bearer: true, pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_Size: 7, /* ROHC header compression */ /* headerCompression: { maxCID: 15, profile0x0001: true, // RTP profile profile0x0002: true, // UDP profile profile0x0004: false, // IP profile }, */ }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 12, pdcp_SN_SizeDL: 12, statusReportRequired: false, outOfOrderDelivery: false, /* ROHC header compression */ /* headerCompression: { maxCID: 15, profile0x0001: true, // RTP profile profile0x0002: true, // UDP profile profile0x0004: false, // IP profile }, */ restrict_to_ng_enb: true, }, rlc_config: { ul_um: { sn_FieldLength: 5, }, dl_um: { sn_FieldLength: 5, t_Reordering: T_REORDERING, /* should be > to (max_harq_tx -1) * HARQ latency */ }, }, logical_channel_config: { /* Note: SRB1 has priority 1, SRB2 has priority 3. We start from 4 for priority 0.5 and increase the value */ priority: 7, prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 2, /* UM - real time (video) */ ims_dedicated_bearer: true, pdcp_config: { discardTimer: 150, /* in ms, 0 means infinity */ pdcp_SN_Size: 12, }, nr_pdcp_config: { discardTimer: 150, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, restrict_to_ng_enb: true, }, rlc_config: { ul_um: { sn_FieldLength: 10, }, dl_um: { sn_FieldLength: 10, t_Reordering: T_REORDERING, /* should be > to (max_harq_tx -1) * HARQ latency */ }, }, logical_channel_config: { priority: 9, prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 3, /* UM - real time (gaming) */ pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_Size: 12, }, nr_pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, restrict_to_ng_enb: true, }, rlc_config: { ul_um: { sn_FieldLength: 10, }, dl_um: { sn_FieldLength: 10, t_Reordering: T_REORDERING, /* should be > to (max_harq_tx -1) * HARQ latency */ }, }, logical_channel_config: { priority: 8, prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 4, /* AM - Non-Conversational Video (Buffered Streaming) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, restrict_to_ng_enb: true, }, rlc_config: { ul_am: { t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 32, }, dl_am: { t_Reordering: T_REORDERING, /* in ms, should be > to (max_harq_tx -1) * HARQ latency */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 10, prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 65, /* UM - real time (MC-PTT voice) */ ims_dedicated_bearer: true, pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_Size: 7, /* ROHC header compression */ /* headerCompression: { maxCID: 15, profile0x0001: true, // RTP profile profile0x0002: true, // UDP profile profile0x0004: false, // IP profile }, */ }, nr_pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 12, pdcp_SN_SizeDL: 12, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, /* ROHC header compression */ /* headerCompression: { maxCID: 15, profile0x0001: true, // RTP profile profile0x0002: true, // UDP profile profile0x0004: false, // IP profile }, */ restrict_to_ng_enb: true, }, rlc_config: { ul_um: { sn_FieldLength: 5, }, dl_um: { sn_FieldLength: 5, t_Reordering: T_REORDERING, /* should be > to (max_harq_tx -1) * HARQ latency */ }, }, logical_channel_config: { /* Note: SRB1 has priority 1, SRB2 has priority 3. We add an offset of 4 to the standard priorities */ priority: 5, prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 66, /* UM - real time (non MC-PTT voice) */ ims_dedicated_bearer: true, pdcp_config: { discardTimer: 150, /* in ms, 0 means infinity */ pdcp_SN_Size: 12, }, nr_pdcp_config: { discardTimer: 150, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, restrict_to_ng_enb: true, }, rlc_config: { ul_um: { sn_FieldLength: 10, }, dl_um: { sn_FieldLength: 10, t_Reordering: T_REORDERING, /* should be > to (max_harq_tx -1) * HARQ latency */ }, }, logical_channel_config: { /* Note: SRB1 has priority 1, SRB2 has priority 3. We start from 4 for priority 0.5, ... */ priority: 7, prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 67, /* UM - Mission Critical Video user plane */ ims_dedicated_bearer: true, pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_Size: 12, }, nr_pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, restrict_to_ng_enb: true, }, rlc_config: { ul_um: { sn_FieldLength: 10, }, dl_um: { sn_FieldLength: 10, t_Reordering: T_REORDERING, /* should be > to (max_harq_tx -1) * HARQ latency */ }, }, logical_channel_config: { priority: 6, prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, /**************************************** non GBR */ { qci: 5, /* AM - high priority (SIP) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, restrict_to_ng_enb: true, }, rlc_config: { ul_am: { t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 32, }, dl_am: { t_Reordering: T_REORDERING, /* in ms, should be > to (max_harq_tx -1) * HARQ latency */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 6, prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 6, /* AM - Video (buffered streaming) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, restrict_to_ng_enb: true, }, rlc_config: { ul_am: { t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 32, }, dl_am: { t_Reordering: T_REORDERING, /* in ms, should be > to (max_harq_tx -1) * HARQ latency */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 12, prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 2, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 7, /* UM - voice, video (live streaming), interactive gaming */ pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_Size: 12, }, nr_pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, restrict_to_ng_enb: true, }, rlc_config: { ul_um: { sn_FieldLength: 10, }, dl_um: { sn_FieldLength: 10, t_Reordering: T_REORDERING, /* should be > to (max_harq_tx -1) * HARQ latency */ }, }, logical_channel_config: { priority: 13, prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 2, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 8, /* AM - best effort (Internet traffic) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, restrict_to_ng_enb: true, }, rlc_config: { ul_am: { t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 32, }, dl_am: { t_Reordering: T_REORDERING, /* in ms, should be > to (max_harq_tx -1) * HARQ latency */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 14, prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 2, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 9, /* AM - best effort (Internet traffic) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, }, en_dc_split: { type: "scg", ul_data_threshold: -1 }, rlc_config: { ul_am: { t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 32, }, dl_am: { t_Reordering: T_REORDERING, /* in ms, should be > to (max_harq_tx -1) * HARQ latency */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 15, prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 3, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 69, /* AM - high priority (MC-PTT signalling) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, restrict_to_ng_enb: true, }, rlc_config: { ul_am: { t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 32, }, dl_am: { t_Reordering: T_REORDERING, /* in ms, should be > to (max_harq_tx -1) * HARQ latency */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 4, prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, { qci: 70, /* AM - MC data */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, }, nr_pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, restrict_to_ng_enb: true, }, rlc_config: { ul_am: { t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 32, }, dl_am: { t_Reordering: T_REORDERING, /* in ms, should be > to (max_harq_tx -1) * HARQ latency */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 11, prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 2, logicalChannelSR_Mask: false, logicalChannelSR_Prohibit: false, }, }, ] #undef T_REORDERING