Difference between revisions of "High Level API specification Vodafone Proposal"

From PRPL
Jump to: navigation, search
Line 1: Line 1:
 
= Prpl High Level API Use Cases =
 
= Prpl High Level API Use Cases =
  
 +
__TOC__
  
 
== Wi-Fi ==
 
== Wi-Fi ==

Revision as of 14:47, 16 November 2017

Prpl High Level API Use Cases

Wi-Fi

Description

The WiFi part of the API enables the API consumer to configure the different radios and SSIDs of the managed device. In addition, the API consumer can also access the Guest WiFi settings.

APIs

  • Configure SSIDs per radio
  • Configure channels
  • Configure authentication
  • Configure guest SSID
  • WPS
  • Enable / Disable


Wi-Fi schedule

Description

The Wi-Fi schedule allows the API consumer to configure the slots during which the device’s main Wi-Fi will be active and inactive. This setting is universally applicable to all configured Wi-Fis and SSIDs.

APIs

  • Define schedules (start day(s) & time(s) + end day(s) & time(s))
  • Configure scheduler itself
  • Enabled / Disabled
  • Scheduled is: on or off (will the wifi be enabled or disabled during the defined schedules)


DNS

Description

The DNS settings allow the API consumer to configure the primary DNS servers used by the device. For more advanced usage scenarios, dynamic DNS services can also be configured by this part of the API.

APIs

  • Configure DNS servers
  • Configure alternative DDNS services


Firewall

Description

The Firewall settings are designed to give access to all network security related settings. Here the API consumer can configure the mode the firewall operates in as well as forwarding and port settings.

APIs


DHCP

Description

The DHCP settings are available for the API consumer to modify the DHCP settings of the device. These include enabling or disabling DHCP, configuring the range of IP addresses to be used as well as the configuration of some static IPs.

APIs

  • on / off
  • Configure range
  • Static IP configuration


Uplink configuration & statistics

Description

Under the uplink configuration and statistics section the API consumer will find network technology specific settings needed to configure the device’s uplink connection and retrieve connection related statistics such as up- and download in a given time frame. VPN settings can also be found in this section.

APIs

  • DSL settings
  • Cable settings
  • PPP, PPPoE, PPPoA
  • Public IP address
  • Data transferred
  • VPN
  • IPsec
  • OpenVPN


Network configuration

Description

In the network configuration settings the API consumer can manage LAN settings for both IPv4 & IPv6.

APIs

  • IPv4 & IPv6 connectivity
  • IPv6 Prefix configuration
  • input needed

Network device information

Description

This section of the API houses all information related to the devices connected to the network. It gives access to the current list of connected device and also enhances this list with more information regarding the status of the connection between the router and the device, the device’s friendly name as well as some statistical data about the devices network usage.

APIs

  • Network topology
  • Connected devices with MAC address, type of access (WiFi, Ethernet), etc
  • Connection status and signal strength
  • Device identification & naming
  • Device traffic & activity

SIP

Description

The SIP API gives the API consumer access to SIP server specific settings. This API can be used to configure the SIP credentials, the SIP service’s server configuration and the SIP codecs to use.

APIs

  • SIP credentials
  • Server configuration
  • Codecs configuration


Services

Description

The services API will host the different VAS found on the router. This can include services such UPnP, DLNA, mDNS or File Sharing via Samba or FTP. Any additional configurable service should be available to the API consumer through this API.

APIs

  • UPnP
  • Enable / Disable
  • Implementation specific settings
  • DLNA
  • Enable / Disable
  • Implementation specific settings
  • mDNS
  • Enable / Disable
  • Implementation specific settings
  • File sharing
  • Enable / Disable
  • Implementation specific settings

Router management

Description

Using the router management APIs the API consumer can perform maintenance tasks and configure remote access to the router. This API is also used to configure the different users present on the router or sync the users from the operator’s CRM with the router. Firmware upgrades and factory resets can also be initiated with this API alongside generic system information.

APIs

  • Router user management
  • Credentials
  • Login / Logout
  • Firmware
  • Version
  • Upgrade
  • Factory reset
  • SSH access
  • Enable / Disable
  • Statistics
  • CPU
  • RAM
  • Disk


Things to keep in mind aka TODO

  • Error handling
  • Error messages
  • Should every caller be able to specify a topic or object to be broadcasted via uBus on error?
  • Network troubleshooting
  • Lower the amount of calls to support center