Pull to refresh
64
0
Дмитриев Сергей @antirek

Пользователь

filebump — хостинг файлов по API / свой локальный upload.io

Reading time 3 min
Views 2.6K

У нас несколько сервисов, где пользователи загружают файлы, отправляют файлы, обмениваются файлами.

И делать в каждом сервисе свой сервер, где можно было бы получить ссылку на файл, передать через очередь, отправить, обработать - может быть не надо?

В одном сервисе - это загрузка аватарок, в другом - это различные пользовательские файлы, по сути в транзите, в третьем - это файлы, загружаемые для конфигурирования сервиса, используются время от времени.

В каждом сервисе надо было делать директорию для файлов, следить чтобы там было достаточно места, выставить права на запись, монтировать или синхронизировать с хранилищем по необходимости.

Поэтому появился filebump - простой http сервер, где мы можем загружать, хранить и скачивать файлы.

Читать далее
Total votes 7: ↑2 and ↓5 -3
Comments 10

Запись разговоров на мобильных

Reading time 7 min
Views 71K

Тут на МВидео выложили статью про 10 лучших приложений для записи звонков на смартфонах, а на 4pda выложили статью, что Гугл совсем запрещает запись звонков на Андроиде. Тема мне близка, т.к. недавно занимался разработкой приложения для записи звонков и все вышло не так как хотелось. Что и как - далее подробно.

* Цель статьи рассказать свой путь и принять обратную связь и ваши идеи, мысли, размышления.

Кто я? Что я? Я разработчик, занимаюсь разработкой сервиса виртуальной АТС для корпоративных клиентов. И, конечно, есть клиенты, у которых есть не только офисные работники, которым достаточно поставить стационарные SIP-телефоны или раздать в офисе/складе/магазине SIP-DECT-трубки.

В чем проблема?

Есть менеджеры "в полях". Которые весь день на объектах, в разъездах. И постоянно на созвоне. На созвоне с клиентами, партнерами, офисным бекендом. С точки зрения шефа эти менеджеры на мобильниках немного бесконтрольны. И хотелось бы знать с кем они разговаривают, как долго и о чем. Чисто хотя бы чтобы после разруливать конфликты проще было, кто что кому обещал или нет сделать. Обычно запись звонка, прослушанная обеими сторонами совместно, резко проясняет ситуацию. Хотя по разному бывает? )))

В общем, служебную запись звонков менеджеров в разъездах сделать не повредит.

Какие варианты решения? Разные операторы связи и виртуальных АТС предлагают для этих целей и FMC, и SIP-клиент, более продвинутые - ВАТС сразу с симками.

Какой еще есть вариант?

И, конечно, можно использовать приложение для записи. Для корпоративных клиентов есть облачные сервисы. Вы ставите на смартфон приложение, которое записывает звонок и передает его в облако. Затем вы смотрите в веб-интерфейсе отчеты по звонкам и слушаете записанные звонки со всех смартфонов подключенных к сервису. Удобно? Вполне.

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 63

Запись разговоров на астериск и их распознавание на Yandex.Speech

Reading time 3 min
Views 11K

Небольшой проект. Простая реализация. Заметка по диалплану астериск, командам консоли и АПИ распознавания Яндекса. Вы прочитаете и не наступите на мои грабли, я прочитаю через полгода-год и вспомню, что делал.

Задача: получать текстовое представление разговоров, записанных на астериске.

Читать далее
Total votes 2: ↑2 and ↓0 +2
Comments 3

Network diagram as code / Схема сети как код

Reading time 6 min
Views 13K
В последние пару лет стал больше заниматься документацией. Написать поясняющий текст о том, как работает та или иная система — в целом, это достаточно просто. Нарисовать схему, на которой будут отображены все ключевые объекты, связи между этими объектами, тоже вполне легко.

Но самый проблемный момент — это поддерживать эту документацию в актуальном состоянии. И ладно бы текст, но схемы… Т.к. вся документация онлайн, т.е. в формате html, то к тексту прилагаются картинки gif/jpeg/png, на которых собственно изображены схемы. А схемы рисуются в различных программах типа Visio или онлайн-сервисах а-ля draw.io. Затем экспортируешь схему в графический формат и прилагаешь к html. Все просто.

