30.07.2021

Front End.

Для создания телефонных проектов частно нужен веб интерфейс, скажем сейчас я даже не знаю ни одного проекта без предоставления веб-интерфейса. Все знают что есть фреймворки, и простые вещи такие как показать таблички из одной базы, что-то загрузить что-то отфильтровать – просто. Сложности начинаются когда надо действительно внедрить что-то что вы не знаете как делать силами фреймворка, а знать фреймворк хорошо это быть полноценным веб разработчиком. На этом этапе нам не нужно быть веб-разработчиками, но мы должны давать клиента хорошего качества вебстраницу на которой он сможет управлять своими телефонными сервисами.

Итак, я остановился, на том, что в проектах буду использовать:

Это простые системы, хорошо задокументированные. При помощи них легко создавать страницы для управления таблицами, загрузками или выгрузкой файлов и даже рисовать графики.

А шаблонизатор smarty позволяет разделить код и дизайн, чтобы фрон-энд разработчик в дальнейшем смог, делать любой дизайн.

Примеры:

26.07.2021

To deploy some Voip service

  • What server you want to use:
    • Standalone (physically server)
    • Dedicated Server
    • Virtual Machine (AWS,GCP,DO and so on)
  • Do you have requirements for OS and related software:
    • Debian\Centos\Ubuntu
    • Mysql/PostgreSQL
  • What Voip trunk you have or how you have connected to voice services:
    • I have two trunks with a-z routes and cheap prices.
  • What amount of calls you expect
    • normal: less 5cps, less: 100 concurrent channels,
    • high load: less 20 cps, less 1000 cc,
    • highest unlimited cps, unlimited cc,

29.05.2021

opensips realtime failover HA example with keepalive.

статья присутствует на испанском.

| Posted in opensips | No Comments »
5.05.2021

freepbx 15 automatic sync for high availability. part 1.

Part 1
main aim is using internal features of freepbx to make sync between two PBXs. Automatic sync will be made by back&restore feature in FREEPBX.

STEP: 1. add asterisk public key from master FREEPBX to backup server. master public key for asterisk user you can find in menu “Backup&Restore -> Global Setting”

Master asterisk public key

Copy this key to /home/asterisk/.ssh/authorized_keys at Backup machine.

STEP: 2. Add new filestore with SSH connect to backup server

Create filestore with ssh access to backup server

STEP: 3. example of ssh parameters for ssh connect

STEP 4: create new backup in menu “Backup&Restore”. use any modules you need and set crontime you wish. for example i will be use one time per day. Better you set “Delete After Runs” 1 so only 1 file will be in backup server.

Now run it and check if new file with backup created in /home/asterisk dir at backup server.

STEP5: add cronjob at backup: something like that: crontab -u asterisk -e
0 1 * * * fwconsole backup –restore /home/asterisk/*.tar.gz

22.04.2021

Аренда серверов со скидками

Мы предоставляем в аренду полноценные виртуальные АТС (freepbx\Issabel\FusionPBX) по запросу на электронный адрес.

  • для тестов 500 рублей\мес. (2 cpu\2 гб\20Гб HDD\external ip\domain 3 level),
  • для работы 1500 рублей\мес. (2 cpu\4 гб\60Гб HDD\external ip\domain 3 level),
  • для работы 3500 рублей\мес. (4 cpu\4 гб\120Гб HDD\external ip\domain 2 level),

Скидки у партнеров: для краткосрочной аренды и проведение тестов самое оно!

21.04.2021

Kamailio and Opensips

This is the list of completed solutions based on Kamailio\opensips.

KAMAILIO:

WEBRTC2SIP server – using kamailio + rtpengine, makes possible to use webphone based on webrtc to using common SIP servers

  • transfer between SIP and WEBRTC protocols and vice versa.
  • transconding g729 to g711

LoadBalancer – using only kamailio without DBs, makes loadbalancing between asterisks servers.

SBC – using kamailio and sql DBs for manage incoming traffic to asterisk, placed before asterisk on same PC.

  • insert custom headers
  • block hackers traffic
  • manage CPS and monitoring tools
  • control PDD of calls

OPENSIPS:

Redirect server – working with billing software JERA. Makes simultaneously outbound calls based on redirect messages from billing.

  • control CPS for customers
  • block unwanted traffic
  • monitoring online calls with custom dashboard
  • make CDRs for insert into billing

Failover server – makes possible to switch between 2 opensips servers without loosing online calls.

12.04.2021

install opensips 3.1 + opensips control panel

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 049AD65B
echo "deb https://apt.opensips.org focal 3.1-releases" >/etc/apt/sources.list.d/opensips.list
echo "deb https://apt.opensips.org focal cli-nightly" >/etc/apt/sources.list.d/opensips-cli.list

apt-get update && apt-get upgrade

apt-get install opensips
apt-get install apache2 libapache2-mod-php php-curl opensips-http-modules -y

echo '
<Directory /var/www/html/opensips-cp/web>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
</Directory>
<Directory /var/www/html/opensips-cp>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all denied
</Directory>
Alias /cp /var/www/html/opensips-cp/web

<DirectoryMatch "/var/www/html/opensips-cp/web/tools/.*/.*/(template|custom_actions|lib)/">
    Require all denied
</DirectoryMatch>

' > /etc/apache2/sites-enabled/opensips-cp.conf

mkdir /var/www/html/opensips-cp 

cp -r opensips-cp-8.3.1/* /var/www/html/opensips-cp

chown -R www-data:www-data /var/www/html/opensips-cp/
apt-get install php php-mysql php-gd php-pear php-cli php-apcu -y

systemctl restart apache2

#add into opensips.conf 
#–--
loadmodule "httpd.so"
loadmodule "mi_http.so"
modparam("mi_http", "root", "mi")
#–--

add file opensips-cli.conf
#–--
[default]
#database_modules: acc clusterer dialog dialplan dispatcher domain rtpproxy usrloc
database_modules: ALL

#database_admin_url: postgres://root@localhost
database_admin_url: mysql://root:phefubuho@127.0.0.1
database_url: mysql://root:phefubuho@127.0.0.1
###–-

| Posted in opensips | No Comments »
12.03.2021

183 ringback. OPensips + Rtpproxy.

Задача подменить КПВ идущее от провайдера на 10 секунд, далее прокидывать КПВ от провайдера. Задача решается при помощи opensips 3.1 + rtpproxy 2.1 и минимальной конфигурацией.

rtpproxy прекрасно компилируется на базу Ubuntu 20
opensips 3.1 устанавливается из репозиториев с конфигурацией по умолчанию
для проигрывания своего приветсвия необходимо сделать 2 вещи:

а) подключить rtpproxy и использовать rtpproxy_stream2uac функцию. Пример находится в репозитории.

б) для rtpproxy приветствия необходимо подготовить в нужном формате при помощи makeann (создается после компиляции).

репозиторий с примером конфига.

Схема решения:

client -> opensips -> carrier.