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

Программист

Send message

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

Reading time5 min
Views3.1K

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

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

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

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

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

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

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

Приступим...
Total votes 6: ↑5 and ↓1+4
Comments0

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

Reading time8 min
Views3.5K

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

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

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

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments0

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

Reading time2 min
Views6.3K

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

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

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

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

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments6

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

Reading time7 min
Views14K

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

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

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

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments12

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

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

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

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

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

Опишем как же работает Autoprovisioning Plug & Play. В конце статьи ссылка на исходники небольшого PHP скрипта, реализующего функционал PnP сервера.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments4

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

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

Как это было


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

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

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

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

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

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

Под катом описан выбранный нами подход и итог разработки.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments9

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

Reading time10 min
Views22K
image

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


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


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

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments3

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

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

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

Мы решили использовать Telegram для оповещения о звонках. Получилась интересная связка программных продуктов Askozia + Telegram + 1C: Предприятие.
Под катом самое интересное...
Total votes 11: ↑10 and ↓1+9
Comments4

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

Reading time5 min
Views31K
Originate можно перевести с английского как «давать начало». Возможности команды весьма широки и не все очевидны. Originate, среди разработчиков CTI приложений — это одна из наиболее популярных команд AMI. Чаще ее используют для инициации исходящих вызовов и организации обратных звонков. В рамках данной статьи мы рассмотрим расширенные возможности.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments14

Information

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

Specialization

Fullstack Developer, 1C Developer
Lead
PHP
Linux
Bash