В чем проблема?
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 13

Замена Action URL & URI в SIP-телефонах или управление via websockets?

Reading time 4 min
Views 5.7K
SIP-телефоны. Компьютеры с трубкой. По идее с ними очень многое можно что делать, а их используют только для звонков :-)

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

Кто-то из вендоров улучшает качество звука, кто-то прикручивает планшет с андроидом, кто-то пробует добавлять какие-то приложения. И все для того, чтобы мы устанавливали эти телефоны на рабочие столы.

И может быть телефоны хорошие кандидаты на роль пульта в рамках мира IoT: нажал на кнопку — получил результат. И, на мой скромный взгляд, не хватает простого способа подключать телефоны к своему «Управлятору». В рамках этой статьи я хочу показать как это могло бы выглядеть по-простому на схеме и видео-демонстрации.

А вы в комментариях поделитесь, пожалуйста, что может быть где-то уже подобное реализовано или дополните своими предложениями и мыслями.
Total votes 5: ↑5 and ↓0 +5
Comments 13

Sonata — SIP provisioning server

Reading time 5 min
Views 5.5K

Не знаю с чем сравнить provisioning. Может быть с котом? Вроде можно и без него, но с ним немного лучше. Особенно, если он работает ))


Постановка проблемы:


  1. Хочу настраивать SIP-телефоны быстро, просто, безопасно. При установке телефона и уж тем более при его переконфигурировании.
  2. Многие вендоры имеют свои форматы конфигов, свои утилиты для генерации конфигов, свои способы защиты конфигов. А разбираться с каждым не очень хочется.
  3. Многие решения по provisioning, а) ориентированы на одного вендора или одну телефонную систему, б) достаточно громоздко реализуются, куча скриптов, параметров, бр-р...

По пункту 3 сделаю комментарий, что есть отличные системы провижна для FreePBX, для FusionPBX, для Kazoo, где в открытом доступе есть шаблоны для телефонов различных вендоров. Есть коммерческие решения, где также можно настроить в модуле провижна работу телефонов разных производителей, например, АТС Yeastar.


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

Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 5

Обзор SIP-телефонов Digium A20 и A25

Reading time 9 min
Views 3.1K

Digium A20, Digium A25


В феврале 2018 компания Digium, разработчик open-source проекта Asterisk, представила телефоны А серии, предназначенные для работы именно с Asterisk. Даже странно, что столько лет Digium воздерживался от производства под своим брендом обычных SIP-телефонов. А уже в августе 2018 компания Digium объявила о слиянии с Sangoma, ведущим производителем оборудования для Asterisk. Совпадение? Вряд ли, конечно.


Линейка телефонов серии А получилась, на мой взгляд, вполне конкурентной, со своими фишечками. Серия на текущий момента включает в себя четыре модели — A20, A22, A25, A30. Давайте посмотрим подробнее на телефон A20 — обычную лошадку начального уровня и А25 — телефон среднего уровня.


Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 11

Телеграм: отправка сообщений на номер мобильного в чат с ботом

Reading time 2 min
Views 66K

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


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


А нам это удобнее, т.к. номера мобильных у нас уже есть (у нас есть сотни абонентов, желающих получать уведомления :), а chat id еще найти надо, да еще и для каждого свой.


Решение: небольшой чат-бот.

Total votes 4: ↑4 and ↓0 +4
Comments 5

Просто ярлычок на сайте

Reading time 1 min
Views 2.4K
Знаете ведь, что есть такое маленькое дело, которое и делать-то недолго и просто, но вот почему-то оно висит недоделанное долго. И в определенный день решаешь, все, сегодня сделаю. И делаешь. И живешь спокойно дальше.


