.. This work is licensed under a Creative Commons Attribution 4.0 International License.

Policy Engine Platform
----------------------

Please note that the Policy Engine code contained in the policy/engine repository will be deprecated in Frankfurt.

Please refer to :ref:`policy-framework-doc` for the new Policy Framework Architecture that supports the new Policy Lifecycle API.

.. toctree::
   :maxdepth: 1

   architecture.rst
   offeredapis.rst
   policygui.rst

Policy Installation and Deployment
----------------------------------

.. toctree::
   :maxdepth: 1

   installationVM.rst
   installAmsterController.rst
   swarch_srm.rst
   deployment.rst
   aaf.rst

Policy Software Architecture
----------------------------

.. toctree::
   :maxdepth: 1

   swarch_pdp.rst
   swarch_pdpx.rst
   swarch_pap.rst
   swarch_brmsgw.rst

PDP-D Features
----------------------------

.. toctree::
   :maxdepth: 1

   feature_eelf.rst
   feature_testtransaction.rst
   feature_healthcheck.rst
   feature_sesspersist.rst
   feature_statemgmt.rst
   feature_activestdbymgmt.rst
   feature_locking.rst
   feature_pooling.rst
   feature_controllerlogging.rst
   feature_mdcfilters.rst


Policy Platform Tutorials
-------------------------

.. toctree::
   :maxdepth: 1

   cookbook.rst
   deployPDPPAP.rst
   guardpolicy.rst
   guardpdp.rst
   clsimulation.rst
   modAmsterTemplate.rst
   runningEclipse.rst
   tutorial_cl.rst
   tutorial_vDNS.rst
   tutorial_VOLTE.rst
   tutorial_vFW.rst
   tutorial_vCPE.rst
   modAAIdata.rst
   oofhpa.rst
   oofSpec.rst
   clc.rst
