Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Интеграция с Asterisk

Интеграция с Asterisk
Я
   Vladislava-smile
 
18.02.18 - 18:05
Добрый день, проблема с регистрацией компоненты ROM_Asterisk_Native.

Ошибка - некорректная работа компоненты с памятью.

УТ 10.3 Платформа 8.3.10.2252.

Ставила на платформе ранней версии - все работало. Подскажите, это баг платформы или искать новую компоненту нужно? Если у кого есть, не поделитесь, пожалуйста ...

Валится на:
АдресВнешнейКомпоненты = "ОбщийМакет.ROM_Asterisk_Native";
Результат = ПодключитьВнешнююКомпоненту(АдресВнешнейКомпоненты, "Simplit" , ТипВнешнейКомпоненты.Native);
 
 
   nordbox
 
1 - 18.02.18 - 18:14
Читала?
http://catalog.mista.ru/public/205338/
Тут про Упр, суть мало меняет, но может поможет
обрати внимание где DLL
Сам не ставил по этому только то что попалось
   Cool_Profi
 
2 - 18.02.18 - 18:18
Какая-то невнятная компонента...
   Vladislava-smile
 
3 - 18.02.18 - 18:21
(1) - спасибо
(2) невнятная? Это как понять ) ...
   stopa85
 
4 - 18.02.18 - 18:27
А я все сделал без компонент.

Единственное чего "нет" - открыть карточку клиента при входящем звонке. Но нам этого сейчас не нужно, и полноценных колл-центров не предвидится.

А так даже входящие звонки на персональных менеджеров перебрасываются.
   nordbox
 
5 - 18.02.18 - 18:29
   Vladislava-smile
 
6 - 18.02.18 - 18:30
(4) а каким образом ты подключаешься и слушаешь события в астериске тогда? без компоненты?
   Vladislava-smile
 
7 - 18.02.18 - 19:57
(5) - это у меня уже все реализовано. Проблема была в новой платформе, нашла новую длл и вроде заработало. Загружается.
Кому надо - скину на почту.


У меня еще вот какой вопрос будет.

Если Астериск стоял на серваке, то подключались к нему так:
_Телефония.Connect(IP,Port);

А если облачно? Там как подключаться?
   nordbox
 
8 - 18.02.18 - 20:00
Ну тут я тебе даже посоветовать ничего не могу, 
ну попробуй в место IP адрес облака
   Vladislava-smile
 
9 - 18.02.18 - 20:03
(8) спасибо, попробую
   Cyberhawk
 
10 - 18.02.18 - 20:13
(6) Не поверишь - через файлики логов
 
 Рекламное место пустует
   Fram
 
11 - 18.02.18 - 21:59
(7) точно так же
   stopa85
 
12 - 18.02.18 - 22:46
(6) Решение спорное, костылей много. Я бы сейчас смотрел на облачных провайдеров и их API, однако что сделано, то сделано:

1. Чтобы отправить клиента к его менеджеру asterisk сам спрашивает 1С (через веб-сервисы), что ему делать со звонком. Внешний скрипт на питоне делает web-запрос и устанавливает переменные диалплана

2. Также реализована логика работы распределения звонков в праздничные/выходные дни, автоответчики...

3. Записи телефонных звонков аналогично. По окончании формирования файла записи звонка вызывается скрипт на питоне, он вытаскивает всю инфу из БД астриска и отдает 1С через вебсервис

4. Когда нужно определить клиента по номеру телефона 1С-ка сама шлет web-запрос asteriskу (web-серверу подключенному к БД) и оттуда достает нужные события имеющие отношение к внутреннему номеру рабочего места
Условно - нужно нажать кнопочку, чтобы одно с другим сопоставилось
   stopa85
 
13 - 18.02.18 - 22:52
(7) Я бы на месте облачного провайдера не пустил бы тебя к своему астериску. И не факт, что вообще держал бы астериск.

У облачных провайдеров свой API и не у всех он есть. Вот его и нужно курить.
   Vladislava-smile
 
14 - 19.02.18 - 16:06
Вопрос еще, кто знает:
Слушаю Астериск, по событию Dial:

