Телефония 1С - заметки на полях


#1

посмотрел я на реализацию “Позвонить по телефону” для 1С от всех текущих вендоров, оставлю заметку тут - будем ковырять как это лучше сделать, может быть даже в режиме openSource

Первый вывод: такое впечатление, что все как сговорились и все почему-то защищаются какими то непонятными ключами

  • что делать на тестовом контуре BDD если ключ у меня один - поставщики софта не думают

Сценарии использования

Формально я как пользователь системы 1С, хочу делать в целом

Исходящий

  • увидеть карточку контакта (в разных формах)
  • нажать кнопку позвонить
  • открыть карточку “События: Звонок”
  • поговорить
  • зафиксировать напоминалки на основе Звонка
  • поменять данные в системе: Заказы, Счета, Акты, Заявки на расход денег и т.д.
  • сохранить запись разговора, чтобы если че вспомнить о чем договаривались
  • оповестить человека о том, что в системе 1С учтены его пожелания: данные заказа изменены, деньги для оплаты запланированы и т.д. (может быть даже СМСкой)

Входящий

  • принять звонок и открыть карточку “События: Звонок”
  • далее как с исходящим

Дополнительные сценарии

  • Входящий звонок может быть спамом - что бывает совсем не редко: конкуренты, холодные обзвоны и вообще - тогда у меня должна быть возможность запомнить номер и переадресовать его на голосовую почту, если товарищи будут звонить еще раз

Архитектурно

указанные сценарии наводят нас как минимум на 2 момента

  • для SIP должна быть возможность использовать слушающий Сокет и работать с обработкой оповещения

  • одновременно с нашей стороны должен быть поднят сервис который реализует два метода

  • GetCallerNameByNumber() - > string:ContactName

  • GetContactRewriteNumber() -> string: RewrireNumber

последний метод кстати - предназначен в том числе для переадресации на ответственного за контакт (ответственных)

Отдельно - я так понимаю необходимо иметь tray службу которая позволит активизировать окно 1С, когда оно закрыто, если это не web интерфейс.

P.S. Причем asterix видется здесь слишком низкоуровневым сервисом и нужно работать по WebRTC (SIP), так я думаю будет и быстрей и эффективней.

Копаю пока вот сюда https://sipjs.com/guides/


#2

Asterisk хоть штука и популярная, но это далеко не единственная PBX, которая может использоваться. Так что привязываться к AMI, или аналогичным event-менеджерам иных АТС не стоит.
Наиболее простой вариант - софтфон внутри 1С. Минус - отпадают клиенты, у которых звонок принимается не в 1С, а на стоящем рядом телефоне.
Сделать ВК на основе PJSIP на самом деле предельно просто. У меня даже в планах было, но пока мотивации нет.


#3

Давно давно делал исходящий звонок из 1с, на какой то открытой компаненете. Было оооочень давно. В бспшной контактной информации еще не было кнопочки.

  • Нажимаем кнопку позвонить в контктной инфориации.
  • на номер указанный у ТекущугоПользователя идет входящий звонок.
  • При поднятии трубки идет исходящий на номер из контактной информации.
  • вх и исх звонки коммутируются.

#4

1С слишком неповоротлива для обработки звонков. Мне понравилась в целом реализация МИКО, но с ключами там реальная беда. Правда о тестовых контурах можно договариваться - они дают ключ, и по договоренности продлевают. Во всяком случае года 2а назад так было.
Я бы копал в сторону веб сервиса и минимальной интеграции с 1С. Т.е. чтобы был клиент на JS который обеспечивает работу с телефонией и который при возможности взаимодействует с 1С через веб сервис.


#5

Если будет OpenSource я готов помочь в разработке =)


#6

У нас есть oscript tray кстати, и объект v8Runner - как запускатель 1С-ки.

То есть слушающий сокет и обработчик звонков можно вполне написать и на oscript.

@otymko -скорее всего так и будет - но пока нужно до конца отпрототипровать арх.решение (имеется ввиду как сделать сделать плагинизируемую часть в части sip провайдеров)


#7

У МИКО триальный ключ на 30 дней реального использования (т.е. дни бездействия не считаются), но для полноценной работы все равно лучше купить NFRку даже несмотря на то, что продлевают.

Сейчас как раз внедряем их решение.