• Автопровизионинг Yealink T19 + динамическая адресная книга

    Когда я пришел работать в эту компанию, у меня уже имелась некоторая база по ip аппаратам, нескольким серверам с asterisk и нашлепкой в виде FreeBPX. Кроме того параллельно работала аналоговая АТС Samsung IDCS500 и в общем-то была основной системой связи в компании, ip телефония работала только для отдела продаж. И все бы варилось так и дальше, но в один прекрасный день был дан указ переводить всех на IP телефонию, были оговорены сроки, закуплено оборудование и план по переводу предприятия в 21 век стал претворятся в жизнь.
    Первое что начинает беспокоить в такой ситуации, это быстро нарастающее кол-во телефонных аппаратов, которыми надо как-то управлять, второе, что сильно тревожило была телефонная книга. Если с первым нам мог помочь Endpoint Manager (который кстати выпилили из последних версий FreePBX), то вот с книгой возникали некоторые вопросы:

    • Во первых как обеспеспечить её точность при постоянной смене дислокации/текучести пользователей?
    • Во вторых, как полностью обезличить телефоны. И не заполнять каждый раз имя контакта?

    Задачка была интересная, решение не заставило себя долго ждать. Сейчас я приведу полный листинг, а потом разберем по порядку.
    Читать дальше →
    • +15
    • 2.3k
    • 2
  • Настройка FreePBX + GoIP

    В Интернете довольно много примеров настройки. Но ни один из них у меня не заработал как надо. Одной из проблем с которой я столкнулся было неправильное определение линии при входящем звонке. В свое время нигде не нашел мануал для решения этой проблемы. Поэтому решил выложить свою версию инструкции здесь. Заодно и шпаргалка для себя на будущее.

    Настройка GoIP


    «Configurations» — «Preferences»


    GSM шлюз находится в локальной сети без доступа в Интернет. Настроим NTP сервер в локальной сети для раздачи времени. При перезагрузке GSM шлюз синхронизируется и правильно показывает текущее время. Можете пропустить этот шаг, тогда придется вручную выставлять время на шлюзе. Если есть выход в Интернет, то укажите один из публичных NTP серверов.

    • В Time Server пропишем IP адрес NTP сервера.
    • Укажем часовой пояс, у меня Time Zone: GMT+6.
    • Отключим Auto Reboot. С последней версией прошивки проблемы с зависанием GSM шлюза не наблюдаются.
    • Отключим IVR.
    Читать дальше →
    • +11
    • 3.7k
    • 1
  • Как я сделал (почти) бесполезный стриминг вебкамеры на Javascript

    • Tutorial
    В статье я хочу поделиться своими попытками сделать стримминг видео через websockets без использования сторонних плагинов браузера типа Adobe Flash Player. Что из этого получилось читайте далее.
    Читать дальше →
  • Пример создания Makefile для Go-приложений

    • Translation
    • Tutorial
    В этом руководстве мы рассмотрим, как разработчик Go может использовать Makefile при разработке собственных приложений.

    image

    Что такое Makefile-ы?


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

    Его часто можно увидеть в корневом каталоге множества Go приложений на Github и Gitlab. Он широко используются в качестве инструмента для автоматизации задач, которые часто сопровождают разработчиков.

    Если вы используете Go для создания веб-сервисов, то Makefile поможет решить следующие задачи:

    • Автоматизация вызова простых команд, таких как: compile, start, stop, watch и т. д.
    • Управление специфичными для проекта переменными окружения. Он должен подключать файл .env.
    • Режим разработки, который автоматически компилируется при изменении.
    • Режим разработки, который показывает ошибки компиляции.
    • Определение GOPATH для конкретного проекта, чтобы мы могли хранить зависимости в папке vendor.
    • Упрощенный мониторинг файлов, например, make watch run = «go test. / ...»
    Читать дальше →
    • +26
    • 5.9k
    • 4
  • ISPsystem, прости и прощай! Почему и как мы написали свою панель управления серверами

      image

      Привет! Мы «Хостинг технологии» и 5 лет назад запустили VDSina — первый vds хостинг, созданный специально для разработчиков. Мы стремимся сделать его удобным, как DigitalOcean, но с русской поддержкой, способами оплаты и серверами в России. Но DigitalOcean это не только надежность и цена, это еще и сервис.

      Софт от ISPsystem оказался веревкой, которая связывала нам руки на пути к крутому сервису. Три года назад мы использовали биллинг Billmanager и панель управления серверами VMmanager и быстро поняли, что оказывать хороший сервис без своей панели практически нереально.
      И вот почему
    • Кругом враги. Как параноику планировать свою работу

        Казалось бы, что сложного может быть в планировании своей работы? Берёшь листок бумаги, записываешь на нём задачи, делаешь — всё просто. Но в реальности планирование почему-то не работает «из коробки».



        Приходит вот такой страшный зверь и самым наглым образом всё портит. Каждый из вас пробовал что-нибудь планировать и знает, о чем речь. То есть планировать можно сколько угодно, обещать выпустить проект за 2 месяца, а делать его полгода и так далее.

        Сейчас расскажу, почему так происходит. А главное — какие из «250 способов все успевать» работают и за счет каких механизмов нашего мозга.
        Читать дальше →
      • Темный день для Vue.js

        • Translation

        Сегодня я был изумлен тем, как обычно позитивное и дружелюбное сообщество Vue.js скатилось в печальное противостояние. Две недели назад создатель Vue Эван Ю опубликовал предложение (RFC) с новым функциональным API для компонентов в грядущем Vue 3.0. Сегодня критическое обсуждение на Reddit и аналогичные комментарии на Hacker News вызвали наплыв разработчиков в изначальный RFC с возмущениями, порой даже чересчур резкими.

        Читать дальше →
      • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом


          Кажется, мне довелось сделать десятки презентаций для коллег, заказчиков и публичных выступлений за мою карьеру в IT. Многие годы Powerpoint как средство изготовления слайдов оставался для меня естественным и надёжным выбором. Но в этом году ситуация качественно изменилась. С февраля по май мне довелось выступить на пяти конференциях, и слайды к докладам надо было готовить в сжатые сроки, но качественно. Встал вопрос о делегировании той части работы, что касается визуального дизайна слайдов, другим людям. Как-то раз я попытался работать с дизайнером, пересылая файлы .pptx по почте, но работа превратилась в хаос: никто не знал, какая версия слайдов «самая новая», а вёрстка «ехала» по причине различия версий Powerpoint и шрифтов на наших машинах. И я решил попробовать что-то новое. Попробовал, и с тех пор не думаю возвращаться к Powerpoint.

          Читать дальше →
        • Системы мониторинга трафика в сетях VoIP. Часть вторая — принципы организации

            Здравствуйте, коллеги!

            В предыдущем материале мы познакомились с таким полезным и, как можно заметить, достаточно необходимым элементом VoIP-инфраструктуры, как система мониторинга трафика или, для краткости, СМТ. Узнали, что это такое, какие задачи решает, а также отметили наиболее ярких представителей, представленных разработчиками миру ИТ. В данной части рассмотрим принципы, согласно которым осуществляется внедрение СМТ в ИТ-инфраструктуру и мониторинг трафика VoIP её средствами.

            Читать дальше →
          • Советские мечты о будущем



              Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
              Читать дальше →
            • Встань и иди. Операции на позвоночнике: когда делать, чем опасно

                ТОП3 мифов про больную спину, которые мешают людям раз и навсегда решить свою проблему.

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

                Читать дальше →
              • Облачная касса, мой скромный опыт

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

                Ниже приведен мой небольшой опыт по поднятию интернет-магазина с приемом оплаты согласно законодательству. Делать это после вступления в силу 54 Федерального Закона стало прилично сложнее и затратнее. Я не настоящий бизнесмен, а инженер. Поэтому, все повествуется с точки зрения инженера, с приличным слоем автобиографичности.
                Читать дальше →
              • Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

                  Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.

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

                  Читать дальше →
                  • +55
                  • 22.4k
                  • 9
                • Оптимизация node.js приложения

                    Дано: старое http node.js приложение и возросшая нагрузка на него.

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

                    Давайте попробуем пойти путем оптимизации и разобраться, как можно найти и улучшить слабые места приложения. А быть может ускориться не трогая ни строчки кода :)

                    Всех заинтересованных добро пожаловать под кат!
                    Читать дальше →
                  • Слава богу, что я не менеджер

                      Я довольно давно работаю DBA + database performance expert + еще много чего в одной крупной компании. Работа очень комфортная, но какое-то время я переживал из-за того, что моя позиция тупиковая. Расти по карьерной лестнице мне решительно невозможно: я единственный человек в российском офисе, который подчиняется Америке напрямую. Все остальные здесь – разработка.

                      Так как я в России, меня никогда не сделают менеджером, потому что я далеко, потому что я в другой временной зоне, и вообще, эти russian hackers... Но теперь добавилась еще одна причина – я не хочу этого. Почему? Достаточно посмотреть Scheduling Assistant в Outlook на расписание американских менеджеров:


                      Читать дальше →
                    • Своя временная почта: телеграм бот

                      Часто с новыми инструментами и возможностями появляется желание поэкспериментировать и реализовать что-то не совсем обычное, чего раньше ещё никогда не делал. Идея создать свой сервис временной почты в виде телеграм бота показалась мне достаточно интересной.
                      Читать дальше →
                    • Sonata — SIP provisioning server

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


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


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

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


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

                        Читать дальше →
                      • Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий

                        • Translation
                        Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас.

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

                        image

                        В этой статье мы поговорим о применении современных технологий при разработке веб-приложений, возможности которых не ограничены возможностями фреймворков. Кстати, если вам это нужно, то вы, с использованием описываемых здесь технологий, сможете создать собственный узкоспециализированный фреймворк. Чистый JavaScript и другие базовые веб-технологии дают разработчикам возможность делать то, что им нужно, не ограничивая себя рамками применяемых ими инструментов.
                        Читать дальше →
                        • +27
                        • 17.7k
                        • 9
                      • REST? Возьмите тупой JSON-RPC

                          В последнее время на Хабре разгорелось много споров по поводу того, как правильно готовить REST API.

                          Вместо того, чтобы бушевать в комментариях, подумайте: а нужен ли вам REST вообще?
                          Что это — осознанный выбор или привычка?

                          Возможно, именно вашему проекту RPC-like API подойдет лучше?
                          Читать дальше →
                        • WebRTC на своем сайте — без багов и бюджета

                            Технология WebRTC существует давно и поддерживается практически всеми браузерами (97% по нашему опыту). Многие задумываются установить и себе виджет WebRTC для связи с клиентами и повышения конверсии.



                            Как добавить себе на сайт WebRTC звонки без лишних затрат и обойти баги с граблями,
                            Читать дальше →