Так у меня было с ярлычком для сайта. Коллега предложил добавить на сайт небольшой яркий ярлычок, чтобы по нему кликали и переходили на страницу «Оставить заявку в техническую поддержку». Пользователи и раньше могли оставить заявку в техническую поддержку через эту страницу. И телефон указан. Но хотелось, чтобы был такой ярлычок всегда сбоку. И всегда под рукой.
Читать дальше →
Total votes 11: ↑4 and ↓7 -3
Comments 11

Ryo CDR: еще один asterisk CDR viewer

Reading time 3 min
Views 17K
Для астериска, наверное, только ленивый не писал cdr viewer. Таких решений полно: asterisk cdr viewer, agcdr,  asterisk cdr viewer mod (статья на Хабре), cdr-stats и еще много других, которых я не знаю.

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

Недолго поискав по гитхабу, я наткнулся на webcdr. Немного обработал его напильником: убрал лишнее, добавил http basic авторизацию и получил необходимый вариант cdr viewer'а. C привычным тетушке веб-интерфейсом в стиле Twitter Bootstrap. Тетушка довольна.

image

Далее немного деталей.

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

Asterisk: ngrep, sipgrep, sngrep, protocol diagram

Reading time 2 min
Views 25K
Это небольшая заметка о паре утилит, которые использую время от времени для работы с астериском (для отладки телефонии и просмотра SIP пакетов). Многие коллеги не знают о более простых утилитах, которые могли бы сэкономить минутку-другую рабочего времени.

Далее речь пойдет о ngrep, sipgrep, sngrep, js-sequence-diagrams
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 10

Asterisk: каждый звонок как прыгающий мячик

Reading time 2 min
Views 12K
В эти предпраздничные дни, когда отчасти должен проводить время на работе, но изменения в рабочие системы уже не вносятся, ибо «скоро праздники, кому нужны твои свежие баги?», можно заняться вырезанием звездочек и снежинок из бумаги и маленькими экспериментами.

В общем, мы с вами не раз слышали такое выражение: «мой звонок пинали как мячик от оператора к оператору, и в итоге отфутболили», а может даже сами когда-то такое сказали в сердцах. И подумалось, а ведь если представить звонок как скачуший мячик от стенке к стенке, а так как у нас несколько десятков звонков бывает на астериске одномоментно, то это должно выглядеть как минимум забавно.

Что получилось? Далее детали и небольшое видео.

image
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 3

Asterisk + LUA: быстрый старт

Reading time 6 min
Views 29K
За последний год на Хабре появилось несколько статей про использование диалплана lua в asterisk (раз, два, три, четыре). Это достаточно интересный способ написания гибких и мощных диалпланов. Но чтобы попробовать такой способ написания диалпланов надо потратить некоторое количество времени: установить нужные библиотеки, пересобрать с необходимыми опциям астериск.

Вдобавок у многих пользователей asterisk'а разный уровень подготовки: кто-то ближе к системному администрированию или даже к традиционной телефонии, чем к программированию. Плюс специфика телефонии — лучше лишний раз незнакомыми экспериментами не нагружать работающие системы, а проводить тесты и эксперименты на своем ноутбуке — приходится захламлять систему. В общем, есть немало причин «отложить на потом».

В данной статье я хочу показать всем желающим и работающим с астериском, как, используя docker, можно быстро ощутить вкус гибких сценариев lua. А уж затем решить стоит этим пользоваться дальше на практике или нет. (Кому неинтересно читать, а интересно смотреть и слушать — в конце текста 6-минутное видео с основными моментами и результатом.)


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

Быстрые помощники для вашего Asterisk'а

Reading time 5 min
Views 17K
Эта статья подводит промежуточный итог в разработке моих приложений для asterisk'а. Все началось в новогодние праздники, когда мне захотелось сделать быстрый голосовой набор на asterisk'е. Затем был реализован поиск направления по номеру звонящего (полезная штука для входящих на номера 8-800). Затем была пара заказных проектов. А недавно еще и LCR для asterisk. Все эти приложения разработаны с использованием библиотеки ding-dong, которая позволяет работать с AGI (Asterisk Gateway Interface) в node.js приложении.

Далее я хотел бы показать, что используя node.js и ding-dong, можно быстро разрабатывать полезные приложения для астериска.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 22

