SD-Core Documentation
=====================

SD-Core is an ONF's 5G/LTE Core.  More information about SD-Core can be found at
the `ONF website <https://opennetworking.org/sd-core/>`_.


Getting Started with SD-Core
----------------------------
- Learn more about SD-Core

  - `SD-Core Website <https://opennetworking.org/sd-core/>`_
  - `SD-Core Whitepaper <https://opennetworking.org/wp-content/uploads/2021/07/SD-Core-Technical-White-Paper-FINAL-1.pdf>`_
  - `SD-Core Techinar <https://youtu.be/-eQzbSxXgSU>`_
  - `SD-Core Wiki <https://wiki.opennetworking.org/display/COM/SD-Core>`_

- Stay in touch by joining

  - `SD-Core mailing list <https://groups.google.com/a/opennetworking.org/g/sdcore-announce>`_
  - \#sdcore-dev channel in `ONF Community Slack <https://onf-community.slack.com>`_


Community
---------

Information about participating in the SD Core community and development process
can be found on the `ONF Wiki
<https://wiki.opennetworking.org/display/COM/SD-Core>`_.

.. toctree::
   :maxdepth: 2
   :caption: Overview
   :hidden:
   :glob:

   overview/introduction.rst
   overview/architecture.rst
   overview/3gpp-compliance-5g.rst
   overview/3gpp-compliance-4g.rst
   overview/faq.rst
   glossary.rst

.. toctree::
   :maxdepth: 2
   :caption: Configuration
   :hidden:
   :glob:

   configuration/config.rst

.. toctree::
   :maxdepth: 2
   :caption: Troubleshooting Guide
   :hidden:
   :glob:

   troubleshooting/flowchart.rst

.. toctree::
   :maxdepth: 2
   :caption: Developer Guide
   :hidden:
   :glob:

   developer/guide.rst
   developer/gnbsim.rst
   developer/testpod.rst


.. toctree::
   :maxdepth: 2
   :caption: Releases
   :hidden:
   :glob:

   release/1*
   release/process.rst

.. toctree::
   :maxdepth: 1
   :caption: Meta
   :hidden:
   :glob:

   readme
