Как мы заново изобретали IP АТС Askozia, после того как проект был продан и закрыт разработчиком

    Как было все прекрасно до часа X


    Мы — небольшая команда разработчиков, которая много лет назад занималась разработкой и внедрением программ 1С. В далеком 2011 году мы хорошо знали программные продукты 1С, и не имели опыта в разработке собственных решений. На тот момент компании было 5 лет и заниматься классическим бизнесом 1С немного надоело, нужен был глоток свежего воздуха. И мы погрузились в мир IP телефонии, а конкретно в дебри Asterisk. Это офигенная платформа, со своим языком для написания диалпланов. Где-то мы это уже видели, платформа + конфигурации, все как в 1С :)

    Одна из самых популярных конфигураций для Asterisk на тот момент была, да и сейчас остается бесплатная FreePBX. По сути это веб-морда, написанная на PHP, которая выносит все настройки Asterisk в «удобный» веб интерфейс. Вам не надо знать ничего про команды диалплана Asterisk, все происходит под капотом.

    Мы установили себе этого монстра, и сделали свой первый успешный продукт, модуль интеграции программ 1С и Asterisk. Это была смесь из C++ кода в виде DLL и 1С кода для встраивания в 1С.

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



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

    Нам очень была нужна контролируемая нами сборка PBX на Asterisk, чтобы мы могли покрыть все тестами и гарантировать работоспособность наших продуктов, хотя бы с чем-нибудь конкретным.

    В какой-то момент мы нашли проект Askozia, от немецкой компании Plantel. Это была бесплатная АТС с небольшим, но достаточным функционалом для большинства наших клиентов. Мы наконец смогли собрать готовое коробочное решение, которое полностью работало после установки именно так, как мы этого хотели.



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

    Но, несмотря на все это, продукт зашел на рынок и хорошо продавался, мы выкупили домен Askozia.ru, сделали сайт, занимались маркетингом и дистрибуцией.

    Час X


    В августе 2017 года, я был в отпуске и был обрадован звонком с новостью: «Askozia была куплена компанией 3CX».



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

    Но спустя пару недель мы получили еще более веселую новость: «Проект Askozia PBX закрывается, продажи возможны до конца 2017, поддержка до конца 2018, все переходим на 3CX».

    В голове летает фраза: «Отлично, но как же мы?» У нас сайт, маркетинг, глубоко интегрированные разработки, налаженная схема работы, партнеры, которых мы обучили настройке Askozia и наших 1С интеграций… Все летело в трубу!

    Че делать?


    Возвращаться к FreePBX не хотелось, еще не зажили все шишки, которые мы набили. Askozia у нас отобрали и ни продавать, ни развивать ее точно не будут. 3CX — крутая платформа, но она не на Asterisk, и для работы с ней нам надо многое переделывать. Не вариант, ведь у нас сейчас много клиентов на FreePBX и Askozia и даже есть отчаянные ребята с чистым Asterisk, нужно продолжать развивать свои решения.

    А давайте сделаем свою Askozia


    Это же просто web-интерфейс, который пишет диалпланы. Да, за пару месяцев набросаем прототип, да за полгода сделаем MVP (то, что не стыдно показать людям). Мы же знаем Asterisk как свои 5 пальцев, мы знаем, что Askozia была построена на платформе t2sde (это про маленький встраиваемый Linux).

    Азарт был, но катастрофически не хватало времени. Чтобы его хоть немного выиграть, добились от ребят из Plantel возможности закупить текущих версий Askozia впрок, чтобы нам хватило до середины 2018. 

    Прошел 1 год


    Мы действительно смогли собрать прототип за 3 месяца, а спустя 5 месяцев с момента начала разработки заменили у себя в офисе Askozia от Plantel на свою. Но это были лишь первые 90% проекта :) 

    Самый первый релиз мы выпустили в сентябре 2018 (спустя год). Наша Askozia построена на все той же платформе t2sde, в сердце у нее Asterisk, за веб-интерфейс и внутренний API отвечает PHP фреймворк Phalcon, а в качестве дизайна веб-морды мы выбрали набор стилей Semantic-UI.
    Внешне получилось симпатично, внутренне-структурировано.



    По крайней мере, нам так кажется!

    В отличие от разработок на 1С, для нас Askozia — полностью самостоятельный продукт, написанный с 0 и построенный на собственной настроенной операционной системе. Во время разработки мы изучили кучу полезных инструментов: Jira, Bitbucket, Team City, Katalon Studio, SonarQube и всякие рекомендации по структурированию и написанию кода, по его оформлению, автоматической сборке и тестированию.

    А давайте кинем вызов FreePBX


    Такая мысль у меня возникла во время длинных новогодних праздников. Мне нравится FreePBX за его функциональность, огромное количество опций, за то, что он проверен на сотнях тысяч установках. Он полностью бесплатен. Любой может его скачать, развернуть, и сделать IP телефонию для своей компании. 

    Но у него есть и большой минус. Он имеет слишком много опций, его не так просто настроить, если ты делаешь это впервые. С ним сложно сделать интеграции, т.к. он постоянно обновляется, меняется версия Asterisk, которая добавляет новых опций для администратора и сомнительные дополнительные возможности для бизнеса.

    Это как микроволновка, в которой есть и гриль и мультиповар, и куча всяких программ, но реально 99% пользователей жмут на одну кнопку. 

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

    Зачем нужна Askozia, если есть облачные провайдеры


    Это конечно вопрос выбора. Я не люблю вендорлоков, я не люблю, когда у провайдера будет возможность слушать все наши разговоры, даже внутренние. Я не люблю платить абонентскую плату за каждых гигабайт хранения записей разговоров и за каждый дополнительно подключенный чужой номер, за API для интеграции в CRM или за каждого сотрудника.
    Облачные провайдеры — это комфортабельные автобусы, которые едут туда, куда нужно большинству, а своя АТС — это личный автомобиль, который едет именно туда, куда нужно вам.  Выбор за вами :) Несмотря на наличие большого числа облачных провайдеров, у Asterisk и FreePBX огромное количество пользователей, значит, у меня есть единомышленники!

    На чем зарабатывать, если Askozia бесплатная АТС


    Этот вопрос мне задают регулярно особенно коллеги. Некоторые крутят у виска. Вы потратили полтора года жизни на разработку продукта и отдаете его бесплатно? Да все именно так!

    Я изучал количество запросов Askozia в поисковой выдаче Google начиная с момента ее появления на рынке, и она очень активно прибавляла ровно до того момента, как ее сделали коммерческим продуктом, после этого интерес начал угасать. Это обидно, т.к. идея и проект мне показались очень интересным. Пусть живет! Посмотрим, что из этого получится спустя годы.
    В планах сделать английскую версию, и накрутить хвост FreePBX, по крайней мере, в том месте где для разогревания сосиски достаточно одной кнопки на микроволновке :) А после этого уже подумаем про монетизацию, платные модули и все такое.

    Как думаете, полетит?
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 35

      0
      Коля, а право на название «Аскозия» вам передали вместе со статусом дистрибьютора или были какие-то юридические действия?
      ps: имена с телефонами на скриншоте я бы изменил, а то приватность же ;)
        0
        В России торговая марка у нас. Имена с телефонами вымышленные, специально для скриншота, сделал, но я их еще и замазал :)
        +1
        Молодцы, ребята!
        Желаю, чтобы все удалось!
          0
          Пустишь на следующий Asterconf выступить и расказать про то как этот продукт развивается? :)
            0
            Вай, как говорится, нот?
          +1
          Очень хорошее решение, реально не хватает простых систем с возможностью править конфиги и не поломать веб управления.
          Возможно было бы лучше, если выложили исходники основной системы для получения pull request'тов и возможности создания открытых модулей.
          Из возможных платных модулей:
          1. web панель секретаря
          2. grpc\websocket api событий АТС
          3. модуль резервирования АТС
          4. реализация webrtc звонилки
            0
            До этого надо дорасти. Сейчас у нас 2 задачи, зацементировать базовый функционал, чтобы работало то, что уже заявлено, чтобы это было уднбно и интуитивно понятно.

            Вторая задача — это менеджер расширений с публикацией шаблона расширения и возможности и нам и сторонним разработчикам делать модули, не углубляясь в дебри всей системы.
            Как раз модули в перспективе и будут способом монетицазии, но пока надо хорошо сделать первую часть работы…
              +1
              Да этот принцип развития понятен, я описал просто то с чем сталкивался и чего зачастую не хватает в asterisk и то чтобы купил.
              По поводу менеджера расширений, интересно было бы если бы не было привязки к языку программирования, а например использование agi и вынос настроек в шаблон расширения.
                0

                Для AGI у нас есть механизм приложений диалпланов, который вынесен в Web интерфейс.


                  0
                  Я в курсе про данный функционал, иногда просматриваю ваши блог.Я тут именно уточнил что на разных языках, у меня например есть заготовки на go, но например настройки забиты в коде и просто так не поделишься.
            0
            ЗЫ не нашел «бесплатной» версии на сайте. Может не так искал ;)
            В письме на скачку приходит «AskoziaPBX — триальная версия телефонной системы»
              0
              Спасибо, это косяк в теме письма. Она не триальная, можете качать и ставить.
              0
              Сразу вопрос — как с каналами на h.323?
                0
                Мы как раз решили отсчь все лишнее. Поддержку старых протоколов не планируем. Для телефонов только SIP, для провайдеров только SIP и IAX. Всем, кому надо что-то сложнее, можно пойти покопаться в настройках FreePBX. Я хочу сделать продукт, который подойдет 85% всех пользователей и будет максимально простым и понятным. Из-за этого постоянно лупим себя по рукам, чтобы не добавить лишнего…
                  0
                  Жаль :(
                  Ну значит останусь на FreeePBX :)
                    0
                    А может все-таки дадите возможность ограниченно ручками в конфигах и каналах копаться — добавить драйверочек ooh323? ;)
                      0
                      В конфигах покопаться можно, они доступны через Web интерфейс. Посмотрите на демке, развернутой у нас. demo.askozia.ru/admin-cabinet/custom-files/index

                      Есть доступ к SSH, и можно подкинуть туда что угодно, но компилировать надо будет на чем нить с подобным ядром Linux, в самой Askozia ни менеджера пакетов, ни компилятора нет.
                  +2
                  Ещё один хороший зеленоградский продукт!
                    0

                    FreePBX — адский монстр, который почти невозможно интегрировать бесшовно с чем то новым, если на нем уже наросла какая либо кастомизация. Вообще в целом хорош он тем, что базовый функционал офисной АТС реализуется очень быстро, когда нужно развернуть телефонию или заменить погоревший TEM824 или TDA30(100). Когда хочется чего-либо не искоробочного — начинается боль.
                    Ваше начинание замены Askozia — поддерживаю, мне понравилась та, старая, Askozia, когда ее щупал лет 5-8 назад

                      0
                      Будем стараться сделать именно ту старую, которая была 6 лет назад, т.к. я сам ей восхищался :)
                      0
                      Freepbx в последних версиях двигается к классам и там все нормально совместимо с версиями до 2.4 включительно.
                      Можно узнать, что конкретно вас не устроило в freepbx?

                      А 3СХ редиски, да.
                        0
                        FreePBX отличная система и она реально выполняет свою функцию. Но она сложная для неспециалистов и она неконтролируемо для нас обновляется, вместе с версией Asterisk. Из-за этого мы имеем кучу проблем с нашими коммерческими продуктами. Считай каждое внедрение становится уникальным!
                        +1
                        FreePBX = Asterisk + Web-морда — это весьма поверхностное представление…

                        Вообще, рекомендую использовать ARI. При этом офисная АТС Астериск плавно превращается… превращается… в телефонный коммутатор общего назначения с полным ручным управлением вызовами.

                        Есть и свои минусы у Астера:
                        1. Нет возможности использовать несколько IP-адресов и портов для сигналки с выбором нужного для каждого соединения
                        2. Строгая аутентификация вызова сначала по callerid, а только затем по ip источника, из-за чего внутренние абоненты должны отличаться по формату от используемых АОН.
                        3. Очень долгий ответ на некоторые команды от астериска по ARI — вплоть до 250 мс…
                        4. Некоторые странности при работе, например принудительный отбой входящего плеча вызова, если, находясь в бридже с ним, исходящее плечо получает некоторые коды отбоя.
                        5. Придется забыть о факсах — прием и передача в ARI не реализованы никак.

                        Это снижает возможность использования Астера для предоставления услуг оператором большому количеству клиентов. Впрочем, его плюсы перевешивают. По крайней мере, моя платформа с он-лайн биллингом стабильно держит 350-400 одновременных вызовов со скоростью до 10 cps…
                          0
                          Мы периодически посматриваем на ARI, но пока я не увидел реального преимущества именно бизнес использования. Старый добрый AMI завернутый в HTTPS более универсальный. Кстати мы даже PJSIP не используем в текущей реализации, хотя у него есть интересные штуки, например возможность мультирегистрации.

                          Основная причина создания Askozia, это вернуть нишевой продукт, который решает поставленные перед ним задачи лучше чем что либо другое. Задачи использовать самое современное, новое, перспективное у нас пока не стояло…
                            +1
                            Факсы как-то делали и в AGI/AMI. Писал надстройку для астера по молодости. Пройдены и факсы, и не распознающиеся dtmf некоторых провайдеров сотовой связи, и т.п.

                            10к клиентов на одном астере — видели лет 15 назад. 400 вызовов по alaw, думаю, без проблем даже на домашнем железе.
                              0
                              Мы тоже делали факсы еще на 1.8 версии Asterisk через AMI. У нас даже ролик есть про отправку факса прямо из 1С :)
                              youtu.be/5ZuclVUtOuk
                                0
                                AMI и ARI разные вещи. Для программирования сервисов ARI гораздо проще и понятнее. Из AMI, насколько помню, нет доступа к бриджам астериска. В ARI факсов нет по причине — устаревшая технология, нет причин для реализации. Правда никто не запрещает совмещать и ARI и AMI.

                                400 вызовов и 400 вызовов со скоростью 10-20 cps- разные вещи. А если он-лайн биллинг, так нагрузка еще вдвое увеличивается. Стабильные 400 вызовов при 10 cps грузят 8 процов старенького сервера на 65% каждый.
                                При 1000 вызовов и 20-25 cps астериск уже принципиально не успевает обрабатывать команды за отведенные 5 сек, и это без учета оверхеда на биллинг (в который входят авторизация вызова в БД, запись сессии в БД, предроутинг, расчет стоимости и продолжительности вызова, построутинг, ежеминутная ретарификация вызова, фиксация завершения с параметрами в БД, конвертация записи в mp3, складирование записи, фиксация ее в БД), при том что БД располагается на другом мощном сервере.
                              0
                              Я бы акцентировал на торговой марке. Если в Европе и США она принадлежит 3CX, вам может знатно прилететь. Если не принадлежит, сами понимаете, надо регать по мадридскому соглашению и по-быстрее.

                              В остальном, удачи вам с вашей микроволновкой.
                                0
                                У 3CX есть права на торговую марку в ЕС. У нас в России, я пока не очень понимаю как все это работает, но в данном случае для нас не критично выпускать продукт именно под таким названием. Возможно постепенно мы его сменим. Пока задача сделать сам продукт… С патентным поверенным переписваемся, но понять всю эту хрень сложнее чем на ассемблере код писать :(
                                  0
                                  Если будете рекламироваться в Европе, есть вероятность, что будет предупреждение, а потом и засудить попробуют за нарушение торговой марки.
                                  Либо, обратное, захотят денег за использование их торговой марки в Европе.

                                  Вы лучше узнайте, отдадут ли вам торговую марку безвозмездно, например. Иначе или выкупать, или ждать окончания действия и надеяться, что не продлят (как с доменным именем).
                                0
                                Отдадут врядли, они ее еще и продлили на 10 лет в прошлом году. Но продукт под этой маркой они уже не выпускают.
                                Рекламировать бесплатный продукт мы пока не планировали… Но кто знает…
                                  0
                                  А платы E1 в SIP поддерживаються?
                                  Или как нибудь реализация?
                                    0
                                    Нет, в платы, драйвера мы не лезли. Не горим желанием пока этим заниматься, тем более можно решить через внешний шлюз, например Элтекс.
                                    0
                                    Интересно зачем оставлять в demo.askozia.ru рабочую кнопку выключения.
                                    Случайно вырубил)
                                      0
                                      Это виртуалка с копией дистрибутива. Она из снапшота восстанавливается каждые 2 часа. Но лучше не вырубать :)

                                    Only users with full accounts can post comments. Log in, please.