• Павел 2.0: консультант-рептилоид на JS, node.js с сокетами и телефонией

      Вот и отгремел наш INTERCOM’18, c преферансом и бизнес-кейсами. Как обычно, вход на коференцию был платным: желающие могли купить билеты на TimePad по полной цене, либо… получить скидку у консультанта-рептилоида прямо на сайте. В прошлом году это работало как привычный коллбэк: вы оставляете телефон в специальной форме, Павел звонит вам через минуту и задает вопросы; чем больше правильных ответов, тем выше скидка. В этот раз мы решили поменять механику, сделав ее сложнее как технически, так и в плане вопросов. Под катом – кишки Павлика 2.0, с текущей нодой и веб-сокетами, не забудьте надеть спецодежду перед вскрытием.

      Читать дальше →
    • Скоро половина звонков будет от роботов. Совет: не отвечайте (?)

      • Перевод
      Сегодня у нас необычный материал – это перевод статьи про нелегальные автоматические обзвоны в США. Испокон веков находились люди, кто использовал технологии не во благо, а чтобы обманным путем нажиться на доверчивых гражданах. Современные телекоммуникации не исключение, спам или откровенные «разводы» могут настигнуть нас по СМС, в почте, по телефону. С телефонами стало еще веселее, так как сегодня существуют автоматические звонки (далее – робозвонки). Придуманные как легитимный и прозрачный способ информировать людей и делать доп.продажи, они очень полюбились аферистам; если нормальные робозвонки происходят по согласию сторон и сами клиентские номера телефонов получены легальным способом, то нелегальные звонки как минимум тревожат людей попусту, как максимум – крадут данные и деньги. Мы придумали Smartcalls.io, «корпорация добра» ваяет Google Duplex, и т.д. – высокотехнологичные инструменты приближают киберпанк со скоростью света, потому что скоро мы уже не сможем понимать, кто с нами говорит, робот или человек. В этом кроются большие возможности и таких же размеров неприятности. Наша компания категорически против любых незаконных действий и верит, что технологии должны помогать как бизнесу, так и клиентам на компромиссной основе. Увы, такие ценности разделяют не все, поэтому под катом вы узнаете про рекордный штраф за нелегальный обзвон, статистику по звонкам в США, инструменты борьбы с такими звонками и, конечно же, рекомендации, как себя вести. Потому что предупрежден – значит вооружен.


      Читать дальше →
    • Go против Excel на сотни тысяч строк

        В этом году мы уже писали на Хабре про наш проект SmartCalls.io – визуальный конструктор звонков, созданный для бизнес-пользователей. Проект решает задачу бизнеса по массовым обзвонам клиентов: создается визуальный сценарий звонка, загружается Excel-файл с номерами телефонов и далее создается кампания по обзвону. Запускается кампания – начинается обзвон клиентов; в любой момент можно смотреть статистику, приостанавливать кампанию, подкручивать настройки. Клиенты были довольны, пока не выяснилось, что иногда надо обзванивать не просто много людей, а ОЧЕНЬ, ОЧЕНЬ много. Под катом – суть проблемы и как мы ее победили с помощью хайпового (не безосновательно) языка программирования.

        Читать дальше →
      • ВелоSIPеды и разговор облачных телефоний друг с другом


          Если телеком-оператор связи себя уважает, то он поддерживает SIP и точка. Процесс «абонент А звонит абоненту Б» проще реализовать, если телефония/asterisk/freeswitch взаимодействуют единообразно, по стандарту. Для полноты картины вспомним и про «железные» телефоны, которые – сюрприз – еще не канули в Лету, потому что их использует энтерпрайз. Однако работа с этим протоколом – не самое простое, что есть в телефонии. Сегодня я расскажу, как в нашей платформе реализован SIP и какие нюансы ждут разработчиков; даже если вы не телеком-разработчик, под катом вы узнаете, как взаимодействуют платформы вроде сотовых операторов или нашего Voximplant.
          Читать дальше →
        • Микрофоны, скриншаринг и локальное видео: как Voximplant Web SDK управляет медиа в браузере


            Сегодня я раскажу про модуль Hardware в Voximplant Web SDK. Этот модуль пришел на смену старой системе управления аудио- и видеоустройствами. Но сначала – немного об управлении устройствами в WebRTC-стеке и зачем все это нужно.

            Редко, но у конечных пользователей бывает несколько микрофонов. Или бывает несколько динамиков: например обычные динамики и bluetooth-наушники; или динамик телефона и громкая связь для смартфона.

            А вот две камеры в современном мире бывают очень часто. На планшетах и телефонах: обычная и фронтальная. На ноутбуках: встроенная и получше внешняя. И так далее и тому подобное. Пользователь может сильно растроиться, если по дефолту будет выбран не тот набор устройств и он никак не сможет их изменить. Это первое применение управлению медиа в WebRTC.

            Второе применение — это тонкие настройки аудио и видео. Всякие эхоподавления, шумоподавления, установка разрешения видео, фреймрейта, баланс белого и прочего, что конкретно ваш браузер поддерживает.
            Читать дальше →
          • Стриминг видео через браузер со сверхнизкими задержками (и WebRTC!)

            • Перевод

            Пока первые early adopters примеряют в свои проекты наши новые видеоконференции (до 100 человек!) мы продолжаем рассказывать об интересном из мира передачи голоса и видео с участием браузера. Про видеоконференции тоже расскажем, но позже — когда накопится критическая масса пользователей и соберется интересная статистика. А сейчас я перевел и адаптировал для нас рассказ Dr. Alex о месте разных протоколов при передаче видео с низкими задержками. Рассказ по сути является ответом на другую статью, и автор вместе с рассказом указывает на ошибки и неточности, которые допустили его коллеги по цеху.
            Читать дальше →
          • Какие видеокодеки (не) используют браузеры для видеозвонков

            • Перевод

            Типичный запрос в техподдержку Voximplant: «Почему видеозвонок между двумя Chrome выглядит лучше, чем видеозвонок между MS Edge и нативным iOS-приложением»? Коллеги обычно отвечают нейтральное — «потому что кодеки». Но мы, айтишники, любопытны. Даже если я не разрабатываю новый Skype-for-web, чтение «какой браузер что может» и как они разбивают одно видео на несколько потоков разного качества обогащает картину мира и дает свежую тему для обсуждения в курилке. Удачно подвернувшаяся статья от широко известного в узких кругах Dr Alex (с лучшим объяснением термина «media engine» из всех, что я видел), немного нашего опыта, пара вечеров в «Циферблате» — и адаптированный для Хабра перевод ждет под катом!
            Читать дальше →
            • +37
            • 5,1k
            • 6
          • Нам обещают видео в реальном времени без фризов и дерганий

            • Перевод

            Каждый раз, запуская Skype, Zoom или Hangouts, я с интересом жду свежую порцию косяков с видео и звуком. Технологии редко меня разочаровывают: квакание, фоновые шумы, пропадание голоса, распадение видео на «квадратики», замороженные кадры и другие радости видеоконференций преследуют видеозвонки, сколько я себя помню. Интерес во многом профессиональный: кроме программируемой телефонии для обычных телефонов, веб-страниц и мобильных приложений, мы в Voximplant отгружаем разработчикам видео. Хочется Full HD, в реальном времени, без фризов, в любом браузере и конференция человек на 50. Что интересно, в лабораторных условиях оно именно так и работает. А вот в каком-нибудь парке на 3G видеоконсультация с доктором может превратиться в пошаговую стратегию: пакеты-то теряются! Современный стек технологий пока не позволяет на равных бороться с «мигающим» интернетом, но исследования постоянно ведутся. Под катом — адаптированный для Хабра перевод про Salsify: сплава видеокодека и сетевого протокола, минимизирующего проблемы при передаче видео в реальном времени.
            Читать дальше →
          • Как отлаживать WebRTC

            • Перевод
            В Voximplant мы используем WebRTC с момента ее появления: сначала как альтернативу Flash для голосовых и видеозвонков, а затем как полную замену. Технология прошла долгий и болезненный путь развития, только недавно ее стали поддерживать все основные браузеры, есть сложности с передачей экрана, нескольких видеопотоков, а иногда браузер падает просто если выключить и включить видеопоток. Накопленный опыт позволяет переводить для Хабра интересные статьи, и сегодня мы передаем слово Ли Сильвестру из Xirsys, который расскажет про отладку (видео)звонков в Chrome, Firefox, Safari и Edge. Отлаживать WebRTC непросто, у нас даже есть специальные инструкции по снятию логов в популярных браузерах. А что есть у Ли – вы узнаете под катом (спойлер: много всего, включая WireShark).

            Читать дальше →
            • +27
            • 3,2k
            • 2
          • Браузеры отключают звук в вашем WebRTC-приложении. Стоп, что?

            • Перевод
            Технология WebRTC (голосовые и видеозвонки) хороша тем, что встроена прямо в веб, который, разумеется, прекрасно подходит для WebRTC. Однако иногда веб доставляет немало хлопот, когда нужды WebRTC идут вразрез с общими требованиями к использованию браузеров. Последний пример – автовоспроизведение (далее – «автоплей») аудио/видео, когда у многих пользователей внезапно пропадал звук. Бывший автор webrtcHacks – Dag-Inge Aas – лично столкнулся с этой проблемой. Ниже его размышления: чего ожидать от браузеров в плане автовоспроизведения, последние изменения в Chrome 66+, а также пару советов, как жить с этими ограничениями.


            Браузеры не хотят слышать Зло, поэтому политики автоплея выключают звук в любом медиа. Это может быть проблемой для WebRTC-приложений.
            Читать дальше →
          • Скриншаринг в Chrome – готовимся к getDisplayMedia

            • Перевод

            Chrome Web Store принял решение запретить inline-установку расширений для Chrome. Это напрямую касается WebRTC-приложений, так как сейчас для скриншаринга в Chrome нужно расширение. Придет ли getDisplayMedia API на помощь?
            Читать дальше →
            • +26
            • 5,8k
            • 9
          • ИИ продает пиццу или как Voximplant дружит с Dialogflow

            • Tutorial
            Недавно мы презентовали решение для бизнеса, которое назвали Dialogflow Connector: связка из гугловского Dialogflow и нашего облака Voximplant. Коннектор может работать вместо оператора колл-центра и принимать сложные заказы. Это стало возможным, потому что Dialogflow позволяет уйти от сценария обычного IVR, где клиент вынужден называть слова из заданного набора, на который умеет реагировать интерактивное меню. Гугловская платформа может последовательно получать входные данные от клиента и собирать их воедино – например, чтобы сформировать заказ в интернет-магазине. Вероятно, вы уже слышали модное слово «slot filling», так вот это он и есть. Под катом вас ждут подробности, как мы делали бота для заказа пиццы – по аналогии вы можете запилить нечто похожее и возрадоваться, что времена лифта и «eleven» давно прошли…

            Читать дальше →
          • Объяснение протокола SRTP

            • Перевод

            Протокол SRTP (Secure Real-time Transport Protocol) это система безопасности, которая расширяет протокол RTP (Real-time Transport Protocol) набором защитных механизмов.

            WebRTC использует DTLS-SRTP для шифрования, аутентификации и целостности сообщений, а также для защиты от атак повторного воспроизведения. Это дает конфиденциальность за счет шифрования RTP-нагрузки и проверки подлинности. SRTP это один из компонентов для безопасности, он очень удобен для разработчиков, которые ищут надежное и безопасное API. Но что такое SRTP и как оно работает?
            Читать дальше →
            • +18
            • 5,6k
            • 4
          • Chrome тестирует Picture-in-Picture API для всплывающих видео вне браузера

            • Перевод

            Производители браузеров работают над W3C API, которое утвердит Picture-in-Picture (PiP) режим и позволит сайтам показывать всплывающие видео вне окна браузера.

            В прошлом, PiP поддерживался только внутри канваса как всплывающее окно, которое появляется только в активной вкладке, пока пользователь скроллит страницу вверх-вниз.

            Некоторые платформы добавили поддержку PiP-режима, но это были API, заточенные под OS, то есть работающие с любыми видеоприложениями, но не только с браузерами.
            Читать дальше →
          • В каждой «serverless» платформе есть серверы

            • Перевод
            image

            Последние несколько лет мы все чаще слышим термин «Serverless» по отношению к облачным сервисам. Более того, в Европе наш собственный Voximplant часто называют «Serverless телефонией для разработчиков». Но ведь у нас есть серверы, и много! Откуда такое странное название и что именно имеют в виду те, кто его использует? Чтобы обобщить и собрать в одном месте информацию про «Serverless», организация с длинным названием «Cloud Native Computing Foundation» посвятила ей официальный документ, Swapnil Bhartiya его внимательно изучил и написал интересную статью (интересные статьи про linux и open source он пишет уже лет 15), а мы адаптировали перевод для Хабра. Кстати, в очередной раз обновляя холивар «зачем переводить для Хабра». Во-первых, по-русски, если перевод адекватный, читать быстрее и когнитивно менее напряжно. Даже с очень хорошим английским. Физиология, ничего личного. Во-вторых, если кто-то решил перевести статью — то она, скорее всего, того стоит. Если вы не эксперт в чем-то, можно смело пропустить 100 статей, вышедшие по интересной теме за последний месяц, а посмотреть только те две, что перевели для Хабра.
            Читать дальше →
            • +27
            • 5,2k
            • 9
          • Небольшое расследование: как YouTube использует WebRTC для стриминга

            • Перевод

            WebRTC — это JavaScript API в современных браузерах для видеозвонков. А еще для голосовых звонков, шаринга экрана, пробития NAT, раскрытия локального адреса и других интересных штук. В последние пару лет крупные игроки начинают переходить с пропиетарных API и расширений браузеров на WebRTC: с его помощью работает Skype for Web, частично — Hangouts, а теперь и возможности YouTube по броадкасту прямо из браузера. Пока только из хрома и с пятисекундной задержкой — но велика беда начало. Под катом мы предлагаем адаптированный для Хабра перевод детективной истории, где эксперты по WebRTC разбирают код клиентской части YouTube и рассказывают нам что и как сделали разработчики из Гугла.
            Читать дальше →
          • Внутренности протокола, которым браузеры передают голос и видео

            • Перевод
            image

            WebRTC, технология голосовых и видеозвонков в браузерах (а еще realtime передачи произвольных данных, peer-to-peer пробивания NAT и захвата экрана) никогда не была простой. Долгая история, несовместимости между браузерами, запутанная документация, множество решаемых задач и используемых протоколов. Возможность позвонить и принять звонок из браузера всегда была одной из ключевых «фишек» нашей платформы Voximplant, и так как мы в этом неплохо разбираемся, то стараемся следить за интересными статьями и адаптировать их для аудитории Хабра. Под катом перевод свежей статьи от ребят из callstats.io — сервиса сбора статистики по качеству звонков для браузера. В небольшой статье они рассказывают о протоколе RTP с помощью которого, собственно, браузер и передает пакеты с голосом или видео.
            Читать дальше →
          • Как статы и мониторинг WebRTC изменили мониторинг VoIP

            • Перевод


            Сегодня мы публикуем перевод об очередном тренде WebRTC, спасибо за это консультанту Цахи. Какие изменения несет в мир VoIP технология WebRTC и что как меняется подход к статистике: об этом под катом. Кстати, возможно вы помните, что Цахи Левент-Леви приезжал на нашу конференцию Intercom 2017 – тогда он читал доклад про историю и влияние WebRTC на современные коммуникации; однако на нашей ближайшей конфе его, увы, не будет. Но зато блог bloggeek.me всегда доступен, а мы стараемся сделать его еще доступнее своими переводами :) Итак, речь про сбор статистики с видеозвонков через клиентов, прошу под кат.
            Читать дальше →
            • +15
            • 2,8k
            • 2
          • Сложный колл-центр на JavaScript


              Хорошо сделанный колл-центр приносит пользу: подтверждает заказы, напоминает о конференциях и доставке готовой еды. У нас в Voximplant есть модуль ACD и концепция очередей, с их помощью на платформе можно за пару часов собрать простое решение для распределения звонков. Почему «простое»? Действительно сложные решения сильно отличаются друг от друга, невозможно сделать модуль, который бы подошел «всем и сразу из коробки». Однако есть проверенная в бою схема, по которой клиенты реализуют логику очередей на своем бэкенде, а наше облако помогает с маршрутизацией входящих звонков и аналитикой. Под катом небольшая пошаговая инструкция: как и зачем делать колл-центры на сотню операторов «под себя». «Схема рабочая, инфа 100%» (с)
              Читать дальше →
            • RTCP REMB: подкручиваем настройки видеозвонка в браузере

              • Перевод

              Находчивые ребята из Tribe не только нашли свою нишу на стыке конференсинга и gamedev’а (что само по себе уже интересно), но и хорошо знают, что творится под капотом у WebRTC. Менеджер по продукту Тимотэ Ле Борнье периодически описывает техническую сторону своего детища; мы решили перевести его статью про нестандартную, но очень любопытную функциональность WebRTC. Уверены, вам будет интересно. Ну а пока вы читаете, мы продолжим готовить инсайд про наши обновленные видеоконференции… Но это уже другая история.
              Читать дальше →
              • +16
              • 1,6k
              • 1

            Самое читаемое