Сам себе Большой Брат

    "Большой Брат следит за тобой" Джордж Оруэлл "1984"

    Зачем все это?

    Современное время очень динамичное и когда ты о чем-то думаешь напряженно, то внешние раздражители частично не достигают цели. И тогда, подойдя к точке интеграции с курьером, коллегой, да и что-ж (не будем кривить душой) и с семьей тоже, обнаруживается, что ты что-то важное забыл. Хорошо если тебя спросили по email/смс/Whatsapp/telegram и т.д. А если голосом? И тут историю не поднимешь, чтобы не ударить в грязь лицом. Хотя почему? Можно подумать и над этим вопросом.

    Постановка задачи

    Задумавшись над вопросом создания истории собственных разговоров по телефону, обнаружилось, что ничего нереального нет. Все технологии уже есть, осталось их только объединить. И если большая часть компонентов используется в серьезном Enterprise, то это не значит, что нельзя найти их Open Source аналоги. Или использовать Shareware продукты с trial лицензиями.

    Конечно бессмысленно создавать архив записей разговоров. Какой прок в том, что тебе надо найти номер заказа в звонке, состоявшемся неделю назад? Невозможно прослушать все свои разговоры. Это бессмысленная потеря времени. Поэтому нужно транскрибирование. Чтобы поиск делать ключевыми фразами.

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

    Ну а как будет записываться, это уже не очень важно. Можно тотально. Т.е. все разговоры. И далее система должна присылать транскрипцию разговоров например по email. Ну или складировать куда-то. Второй вариант - по запросу. Т.е. если вы считаете после (ключевая фраза "после") разговора, что данный разговор надо сохранить, то можно дать команду и разговор пост-фактом будет "записан" и транскрибирован. Ну записан он конечно должен быть раньше, но просто запись должна быть поднята и транскрибирована.

    Архитектура решения

    Визуализировав задачу, давайте взглянем на варианты. Наипростейшим вариантом является конечно Астериск. Но в плане записи. Астериск может писать раздельные каналы в файлы. С целью манипуляции файлами, отправки на транскрибацию, интеграцию с email, контроля вызова, создания запросов на транскрибацию по запросу есть много других вариантов. Кто-то возможно скажет, что все это можно реализовать на Астериске. Ну таких гуру в стране одной руки хватит посчитать. И автор не в их числе. Ну а других интеллектуальных систем на рынке много. Почти у каждого серьезного вендора есть подобные системы. Например у Cisco, Genesys, Avaya и т.д. Есть и великое множество Российских систем. Под рукой был в наличии Experience Portal версии 7.1 компании Avaya. Поэтому выбор пал на него. Но это не значит, что нельзя использовать другое оборудование. Данная система умеет работать с Java (это для создание коннектора на систему транскрибирования), имеет коннектор с Email. Это значит, что полученные результаты можно отослать по email. Ну и имеет встроенную базу данных, что позволит не зависеть от сессии и проводить работы с записями в off-line режиме.

    Итак вызов должен проходить транзитом через Астериск, там записываться в дуплексном режиме, далее попадать на Experience Portal, который должен связывать разговор, абонента, время с записью на астериске и после разговора отсылать ее для транскрибирования. А после получения транскрибирования отсылать результаты по email соответствующему абоненту. Ну и собственно сам транскрибатор. Наипростейшим вариантом является Яндекс Cloud Speech Kit. У Google есть также облачное API для транскрибирования русского языка. Качество у обоих вполне достойное. Сравнение можно посмотреть тут.

    Реализация

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

    Если в двух словах:

    1. Вызов попадает в АТС и маршрутизируется в Астериск

    2. Астериск делает дуплексную запись и маркирует ее с префиксом номер абонента A. Запись складывается на расшаренную папку.

    3. Далее вызов переводится на Experience Portal.

    4. Experience Portal делает Bridged Transfer на абонента B. Данная функция позволяет обработать вызов после его завершения.

    5. После завершения вызова Experience Portal по номеру абонента А ищет в расширенной папке с записями последний вызов с таким префиксом. Находит вызов и отправляет по очереди каждый канал на транскрибирования в Яндекс или Гугл.

    6. Experience Portal смотрит в своей базе какому email соответствует номер абонента B и отсылает ему результаты транскрибации.

    Ну и напоследок. Что делать с мобилками?

    Вопрос конечно не праздный. Все нынче говорят по мобилкам. В случае Android получить доступ к записям можно и сделать данный сервис на приложении Android можно. Странно, что никто не сделал. С IOS сложнее. Запись сделать можно только на своем клиенте.

    Есть еще вариант - это перенаправить вызов на свою АТС с мобилки и оттуда обратно на мобилку. Тут есть тонкость. При переводе вызова с АТС на мобилку, согласно Закону о Связи, передать оригинальный АОН первого вызова нельзя. Поэтому можно доставить оригинальный АОН через тот-же Experience Portal например на Telegram или по Push. Это тоже все многократно проверено и надежно работает.

    Ну или все вызовы пропускать через АТС (можно сделать свою собственную АТС в облаке и прикрутить ее например к Megafon Connect.

    Чтобы эта статья не показалась "Сферическим конем в вакууме"

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

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

    Похожие публикации

    Средняя зарплата в IT

    110 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 8 763 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 20

      0
      Решение если надо просто пользоватся а не возится с хостингом (и используется мобилка):
      • Постоянная переадресация с основного номера + Zadarma (с платной АТС) + клиент Zadarma на той же мобилке(ну или вторая симка на ней и переадресация на ней же). Недостатки: транскрипция платная, проброс звонков платный, номер от zadarma тоже платный, переадресация на Zadarma в случае билайна — тоже платная (и не использует пакет)(с Тиньковым и МТС у меня работало из пакета).
      • Решение если надо просто запись либо можно делать транскрибирование потом: телефон который умеет писать в автоматическом режиме. Проблема тут в том что на андроид начиная с Android 9 нельзя писать с линии + нельзя в плейстор выкладывать приложения которые бы лезли к базе контактов (точнее можно но надо разрешение). Поэтому это должна быть встроенная функция (ну или рутованный аппарат). Встроенный функционал есть вроде бы на Xiaomi и на всех новых Samsung'ах(только вот на Samsung'ах он по умолчанию отключен для России, идем на 4pda и изучаем как сменить CSC на тайланд или вьетнам. Самое белопушистое решение — тайская симка с ебея + полный сброс аппарата с ней, самое беспроблемное — samkey. промежуточные варианты — см 4pda(там от аппарата зависит)).
        После этого — файлы записей выгражать в облако любой тулзой которая может автоматически синхронизировать (OneSync например). Ну и можно на заданный каталог облака натравить распозновалку, отслеживать появление новых файлов в каталоге и распозновать).
      • Решение для любых аппаратов — ТиньковМобайл + Олег ( help.tinkoff.ru/operator/call-recording ). Недостатки: реализовано через конференцию а значит звонящий будет слушать «ваш вызов поставлен на удержание», конференцию эту надо создавать каждый раз, способ экспорта файлов вроде как не предусмотрен, «услугой можно пользоваться на территории России кроме Крыма и Севастополя»(всем предыдущим вариантам — плевать на место)

        0
        Спасибо за комментарий. Было понятно, что жизнь штука непростая. А такой полевой опыт конечно бесценен.
          0
          номер от zadarma тоже платный

          К zadarma через sip, условно, можно подключить номер Мегафона. Условно, потому что для этого должна быть подключена услугу МультиФон Бизнес, а ее новым розничным клиентам не подключают — только eMotion.

          Решение для любых аппаратов

          Опять же eMotion от Мегафона — позволяет записывать все разговоры + автоматически отправлять на е-майл. Последняя версия, вроде работает относительно стабильно. Из минусов — без интернета не работает.
            0
            Спасибо. Вот спрашивается почему бы Мегафону не добавить транскрибирование?
            На базе Experience Portal кстати можно и письма получать, транскрибировать и отсылать результат дальше. Только сейчас поменялись правила лицензирования. К сожалению. Отсылать можно бесплатно. А обрабатывать входящие нужен коннектор достаточно дорогой.
            0
            Проблема тут в том что на андроид начиная с Android 9 нельзя писать с линии

            В последних версиях родной гугловской звонилки запись с линии вернулась.
              0
              Как минимум на мой самсунг — не вернулась (нет опции).
              Судя по xda-dev — там кнопку жать надо каждый раз.
              И — раньше можно было писать любым приложениям.
                0
                Судя по xda-dev — там кнопку жать надо каждый раз.
                Решается патчем apk, если root есть.
                  0
                  Если есть root — эту проблему решить гораздо проще и можно использовать почти любую записывалку. Если есть.
                  А вот кстати транскрибирование у гугла для русского хотя бы ожидается?(для английского в Google Phone сделали вроде).
            –2
            Очевидно, не хватает предыстории, ибо я сначала подумал (естественно), что речь идет про обычных людей и обычные телефоны, а уже только потом увидел странную фразу
            Наипростейшим вариантом является конечно Астериск


            И на этом моменте вы меня как читателя потеряли. Я понятия не имею, что за Астериск, почему он является простейшим вариантом, и о чем вообще речь пошла. Какая АТС, какое перенаправление — обычный читатель тут отвалился.

            А если бы вы с самого начала написали, мол, статья предназначена для юрлиц с городским или многоканальным телефоном (условно), а также для энтузиастов, поднявших свою АТС — сразу бы все стало на свои места, я бы просто прошел мимо, поскольку мне это не интересно.
              0
              Спасибо за комментарий. Тут конечно история для телеком гиков. Но на самом деле каждый, кому данная история интересна, может погуглить и вникнуть. В целом это и есть история про обычных людей и обычные телефоны. Ну естественно для тех кто увлечен. И по моим фразам и по фразам комментаторов можно понять, что для мобильных телефонов есть сложности. Хотя решаемые. Данный сервис можно запустить и на офисном телефоне и на домашнем телефоне. И на домашнем все еще интереснее. Все это можно запустить на 8Gb памяти. Вообще телеком отрасль в России переживает кризис кадров. Молодежи мало и ей почему-то не интересно. Хотя тематика очень интересная. Ей интересно в Сбербанке плющиться почему-то. Наверное потому, что им кажется что там деньги ближе. Хотя это не так.
              Еще раз спасибо за комментарий. Но если хотя бы несколько человек заинтересуются словом Астериск и почему это наипростейший путь, то я считаю, что статью я написал не зря. Спасибо.
                0
                Тут вообще бы подошли бы описания и ссылки на то что есть Астериск вообще и зачем оно нужно. Что сервер IP-телефонии, очень популярный (настолько что по сути название стало синоним для таких система хотя есть например FreePBX), опенсорсный и гибкий в настройке и так далее.
                  +1
                  Ну это же история не про Астериск. Он лишь инструмент.
              0

              Не совсем понимаю что сложного сделать на Астериске, потому что ещё лет 10 назад у нас (в той фирме, в которой я на тот момент работал) писались некоторые разговоры (писалось всё, но удалялось через час) и если позвонить на Астериск и попросить прислать запись последнего разговора в течении часа, то он с радостью это делал. Ну или проигрывал этот разговор абоненту… Или не этот разговор, а разговор нужного абонента… Напомню, что всё это было реализовано ещё в версии как бы не 1.8 и вполне штатными средствами.


              А на мобильных разве нельзя инициировать конференц-колл на Астериск и передавать все необходимые параметры? Я просто не в курсе как оно сейчас работает, но на мой взгляд самый логичный способ.

                0
                Конференцию можно (вопрос правда что с параметрами). собственно запись звонков у ТиньковМобайла через конференцию и работает.
                  0
                  Параметры — это стандартные данные звонка: кому, от кого и т.д. Передавать параллельно, не средствами конференц-колла.
                    0
                    В случае с Тиньковым — оно не так критично (там достаточно сложно спутать потому что в интерфейсе их приложения рядом будет «настоящий» звонок).
                0
                Хм… На ксяомах была автоматическая запись звонков. И гугл умел распознавать речь оффлайн. А вот соединить это как-то никому в голову и не приходило…
                Но в одном файле двое говорящих не разделятся автоматом при разборе:(
                  0
                  Друзья, Записать вызов проблемы никогда не было и нет.
                  Статья о том, как сделать хранилище транскрибированных записей. Чтобы искать в них текстом, а не прослушивать их.
                  Мне очень ценны ваши комментарии, но давайте не будет их оставлять про то как записать свой вызов. История совсем не про это. Спасибо.
                    +1

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

                      0
                      Ту коллеги много путей описали. Я знаю только один путь. Взять например eMotion(Мультифон), завернуть мобильные звонки на облачную АТС с записью, оттуда копировать записи в облако, и вызов дальше закидывать на мобилку.

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

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