ARI Proxy Control Protocol (APCoR) - skrusty/AsterNET-ARI-Proxy GitHub Wiki

APCoR Overview

Proposal for ARI Proxy Control over REST (APCoR). APCoR is designed to allow remote control of ARI Proxies.

Proposed Features

Stasis Application Control

One of the main functions of APCoR is to give a proxy controller the ability to control what applications a proxy is listening on. This gives the proxy controller the ability to change the proxy without manual config changes.

Important: Changes to the Application API are not stateful, and should be committed using the Config API when desired.

  • Allow remote control of which Stasis applications the proxy is registered to
  • Allow listing of applications the proxy is connected to
  • Allow control of dialogues for a given application

Read more

Config save/reload

Controlling the configuration via APCoR's would allow the proxy controller to decide when stateful actions (adding or removing stasis applications) are committed back to the proxies configuration file.

It would also allow for the proxy controller to be used for manually reloading the saved config file, where it may have been modified manually, for example where a configuration management tool is used.

  • Allow config reload
  • ? Allow ability to push changes back to config (e.g. registration of stasis applications)

Read more

Proxy shutdown

APCoR's gives control of the proxy process by allowing you to stop the process in one of two ways, terminate and terminate gracefully. Graceful termination allows the proxy to complete any existing dialogues without terminating active calls. This is useful when stopping an instance for upgrades, for example.

Important: Terminate gracefully doesn't prevent new dialogues from landing in the proxy. Your call distribution system (sip router etc) should provide that functionality.

  • Allow termination of proxy (now and graceful)

Implementation Guidelines