Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions en/data-retention/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ Data retention should be configured for heavy loaded production systems. Yeti ha


partition_remove_delay:
cdr.cdr: 120
auth_log.auth_log: 7
rtp_statistics.streams: 3
logs.api_requests: 90
cdr.cdr: 120 days
auth_log.auth_log: 7 days
rtp_statistics.rx_streams: 3 days
rtp_statistics.tx_streams: 3 days
logs.api_requests: 90 days


This configuration defines how many historical **partitions** should be saved in database for each table.

.. warning:: **cdr.cdr** table partitioned by months. So partition_remove_delay=120 means "save data for 120 months". All other tables are using per day partitioning.

Admin WEB interface views :ref:`CDR -> CDR Partitions <cdr_partitions>` and :ref:`Logs -> Log partitions <log_partitions>` allows to see currently exists partitions in CDRs and Routing databases.
Admin WEB interface views :ref:`CDR -> CDR Partitions <cdr_partitions>` and :ref:`Logs -> Log partitions <log_partitions>` allows to see existing partitions in CDRs and Routing databases.
26 changes: 12 additions & 14 deletions en/ldap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,25 @@
===================
LDAP Authentication
===================
Yeti's web-interface may use LDAP in order to authnticate users.
Yeti's web-interface may use LDAP in order to authenticate users.

Copy configuration from example file

.. code-block:: console

# cp /opt/yeti-web/config/ldap.yml.dist /opt/yeti-web/config/ldap.yml

and edit it

.. code-block:: console

production:
host: yeti-host.com
port: 389
ssl: false
attribute: uid
base: ou=employees,dc=yeti,dc=com
group_base: ou=groups,dc=yeti,dc=com
required_groups:
- ["member", "cn=yeti,ou=groups,dc=yeti,dc=com"]
and edit it::

production:
host: ldap-host.com
port: 389
ssl: false
attribute: uid
base: ou=employees,dc=yeti,dc=com
group_base: ou=groups,dc=yeti,dc=com
required_groups:
- ["member", "cn=yeti,ou=groups,dc=yeti,dc=com"]

* **host** - address of LDAP server
* **port** - port of LDAP server
Expand Down
68 changes: 19 additions & 49 deletions en/load-balancer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,25 @@
Load balancer
=============

Yeti load balancer acts as SIP proxy and allows to distribute incoming calls across multiple SEMS nodes.
Yeti load balancer acts as SIP proxy and allows to distribute incoming calls across multiple SEMS nodes. To implement load balancer you can use Kamailio or OpenSIP sip proxies with dispatcher module


Load balancer requirements
==========================


Load balancer should add headers to initial INVITE:

- **X-ORIG-IP** with original call originator IP
- **X-ORIG-PORT** with source port number of call originator
- **X-ORIG-PROTO** with protocol number: 1 for UDP, 2 for TCP and 3 for TLS

Load balancer should add **Record-Route** headers to modify SIP route-set and stay on signaling path.


Load balancer IP should be registered in :ref:`System->Load balancers <load_balancers>`.



SIP flow with load-balancer
===========================
Expand Down Expand Up @@ -34,51 +52,3 @@ SIP flow with load-balancer
N->>LB: ACK
LB->>O: ACK
Note over N: CDR writing



Packages installation
=====================

Install **kamailio** packages using system repository or https://deb.kamailio.org/ . Example kamailio configuration present at out yeti-lb repository: https://github.com/yeti-switch/yeti-lb/tree/master/src


.. warning:: You should register your Load balancer instance as trusted load balancer. See :ref:`System->Load balancers <load_balancers>` menu.


Launch
======

Launch load balancer:

.. code-block:: console

root@server:~# systemctl start kamailio

Checks
======

Check kamailio running and listening desired sockets:

.. code-block:: console

root@server:~# pgrep kamailio
30853
30854
30855
30856
30857
root@server:~# netstat -lpn | grep kamailio
tcp 0 0 127.0.0.1:5060 0.0.0.0:* LISTEN 30857/kamailio
udp 0 0 127.0.0.1:5060 0.0.0.0:* 30853/kamailio
raw 0 0 0.0.0.0:255 0.0.0.0:* 7 30853/kamailio
unix 2 [ ACC ] STREAM LISTENING 2673337 30856/kamailio /var/run/kamailio//kamailio_ctl

Check for /var/log/syslog on possible errors.

Also you can run daemon in foreground
with logging to stderr for debugging purposes:

.. code-block:: console

root@server:~# kamailio /etc/kamailio/kamailio.cfg
Loading