Маршрутизация по наименьшей стоимости (LCR) в Asterisk

Reading time 2 min
Views 12K
Тема актуальная. Для меня как для корпоративного телефониста лет пять-десять назад всегда была задача настроить функцию ARS на Panasonic TDA100/200/600 или LCR на LG LDK100/300. В общем, сделать так чтобы подешевле звонить было. Но времена меняются, и сейчас у многих компаний используется Asterisk, а я уже не настраиваю УПАТС Panasonic, LG и прочие.

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

Я хочу поделиться своим решением: вынести поиск оператора с наименьшей стоимостью заданного направления в стороннее приложение на node.js, с которым Астериск взаимодействует посредством AGI.


Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 10

Разработка архитектуры системы через сервисно-ресурсную модель

Reading time 5 min
Views 16K
Хочу предложить немного обсудить тему сервисно-ресурсной модели и спросить о необходимости разработки инструмента для использования сервисно-ресурсной модели в проектировании, разработке и дальнейшей эксплуатации систем.

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

Что хочу получить?

Хочу получить более прозрачную систему для охвата всей картины подшефного хозяйства, чтобы видеть узкие места, видеть зависимости одних частей системы от других, знать, что ssh на одном сервере крайне важен для «вон того маленького обработчика», который работает по ночам на другом сервере.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 19

Отправка смс через шлюз Openvox VoxStack

Reading time 2 min
Views 18K
Статья, вероятно, будет интересна только обладателям GSM шлюзов OpenVox линейки VoxStack, настоящим и потенциальным. Известно, что внутри этих шлюзов находится полноценный Asterisk. Который имеет дополнительные команды в AMI и CLI для отправки смсок.



[Фото из топика с хорошим описанием функционала этих GSM шлюзов]

Далее хочу представить вам две небольшие наработки на node.js, которые позволили мне сделать отправку смс через VoxStack более удобной.

Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 11

Астериск: маршрутизация по номеру звонящего и коду региона

Reading time 3 min
Views 17K
Информация далее, возможно, будет интересна тем, кто использует астериск, получает на него номер 8-800 и имеет абонентов в офисах, которые расположены в нескольких городах РФ.

Мое решение классической задачи астерискера-телефониста: бизнес хочет, чтобы на звонки Дальнего Востока отвечал офис во Владивостоке, звонки Урала и Сибири — офис в Новосибирске, а на все остальные — офис в Москве.

Можно воспользоваться вариантом, представленным ранее на Хабре в статье, но я решил сделать решение немного более универсальным. Далее детали реализации и видео-инструкция.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 13

Быстрый голосовой набор на Asterisk

Reading time 3 min
Views 24K
Статей по использованию сервисов распознавания речи в asterisk от Google и Яндекса на Хабре уже есть несколько. Но всегда хочется сделать что-нибудь свое и как-нибудь по-своему.

Так вот, хотелось сделать быстрый голосовой вызов абонентов из адресной книжки. Когда в организации работаешь с несколькими десятками человек, каждый день иногда забываешь и путаешь внутренние номера абонентов (а кнопок быстрого набора на всех не хватает). Поэтому просто надо, чтобы нажал кнопочку, сказал «Зина из третьего мобильный» и тебе отвечает Зина из третьего на своем мобильном.

Короткое видео с демонстрацией работы:


Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 15

Numcap — npm для определения оператора и региона по номеру телефона

Reading time 2 min
Views 23K
Тем, кто работает с телефонией, приложениями связанных со звонками и т.п. время от времени приходится сталкиваться с вопросами: «а можно определять с какого региона этот звонок?» и «а этот номер какого мобильного оператора?»

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

Но ведь можно автоматизировать этот поиск? Конечно. И многие аккуратно парсят этот CSV и складывают к себе в базу данных. А затем используют. Я тоже так делаю.

Но недавно с моим коллегой мы решили немного это упаковать и сделать npm для быстрого подключения ресурса нумерации к проекту на node.js.

Ссылка на гитхаб, ссылка на npm.

Далее немного деталей.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 14
1

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity