Redirect SIP Service (redirect)

Description

Redirects SIP requests to one of the current site’s SIP gates. Provides the ability to use a single IP address for devices connected to the site, increasing throughput.

Reserved and scaled in mode Active-Active.

Table 1. System Characteristics

Code

redirect

Mode of operation

Service

Backup mode

Active-Active

Types of sites

Any

Layer

Business logic

Placement

Frontier

Saving and restoring state on reboot

No

appendix

era_sip

Limitations

  • The role is only available in working domains

  • Is an edge role, uses a TLS certificate for HTTPS and WSS connections.

Parameters

Table 2. Parameters
Name Type Default Description

name

str

required

Name. May consist of Latin letters and numbers, must begin with a letter.

roletype

str

required

Role Type. Possible values: "redirect".

iface

str

required

The alias of the server network interface on which the roles will interact internally with each other.

ext

json

empty

Additional role options. Contains a json object or list.

enabled

bool

empty

Role activity flag. When set to false, the role does not participate in validation and is not started.

roleid

int

required

Role ID.
Unique for the entire system, regardless of the site or server. Cannot be changed.
Integer from 1 to 9999.

separate

bool

required

An indication that the role has been allocated to a separate node.

udp

int

required

Local UDP port for SIP. The same port handles both TCP.
For example: 5060.
Raises a UDP listener on group interface '0.0.0.0.0', or the interfaces specified by the parameter 'sip_ifaces'.

tcp

int

required

Local TCP port for SIP. If a value other than UDP is specified, it will be raised additionally.
For example: 5060.
Raises a TCP listener on group interface '0.0.0.0.0', or the interfaces specified by the parameter 'sip_ifaces'.

tls

int

empty

Local TLS port for SIP (1 - 65535). Does not open by default.
For example: 5061.
Raises a TLS listener on group interface '0.0.0.0.0', or the interfaces specified by the parameter 'sip_ifaces'.

wss

int

empty

WebSocketSecure local port for SIP (1 - 65535). Does not open by default.
For example: 5063.
Raises the WSS listener on group interface '0.0.0.0.0', or the interfaces specified by the parameter 'sip_ifaces'.

sip_internal_port

int

empty

Local port for SIP interaction with other system microservices (UDP/TCP).
For example: 6150.
Used for internal communication with other microservices of the system via protocol SIP.
Applies if a list of specific port listener interfaces is defined for the microservice ('sip_ifaces').
Raised only on the local interface of the node.
Should not be used by other microservices executing on the same server.

sip_ifaces

array<str>

[]

A list of server interfaces on which port listeners are raised.
Interface aliases are specified servers.
If no interface is specified, the specified ports are listened to on all interfaces (0.0.0.0).

For sg, esg, redirect roles executed on the same server, the same values can be specified as external ports (udp,tcp,tls,wss) if their list of listened interfaces do not overlap.

The original interface of the current node with port 'sip_internal_port' is always added to the list of listened interfaces, which should not be used by other microservices on the same server.

trn

bool

true

SIP protocol logging to log switch trn.

sipcode

int

305

Response code sent to UA for redirection. Possible values: 3xx. Default: 305 Use Proxy.

multicontact

bool

false

UA address list provisioning mode switch.
true – Providing UA with a random list of addresses of all instances of the sg role at the current site (selection is assigned to the UA).
false – providing UA with a single randomly selected address from the address list of all sg role instances at the current site.

gates

array<int>

empty

A list of roleid roles sg to which the redirect will be made.
Defaults to all instances at the current site.

expires

int

0

The lifetime to be substituted in the "Contact" field when forwarding, in seconds.
The device is expected to continue using the received contact address as the primary proxy for the specified time.

Configuration example

The configuration is managed in an application available to master domain administrators. The application hides the full content of the configuration, but it is nevertheless accessible via the API.

The configuration contains a section to describe all instances of all roles. Parameters are defined for each specific role instance.

Example node
{

  "name": "redirect1",
  "roletype": "redirect",
  "iface": "eth0",

  "roleid": 11430,
  "separate": true,
  "tcp": 5060,
  "udp": 5060,
  "tls": 5061,
  "wss": 5063,

  "certdir": "/var/lib/era/certificates",
  "keypass": "eb9c4458016d3f1e378d02004c4f4f50",
  "expires": 180,
  "multicontact": false,
  "sipcode": 302
}

See also