/* DRB configuration for each 5QI value. 5QI characteristics in TS 23.501 table 5.7.4-1. The qci parameter is used for the 5QI value */ #ifndef EPS_FALLBACK #define EPS_FALLBACK 0 #endif #ifndef NTN_MODE #define NTN_MODE 0 #endif #if NTN_MODE == 0 // GEO #define T_POLL_RETX 800 #define T_STATUS_PHBT 400 #define T_REASSEMBLY 1100 #elif NTN_MODE == 1 // MEO #define T_POLL_RETX 150 #define T_STATUS_PHBT 75 #define T_REASSEMBLY 550 #else // LEO #define T_POLL_RETX 80 #define T_STATUS_PHBT 20 #define T_REASSEMBLY 150 #endif [ /**************************************** GBR */ { qci: 1, /* UM - real time (RTP for VOIP) */ use_for_mr_dc_scg: false, #if EPS_FALLBACK > 0 trigger_eps_fallback: true, #endif ims_dedicated_bearer: true, 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 }, */ }, rlc_config: { ul_um: { sn_FieldLength: 6, }, dl_um: { sn_FieldLength: 6, t_Reassembly: 50, }, }, logical_channel_config: { priority: 7, prioritisedBitRate: 0, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, }, "5qi_qos": { priority_level: 20, averaging_window: 2000 } }, { qci: 2, /* UM - real time (video) */ use_for_mr_dc_scg: false, #if EPS_FALLBACK > 0 trigger_eps_fallback: true, #endif ims_dedicated_bearer: true, pdcp_config: { discardTimer: 150, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, }, rlc_config: { ul_um: { sn_FieldLength: 12, }, dl_um: { sn_FieldLength: 12, t_Reassembly: 50, }, }, logical_channel_config: { priority: 8, prioritisedBitRate: 0, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 1, }, "5qi_qos": { priority_level: 40, averaging_window: 2000 } }, { qci: 3, /* UM - real time (gaming) */ pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, }, rlc_config: { ul_um: { sn_FieldLength: 12, }, dl_um: { sn_FieldLength: 12, t_Reassembly: 50, }, }, logical_channel_config: { priority: 7, prioritisedBitRate: 0, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 2, }, "5qi_qos": { priority_level: 30, averaging_window: 2000 } }, { qci: 4, /* AM - Non-Conversational Video (Buffered Streaming) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: 80, /* in ms */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 9, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 3, }, "5qi_qos": { priority_level: 50, averaging_window: 2000 } }, { qci: 65, /* UM - real time (MC-PTT voice) */ use_for_mr_dc_scg: false, #if EPS_FALLBACK > 0 trigger_eps_fallback: true, #endif ims_dedicated_bearer: true, 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 }, */ }, rlc_config: { ul_um: { sn_FieldLength: 6, }, dl_um: { sn_FieldLength: 6, t_Reassembly: 50, }, }, logical_channel_config: { priority: 5, prioritisedBitRate: 0, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 4, }, "5qi_qos": { priority_level: 7, averaging_window: 2000 } }, { qci: 66, /* UM - real time (non MC-PTT voice) */ use_for_mr_dc_scg: false, #if EPS_FALLBACK > 0 trigger_eps_fallback: true, #endif ims_dedicated_bearer: true, pdcp_config: { discardTimer: 150, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, }, rlc_config: { ul_um: { sn_FieldLength: 12, }, dl_um: { sn_FieldLength: 12, t_Reassembly: 50, }, }, logical_channel_config: { priority: 7, prioritisedBitRate: 0, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 4, }, "5qi_qos": { priority_level: 20, averaging_window: 2000 } }, { qci: 67, /* UM - Mission Critical Video user plane */ use_for_mr_dc_scg: false, #if EPS_FALLBACK > 0 trigger_eps_fallback: true, #endif ims_dedicated_bearer: true, pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, }, rlc_config: { ul_um: { sn_FieldLength: 12, }, dl_um: { sn_FieldLength: 12, t_Reassembly: 50, }, }, logical_channel_config: { priority: 6, prioritisedBitRate: 0, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 5, }, "5qi_qos": { priority_level: 15, averaging_window: 2000 } }, /**************************************** non GBR */ { qci: 5, /* AM - high priority (SIP) */ use_for_mr_dc_scg: false, pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: 80, /* in ms */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 6, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 4, }, "5qi_qos": { priority_level: 10 } }, { qci: 6, /* AM - Video (buffered streaming) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: 80, /* in ms */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 10, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 5, }, "5qi_qos": { priority_level: 60 } }, { qci: 7, /* UM - voice, video (live streaming), interactive gaming */ pdcp_config: { discardTimer: 100, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: false, outOfOrderDelivery: false, t_Reordering: 0, }, rlc_config: { ul_um: { sn_FieldLength: 12, }, dl_um: { sn_FieldLength: 12, t_Reassembly: 50, }, }, logical_channel_config: { priority: 11, prioritisedBitRate: 0, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 6, }, "5qi_qos": { priority_level: 70 } }, { qci: 8, /* AM - best effort (Internet traffic) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: 80, /* in ms */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 12, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 7, }, "5qi_qos": { priority_level: 80 } }, { qci: 9, /* AM - best effort (Internet traffic) */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, nr_dc_split: { type: "scg", ul_data_threshold: 0 }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: 80, /* in ms */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 13, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 7, }, "5qi_qos": { priority_level: 90 } }, { qci: 10 , /* AM - best effort (Internet traffic) over satellite access */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: T_POLL_RETX, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: T_REASSEMBLY, /* in ms */ t_StatusProhibit: T_STATUS_PHBT, /* in ms */ }, }, logical_channel_config: { priority: 13, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 7, }, "5qi_qos": { priority_level: 90 } }, { qci: 69, /* AM - high priority (MC-PTT signalling) */ use_for_mr_dc_scg: false, pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: 80, /* in ms */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 4, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 4, }, "5qi_qos": { priority_level: 5 } }, { qci: 70, /* AM - MC data */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ pdcp_SN_SizeUL: 18, pdcp_SN_SizeDL: 18, statusReportRequired: true, outOfOrderDelivery: false, t_Reordering: 3000, }, rlc_config: { ul_am: { sn_FieldLength: 18, t_PollRetransmit: 80, /* in ms */ pollPDU: 64, pollByte: 125, /* in kBytes, 0 means infinity */ maxRetxThreshold: 4, }, dl_am: { sn_FieldLength: 18, t_Reassembly: 80, /* in ms */ t_StatusProhibit: 10, /* in ms */ }, }, logical_channel_config: { priority: 11, prioritisedBitRate: 8, /* in kB/s, -1 means infinity */ bucketSizeDuration: 100, /* in ms */ logicalChannelGroup: 5, }, "5qi_qos": { priority_level: 55 } }, ] #undef T_POLL_RETX #undef T_STATUS_PHBT #undef T_REASSEMBLY