Public Safety Communications

Models to support applications and scenarios for first responders
4.70/5 (53 reviews)
Categories: LTE, Public Safety

This module provides extensions to the LTE including Device to Device (D2D) capabilities, as well as new propagation models and applications related to public safety communications.

The current model is based on ns-3.36.1 release and supports the following additional features:

  • Out of coverage synchronization
  • In and out of coverage D2D Discovery
  • In and out of coverage D2D Communication
  • Various 3GPP based propagation models
  • detailed on-network and off-network MCPTT model for D2D operation
  • UAV mobility energy model
  • HTTP application model
  • UE-to-Network Relay model
  • video streaming model
  • Additional examples for multi-cell and partial coverage
  • Large scale scenarios

Please refer to the following publications for further information about the LTE D2D and MCPTT capabilities, and the model implementation and validation details:

R. Rouil, F. Cintron, A. Ben Mosbah and S. Gamboa, "Implementation and Validation of an LTE D2D Model for ns-3", Proceedings of the Workshop on ns-3 (WNS3 2017), June 2017, Porto, Portugal.


W. Garey, T. R. Henderson, Y. Sun, R. Rouil, and S. Gamboa Quintiliani, “Modeling MCPTT and User Behavior in ns-3”, 11th International Conference on Simulation and Modeling Methodologies, Technologies and Applications (SIMULTECH 2021).


If you use our models in your research, please cite the above-mentioned papers accordingly.

Future work:

The following features are intended to be added to the project in the future:

  • NR Sidelink/NR Prose

About the Model:

The model was initially developed and maintained by the Public Safety Communication Project Group of the Wireless Networks Division (WND) at the Communication Technology Laboratory (CTL) of the National Institute of Standards and Technology (NIST) - U.S. Department of Commerce. For further information about the research conducted by the group, please refer to the following website:

The integration of the initial ProSe module with the LTE and buildings module, as well as the creation of additional examples and tests, and contributions to on-network MCPTT support, was assisted by CTTC and the University of Washington. This work was performed under the financial assistance award 70NANB17H170 and 70NANB20H179 from U.S. Department of Commerce, National Institute of Standards and Technology.


Works with ns-3.40

Latest Build :

Build History : Public Safety Communications v7.0

Release Notes

<p>The psc-ns3 release 7.0 aligns with the ns-3.40 release, and provides minor updates:</p> <ul> <li>Clang-tidy fixes</li> <li>Modified relay and discovery example parameters</li> <li>Corrected video model example attribute names</li> <li>Corrected names in psc examples build script</li> <li>NetSimulyzer 3D models were updated</li> <li>psc-schoolshooting example modifications regarding enabled traces</li> <li>Minor MCPTT enhancements and bug fixes</li> </ul>
Bakefile : Link


Works with ns-3.36

Build History : Public Safety Communications v6.0

Release Notes

<p>The psc-ns3 release 6.0 aligns with the ns-3.36.1 release, and provides minor updates:</p> <ul> <li>Added MCPTT access time and M2E traces sources to McpttTraceHelper</li> <li>Use Orchestrator::SetTimeStep instead of TimeStep attribute for examples using NetSimulyzer</li> </ul>


Works with ns-3.35

Build History : Public Safety Communications 5.0

Release Notes

<p>The psc-ns3 release 5.0 aligns with the ns-3.35 release, and provides the following new features:</p> <ul> <li>New configurable application based client/server paradigm</li> <li>Large scale scenario based on fictional school shooting incident</li> </ul> <p>Additional bug fixes, updated documentation, and support for gcc 10.2 have also been addressed.</p>


Works with ns-3.33

Build History : Public Safety Communications 4.0

Release Notes

<p>The psc-ns3 release 4.0 aligns with the ns-3.33 release, and provides the following new features:</p> <ul> <li> <p>a detailed on-network MCPTT model, including a basic SIP call control model, and example programs demonstrating KPI statistics collection in on-network, off-network, and UE-to-network relay configurations</p> </li> <li> <p>a new configurable video streaming model based on the CDFs of packet size and packet interval. A set of reference CDFs, generated using ffmpeg, is also included. Custom models can also be specified by specifying path to text-based CDFs files.</p> </li> </ul> <p>The following bugs in existing psc code were fixed:</p> <ul> <li>Problematic SL-Tag tbSize data cast (Issue #20)</li> </ul>
Bakefile : Link


Works with ns-3.31

Build History : Public Safety Communications 3.0.1

Release Notes

<p>This minor release aligns with the final ns-3.31 release. It also includes some fixes for the UE-to-Network Relay functionality.</p>
Bakefile : Link


Works with ns-3.30

Build History : Public Safety Communications 3.0

Release Notes

<p>The psc-ns3 release 3.0, aligned with ns-3-dev as of March 4 2020, provides the following new features:</p> <ul> <li> <p>Implementation of LTE UE-to-Network Relay capability, complete with tests, examples, and documentation</p> </li> <li> <p>Additional D2D examples showing partial coverage and multi-cell deployments</p> </li> </ul>
Bakefile : Link


Works with ns-3.30

Build History : Public Safety Communications 2.0

Release Notes

<p>The psc-ns3 release 2.0, aligned with ns-3.30, provides the following new features and improvements:</p> <ul> <li>detailed off-network MCPTT model for D2D operation</li> <li>UAV mobility energy model</li> <li>HTTP application model</li> <li>enhanced D2D discovery models</li> <li>improved sidelink traces</li> <li>update sidelink message handling</li> <li>add IPv6 support to examples</li> </ul> <p>Some project enhancements were contributed to ns-3 LTE mainline:</p> <ul> <li>Enhanced EPC model allowing configuration of backhaul link type</li> <li>Radio Link Failure (RLF) model primarily for the RRC sublayer</li> <li>Fixes for X2 handover model</li> </ul>
Bakefile : Link


Works with ns-3.29

Build History : Public Safety Communications 1.0.2

Release Notes

<p>Update support for Python bindings</p>
Bakefile : Link


Works with ns-3.29

Build History : Public Safety Communications 1.0.1

Release Notes

<p>Align with final ns-3.29 release that incorporated some small 'lte' and 'spectrum' module changes and that improved build system robustness</p>
Bakefile : Link


Works with ns-3.29

Build History : Public Safety Communications 1.0

Release Notes

<ul> <li>D2D model integrated with LTE model</li> <li>Updated documentation, tests, and examples</li> <li>New psc module</li> </ul>


Works with ns-3.22

Build History : Public Safety Communications 0.1

Release Notes

<p>Initial release, for ns-3.22</p>
Bakefile : Link



  • cmake


  • pyviz-gtk3-prerequisites
  • cppyy

The Public Safety Communications repository is a self-contained ns-3 repository and follows the same installation process as the main release of ns-3.

**Installation support:** Due to limited resources, we will provide assistance only for issues related to the installation of this code. We recommend to experiment with and learn the standard version of ns-3 prior to installing this repository. Link: []( Users can get support for issues related to ns-3 installation from the ns-3-users Google Group. Link: []( Afterwards, the user can install this repository and report to us only the issues related to this repository's installation. **Bugs:** If you find a bug when running the provided scenarios, please report it, including detailed information about the scenario and error(s) observed,and how to reproduce. Please report issues to

**Enhancements:** We welcome contributions to this module. To do so, please make a pull request against the [psc-dev branch]( on the github repository. Please do not issue pull requests for new features against the release branches.

This ns-3 extension is a separately maintained fork.

Version v7.0

Released Jan. 12, 2024

Works with ns-3.40