Если трубку долго не брать, появляется несколько событий:

Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: Local/012@from-queue-000063f6;2
Destination: SIP/012-000002c6
CallerIDNum: 79144004946
CallerIDName: 79144004946
ConnectedLineNum: 758834_1
ConnectedLineName: <unknown>
UniqueID: 1519044660.51892
DestUniqueID: 1519044660.51893
Dialstring: 012


Event: Dial
Privilege: call,all
SubEvent: End
Channel: Local/012@from-queue-000063f6;2
UniqueID: 1519044660.51892
DialStatus: CANCEL

Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: Local/012@from-queue-000063f8;2
Destination: SIP/012-000002c7
CallerIDNum: 79144004946
CallerIDName: 79144004946
ConnectedLineNum: 758834_1
ConnectedLineName: <unknown>
UniqueID: 1519044682.51897
DestUniqueID: 1519044682.51898
Dialstring: 012


Event: Dial
Privilege: call,all
SubEvent: End
Channel: Local/012@from-queue-000063f8;2
UniqueID: 1519044682.51897
DialStatus: CANCEL

Но по факту звонок только один. Есть ли какое то событие, в котором есть уникальный идентификатор, показывающий, что это 1 звонок!?
   Fram
 
15 - 19.02.18 - 22:33
(14) на каждый канал (транк и экстеншн) по 2 события (начало и конец звонка)
   Йохохо
 
16 - 20.02.18 - 00:12
(14) что то помнится что это не все поля, UniqueID это юникс тайм есил что, чтоб не путаться
   Vladislava-smile
 
17 - 20.02.18 - 17:32
(15) - это ясно, но как тогда определять, что эти два канала осуществляют один звонок?

(16) - UniqueID там разный в этих каналах, или я не поняла, что вы имеете в виду
   Vladislava-smile
 
18 - 20.02.18 - 18:27
Блин, 2 дня уже бьюсь с этой проблемой, неужели нет людей, знающих хорошо Астер?(
   Йохохо
 
19 - 20.02.18 - 18:27
(17) UniqueID это время просто в формате unix time. В общем не то событие ловите вроде. Мб попробуйте слушать NewExten
в asterisk -r есть core set debug peer 100 и там
Call-ID: 5021128114237-2044204843891@192.168.0.5
   Йохохо
 
20 - 20.02.18 - 18:29
даял будет прилетать при любых перенаправлениях между очередями группами по таймауту и т.п.
   Vladislava-smile
 
21 - 20.02.18 - 18:29
(19) сейчас гляну что астер шлет в этом событии, отпишусь, спасибо.
   Йохохо
 
22 - 20.02.18 - 18:30
   Йохохо
 
23 - 20.02.18 - 18:51
и вообще кажется в (14) все нормально и делаете все правильно, просто срабатывают какие то правила на астериске по ожиданию. Разница между даялами 22 секунды, похоже на таймаут. И если SubEvent: Begin и End приходят в разное время то UniqueID использовать можно. Ивент+Сабивент+УникАйДи, кому берем из Channel до собаки. Что там в from-queue уточняйте у того кто астер настраивал
   Fram
 
24 - 20.02.18 - 19:42
(17) ну из (14) я вижу общее connectedlinenum между каналами, ну channel между begin и end
   stopa85
 
25 - 21.02.18 - 07:41
(18) Если оператор очереди не отвечает на входящий вызов (т.е. не произошло коммутации каналов), то астер по таймауту прекращает вызов (закрывает канал связанный с оператором очереди), и ставит вызов в очередь снова.
В этом случае, даже если вызов назначается тому же оператору, что и первый раз - канал (астер-оператор) создается снова.

Думаю собака зарыта тут.

UniqueID - ничуть не Unique, и в БД астера могут встречаться записи с одинаковыми UniqueID.

UniqueID - у меня лично не timestamp, время.какое-то_уникальное_число. какое-то_уникальное_число - уникально до перезагрузки астера. Так что от этого не легче.
   Vladislava-smile
 
26 - 21.02.18 - 10:35
Всем спасибо, просто поставили в астере максимальное время работы канал до закрытия (2 мин), и все, этого достаточно для работы алгоритма. Тех поддержка астреа сказала, что нет никакого события, определяющего, что на открытие несколько каналов идет один вызов. Вот так вот.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует