Search
Write a publication
Pull to refresh
23
0
Портнов Алексей Владимирович @boffart

Программист

Send message

Telegram inlineKeyboard. Оценка качества обслуживания после звонка

Reading time5 min
Views3.5K

Я занимаюсь разработкой АТС с открытым исходным кодом MikoPBX.

Недавно познакомился с проектом tg2sip. Шлюз позволяет подключить Telegram аккаунт к офисной АТС, принимать и совершать звонки.

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

При попытке реализовать функцию столкнулись со сложностями:

- Пользователь не может отправлять / пересылать клавиатуру другому пользователю

- Бот не может писать пользователю, если тот на него не подписан

Как же быть? Решение опишу под катом

Приступим...

MikoPBX на Aster conf, TTS скрипт для голосования

Reading time8 min
Views4.2K

Совсем недавно завершилась ежегодная конференция Asterconf. Нам посчастливилось в ней участвовать. На этот раз мы приготовили ряд мастер классов по настройке и кастомизации MikoPBX - бесплатной АТС с открытым исходным кодом.

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

Если заинтересовало, то под кат, подробно разберем пример реализации...

В конце статьи ссылка на видео с конференции...

Читать далее

Asterisk. Оповещение о записи разговора

Reading time2 min
Views6.8K

Последние несколько лет занимаюсь разработкой MikoPBX - простой в настойке АТС на базе Asterisk 16.

Недавно решили добавить функционал оповещения о записи разговора. Задачу сформулировали следующим образом:

Оповещение должно срабатывать однократно, сразу после соединения клиента с сотрудником компании. Оповещение должны слышать все участники звонка.

Способ реализации под катом.

Читать далее

Как мы переводили MIKOPBX с chan_sip на PJSIP

Reading time7 min
Views16K

MIKOPBX - это бесплатная АТС с открытым исходным кодом на базе Asterisk 16. Год назад мы взялись за переход на PJSIP. Основные причины:

- PJSIP поддерживает "множественную регистрацию"

- PJSIP более гибок в настройке

- chan_sip не развивается, объявлен deprecated в Asterisk 17

Читать далее

Askozia. Как работает Autoprovisioning Plug & Play

Reading time5 min
Views6.1K
При разработке АТС Askozia мы столкнулись с задачей по автоматической настройке телефонов и решили ее по-своему.

Autoprovisioning Plug & Play (PnP), эту технологию поддерживают многие производители — Yealink, Snom, Fanvil.

Основные достоинства автоматической настройки телефонов:

  • Облегчает первичную настройку — не требуется заходить в web интерфейс каждого устройства. Достаточно на сервере автонастройки указать соответствие MAC адреса устройства и акканута.
  • Упрощает поддержку — действительно становится легче при необходимости изменить настройки устройства. Управляем настройками опять же на сервере
  • Возможно свести настройку к набору старкода «*911*<SIP_ACC>» — в ряде случаев этой функции просто цены нет. Не каждый офисный работник сможет настроить IP телефон, а вот набрать комбинацию цифр задача простая.

Опишем как же работает Autoprovisioning Plug & Play. В конце статьи ссылка на исходники небольшого PHP скрипта, реализующего функционал PnP сервера.
Читать дальше →

Asterisk. Dialplan Askozia 6. Исходящие звонки

Reading time3 min
Views6.7K
В статье пойдет речь о бесплатной АТС Askozia версии 6. При разработке телефонной станции одной из первых задач была организация исходящих звонков.

Как это было


В старой версии Askozia использовались стандартные “шаблоны” dialplan.

  • X! — все номера телефонов
  • XXX — трехзначные цифровые номера
  • .! — абсолютно все номера телефонов

Схематично можно описать пример контекста:

[outgoing]
exten => _XXXXXX!,1,NoOp(Start outgoing calling...) 
	same => n,Dial…

Нам показался такой подход недостаточно гибким. Нет возможности описать следующее правило:

  • Номер начинается с 79
  • Далее следует либо 35 либо 26
  • Остальная часть номера состоит из 7 цифр

Под катом описан выбранный нами подход и итог разработки.
Читать дальше →

Разработка модулей FreePBX

Reading time10 min
Views23K
image

FreePBX — это наиболее популярный web интерфейс для настройки серверов на базе Asterisk. FreePBX — это гибкая, модульная система. Предлагает богатый функционал по настройке станций. Самое приятное — это проект с открытым исходным кодом.


На практике, часто возникает необходимость решить уникальную задачу, для которой не достаточно типовых возможностей FreePBX.


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

Читать дальше →

IP АТС Askozia и Push уведомления в Telegram

Reading time4 min
Views10K
Часть сотрудников нашей компании работает вне офиса: выезды к клиентам, работа в домашних условиях. Для связи с такими сотрудниками мы используем GSM шлюз, подключенный к нашей АТС Askozia. Любой вызов, поступивший от клиета, может быть переадресован на сотрудника “в поле”.

В таких условиях возникает не удобная ситуация: сотрудник, при входящем вызове видит номер SIM карты, а не номер клиента. Нет возможности оперативно перезвонить на пропущенный вызов.

Мы решили использовать Telegram для оповещения о звонках. Получилась интересная связка программных продуктов Askozia + Telegram + 1C: Предприятие.
Под катом самое интересное...

AMI. Разносторонний Originate. Применение в CTI приложении

Reading time5 min
Views32K
Originate можно перевести с английского как «давать начало». Возможности команды весьма широки и не все очевидны. Originate, среди разработчиков CTI приложений — это одна из наиболее популярных команд AMI. Чаще ее используют для инициации исходящих вызовов и организации обратных звонков. В рамках данной статьи мы рассмотрим расширенные возможности.
Читать дальше →

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, 1C Developer
Lead
PHP
Linux
Bash