# Get dedicated radio bearer status and indication This sample application demonstrates how to get dedicated radio bearer status and indication. 1. Implement IServingSystemListener listener class class ServingSystemListener : public telux::data::IServingSystemListener { public: ServingSystemListener(SlotId slotId) : slotId_(slotId) {} void onDrbStatusChanged(telux::data::DrbStatus status) override { std::cout << "\n onDrbStatusChanged on SlotId: " << static_cast(slotId_) << std::endl; switch(status) { case telux::data::DrbStatus::ACTIVE: std::cout << "Current Drb Status is Active" << std::endl; break; case telux::data::DrbStatus::DORMANT: std::cout << "Current Drb Status is Dormant" << std::endl; break; case telux::data::DrbStatus::UNKNOWN: std::cout << "Current Drb Status is Unknown" << std::endl; break; default: std::cout << "Error: Unexpected Drb Status is reported" << std::endl; break; } } private: SlotId slotId_; }; Copy to clipboard 2. Optioanlly, instantiate initialization callback auto initCb = [&](telux::common::ServiceStatus status) { subSystemStatus = status; subSystemStatusUpdated = true; cv_.notify_all(); }; Copy to clipboard 3. Get the DataFactory and data serving system manager instance and check if the data serving system manager is ready or not auto &dataFactory = telux::data::DataFactory::getInstance(); do { subSystemStatusUpdated = false; std::unique_lock lck(mtx_); dataServingSystemMgr = dataFactory.getServingSystemManager(slotId, initCb); if (dataServingSystemMgr) { std::cout << "\n\nInitializing Data Serving System manager subsystem on slot " << slotId << ", Please wait ..." << std::endl; cv_.wait(lck, [&]{return subSystemStatusUpdated;}); subSystemStatus = dataServingSystemMgr->getServiceStatus(); } if (subSystemStatus == telux::common::ServiceStatus::SERVICE_AVAILABLE) { std::cout << " *** DATA Serving System is Ready *** " << std::endl; break; } else { std::cout << " *** Unable to initialize data Serving System *** " << std::endl; } } while (1); Copy to clipboard 4. Register for serving system listener dataServingSystemMgr->registerListener(dataListener); Copy to clipboard 5. Get dedicated radio bearer Status telux::data::DrbStatus drbStatus = dataServingSystemMgr->getDrbStatus(); switch(drbStatus) { case telux::data::DrbStatus::ACTIVE: std::cout << "Current Drb Status is Active" << std::endl; break; case telux::data::DrbStatus::DORMANT: std::cout << "Current Drb Status is Dormant" << std::endl; break; case telux::data::DrbStatus::UNKNOWN: std::cout << "Current Drb Status is Unknown" << std::endl; break; default: std::cout << "Error: Unexpected Drb Status is reported" << std::endl; break; } Copy to clipboard Now, wait for dedicated radio bearer notifications. Last Published: Jun 24, 2026 [Previous Topic Enable/Disable socks](https://docs.qualcomm.com/bundle/publicresource/80-PF458-1/topics/enable_disable_socks.md) [Next Topic Get service status and indication](https://docs.qualcomm.com/bundle/publicresource/80-PF458-1/topics/get_service_status_and_indication.md)