Skip to main content
Skip table of contents

Add the Voice Gateway node to the Kubernetes cluster

Below, you find the instructions on how to add the Voice Gateway node to the Kubernetes cluster.

All operations will be executed on VM1, unless an alternative is explicitly designated.

To install the Voice Gateway node, follow these steps:

  1. On VM3, clone the repository:

  • Replace {TAG_NAME} with one of available tags (to list all available tags, use git tag):

BASH
git clone https://github.com/aipix-dev/aipix-deploy.git
cd ./aipix-deploy
git checkout {TAG_NAME}
cd kubernetes/k8s-onprem/
  1. Install the Kubernetes base components:

CODE
./install_kube_base.sh
  1. On VM1, get a registration token and URL:

CODE
kubeadm token create --print-join-command
CODE
###Examle token:
kubeadm join 192.168.205.164:6443 --token 3yeqrm.abnp3yof8vivcbge --discovery-token-ca-cert-hash sha256:b58cfd679a3bb49f444dfe4869fad5e19f4fba87f1d6ae5f20da06c60f51684e
  1. Copy your token and apply it with sudo on VM3:

CODE
###Example:
sudo kubeadm join 192.168.205.164:6443 --token 3yeqrm.abnp3yof8vivcbge --discovery-token-ca-cert-hash sha256:b58cfd679a3bb49f444dfe4869fad5e19f4fba87f1d6ae5f20da06c60f51684e
  1. On VM1, check if the added node is with the Ready status:

CODE
kubectl get nodes
BASH
###Example output:
NAME                   STATUS   ROLES           AGE     VERSION
k8s-single             Ready    control-plane   9d      v1.28.2
k8s-single-analytics   Ready    <none>          3m28s   v1.28.2
k8s-single-vgw         Ready    <none>          1m14s   v1.28.2
  1. Label and taint the new node to be used only by Voice Gateway (replace the node kk8s-single-vgw name with your node name):

CODE
##Example:
kubectl taint nodes k8s-single-vgw vgw=true:NoSchedule
kubectl label nodes k8s-single-vgw vgw=true

Install an additional component on the Voice Gateway node

The Voice Gateway node necessitates an RTP proxy to route RTP traffic from the internet to internal intercom networks.

  1. On VM3, install a specific kernel module to improve RTP processing:

CODE
sudo add-apt-repository -y ppa:davidlublink/rtpengine-stable
sudo apt update
sudo apt-get install -y ngcp-rtpengine 
  1. Adjust RTPENGINE parameters.

    CODE
    vim /etc/rtpengine/rtpengine.conf

    Set internal and external interfaces (see the architectural diagram):

    CODE
    interface = internal/<INT_IP>;external/<EXT_IP>!<NAT_EXT_IP>

    Set an RTP port range:

    CODE
    port-min = 20000
    port-max = 25000
  2. Reload the service:

CODE
systemctl restart rtpengine
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.