You are here: Integration > External policy API > External policy and Pexip Infinity

Using the external policy server API with Pexip Infinity

Pexip Infinity's external policy API allows call policy decisions to be taken by an external system, based on the data sources that are available to that system. This allows Pexip Infinity administrators to implement routing decisions based on their specific requirements.

When external policy is enabled, rather than using its own database and systems to retrieve service and participant data, Pexip Infinity Conferencing Nodes send the external policy server a service request over a RESTful API (a GET request over HTTP or HTTPS) and the server should respond by returning the requested data to the Conferencing Node.

The policy API requests supported in Pexip Infinity version 13 are:

  • Service configuration: to obtain details of a service, typically when Pexip Infinity is receiving or placing a call, or showing the status of a conference alias.
  • Media location: to obtain the system location to use for media allocation for a conference participant.
  • Participant avatar: to obtain the image to display to represent a conference participant, for example in the participant list in the Infinity Connect client.
  • Directory information: to obtain phonebook directory information (currently this information is only used by Infinity Connect desktop clients and Android Infinity Connect Mobile clients that are registered to a Pexip Infinity Conferencing Node).
  • Registration alias: to determine whether a device alias is allowed to register to a Conferencing Node.

See Requests sent to the policy server API from Pexip Infinity for more information.

When a policy server has been configured, and a Conferencing Node needs to obtain data that is supported by external policy requests (such as service configuration information), the node will in the first instance always attempt to request information from the policy server associated with the location hosting that node. If the policy server does not return the expected service information e.g. the policy server cannot be reached, times out or returns invalid or incomplete data, Pexip Infinity will then attempt to obtain the relevant information from its own internal database (i.e. perform its standard behavior as when a policy server is not configured at all).

You can configure Pexip Infinity to use a different policy server per system location and you can enable or disable support for each individual request type. The requests can be subject to basic username and password authentication.

Configuring Pexip Infinity to use the external policy server API

You must configure Pexip Infinity with the details of one or more external policy servers to which it can send policy requests. You do this by configuring the addresses of one or more external policy server URLs and then associating each system location with one of those policy server URLs. This means that different locations can use different policy servers for scalability and routing efficiency, if required. For redundancy, you may also use a http load balancer in front of a pool of policy servers.

We recommend that each policy server uses the same underlying decision-making logic or database, so that consistent responses are returned. However, the policy servers can apply different rules on a per-location basis, if required, as the requesting location is one of the parameters passed to the policy server in policy requests.

To configure Pexip Infinity to use an external policy server:

  1. Go to Call control > Policy servers.
  2. Configure one or more policy servers, as appropriate, and select which types of policy requests are to be sent to the policy server. The options are:

    Option Description
    Name The name used to refer to this policy server in the Pexip Infinity Administrator interface.
    Description An optional description of the policy server.
    URL

    The URL of the policy server, for example https://policy.example.com/path.

    You can only configure one address URL per policy server.

    If the request is over HTTPS, Pexip Infinity must trust the certificate presented by the policy server.

    Username

    Password

    Optional fields where you can specify the credentials required to access the external policy server.
    Policy requests
    Enable avatar lookup If enabled, requests are sent to the policy server to fetch avatar images to represent directory contacts and conference participants.
    Enable service configuration lookup If enabled, requests are sent to the policy server to fetch service configuration data (VMRs, Virtual Receptions, Pexip Distributed Gateway calls etc).
    Enable media location lookup If enabled, requests are sent to the policy server to fetch the system location to use for media allocation.
    Enable directory lookup If enabled, requests are sent to the policy server to fetch directory information (that can be used by some Infinity Connect clients to display a phonebook).
    Enable registration policy If enabled, requests are sent to the policy server to determine whether a device alias is allowed to register to a Conferencing Node.
  3. Go to Platform configuration > Locations.
  4. Select each location in turn and specify the Policy server that the location should use when making policy decisions.

    You must ensure that each Conferencing Node in that location is able to reach the nominated policy server.