|
Интеграция с Asterisk | ☑ | ||
---|---|---|---|---|
0
Vladislava-smile
18.02.18
✎
18:05
|
Добрый день, проблема с регистрацией компоненты ROM_Asterisk_Native.
Ошибка - некорректная работа компоненты с памятью. УТ 10.3 Платформа 8.3.10.2252. Ставила на платформе ранней версии - все работало. Подскажите, это баг платформы или искать новую компоненту нужно? Если у кого есть, не поделитесь, пожалуйста ... Валится на: АдресВнешнейКомпоненты = "ОбщийМакет.ROM_Asterisk_Native"; Результат = ПодключитьВнешнююКомпоненту(АдресВнешнейКомпоненты, "Simplit" , ТипВнешнейКомпоненты.Native); |
|||
1
nordbox
18.02.18
✎
18:14
|
Читала?
http://catalog.mista.ru/public/205338/ Тут про Упр, суть мало меняет, но может поможет обрати внимание где DLL Сам не ставил по этому только то что попалось |
|||
2
Cool_Profi
18.02.18
✎
18:18
|
Какая-то невнятная компонента...
|
|||
3
Vladislava-smile
18.02.18
✎
18:21
|
(1) - спасибо
(2) невнятная? Это как понять ) ... |
|||
4
stopa85
18.02.18
✎
18:27
|
А я все сделал без компонент.
Единственное чего "нет" - открыть карточку клиента при входящем звонке. Но нам этого сейчас не нужно, и полноценных колл-центров не предвидится. А так даже входящие звонки на персональных менеджеров перебрасываются. |
|||
5
nordbox
18.02.18
✎
18:29
|
||||
6
Vladislava-smile
18.02.18
✎
18:30
|
(4) а каким образом ты подключаешься и слушаешь события в астериске тогда? без компоненты?
|
|||
7
Vladislava-smile
18.02.18
✎
19:57
|
(5) - это у меня уже все реализовано. Проблема была в новой платформе, нашла новую длл и вроде заработало. Загружается.
Кому надо - скину на почту. У меня еще вот какой вопрос будет. Если Астериск стоял на серваке, то подключались к нему так: _Телефония.Connect(IP,Port); А если облачно? Там как подключаться? |
|||
8
nordbox
18.02.18
✎
20:00
|
Ну тут я тебе даже посоветовать ничего не могу,
ну попробуй в место IP адрес облака |
|||
9
Vladislava-smile
18.02.18
✎
20:03
|
(8) спасибо, попробую
|
|||
10
Cyberhawk
18.02.18
✎
20:13
|
(6) Не поверишь - через файлики логов
|
|||
11
Fram
18.02.18
✎
21:59
|
(7) точно так же
|
|||
12
stopa85
18.02.18
✎
22:46
|
(6) Решение спорное, костылей много. Я бы сейчас смотрел на облачных провайдеров и их API, однако что сделано, то сделано:
1. Чтобы отправить клиента к его менеджеру asterisk сам спрашивает 1С (через веб-сервисы), что ему делать со звонком. Внешний скрипт на питоне делает web-запрос и устанавливает переменные диалплана 2. Также реализована логика работы распределения звонков в праздничные/выходные дни, автоответчики... 3. Записи телефонных звонков аналогично. По окончании формирования файла записи звонка вызывается скрипт на питоне, он вытаскивает всю инфу из БД астриска и отдает 1С через вебсервис 4. Когда нужно определить клиента по номеру телефона 1С-ка сама шлет web-запрос asteriskу (web-серверу подключенному к БД) и оттуда достает нужные события имеющие отношение к внутреннему номеру рабочего места Условно - нужно нажать кнопочку, чтобы одно с другим сопоставилось |
|||
13
stopa85
18.02.18
✎
22:52
|
(7) Я бы на месте облачного провайдера не пустил бы тебя к своему астериску. И не факт, что вообще держал бы астериск.
У облачных провайдеров свой API и не у всех он есть. Вот его и нужно курить. |
|||
14
Vladislava-smile
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 звонок!? |
|||
15
Fram
19.02.18
✎
22:33
|
(14) на каждый канал (транк и экстеншн) по 2 события (начало и конец звонка)
|
|||
16
Йохохо
20.02.18
✎
00:12
|
(14) что то помнится что это не все поля, UniqueID это юникс тайм есил что, чтоб не путаться
|
|||
17
Vladislava-smile
20.02.18
✎
17:32
|
(15) - это ясно, но как тогда определять, что эти два канала осуществляют один звонок?
(16) - UniqueID там разный в этих каналах, или я не поняла, что вы имеете в виду |
|||
18
Vladislava-smile
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: [email protected] |
|||
20
Йохохо
20.02.18
✎
18:29
|
даял будет прилетать при любых перенаправлениях между очередями группами по таймауту и т.п.
|
|||
21
Vladislava-smile
20.02.18
✎
18:29
|
(19) сейчас гляну что астер шлет в этом событии, отпишусь, спасибо.
|
|||
22
Йохохо
20.02.18
✎
18:30
|
(21) это глядят там https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+AMI+Events
|
|||
23
Йохохо
20.02.18
✎
18:51
|
и вообще кажется в (14) все нормально и делаете все правильно, просто срабатывают какие то правила на астериске по ожиданию. Разница между даялами 22 секунды, похоже на таймаут. И если SubEvent: Begin и End приходят в разное время то UniqueID использовать можно. Ивент+Сабивент+УникАйДи, кому берем из Channel до собаки. Что там в from-queue уточняйте у того кто астер настраивал
|
|||
24
Fram
20.02.18
✎
19:42
|
(17) ну из (14) я вижу общее connectedlinenum между каналами, ну channel между begin и end
|
|||
25
stopa85
21.02.18
✎
07:41
|
(18) Если оператор очереди не отвечает на входящий вызов (т.е. не произошло коммутации каналов), то астер по таймауту прекращает вызов (закрывает канал связанный с оператором очереди), и ставит вызов в очередь снова.
В этом случае, даже если вызов назначается тому же оператору, что и первый раз - канал (астер-оператор) создается снова. Думаю собака зарыта тут. UniqueID - ничуть не Unique, и в БД астера могут встречаться записи с одинаковыми UniqueID. UniqueID - у меня лично не timestamp, время.какое-то_уникальное_число. какое-то_уникальное_число - уникально до перезагрузки астера. Так что от этого не легче. |
|||
26
Vladislava-smile
21.02.18
✎
10:35
|
Всем спасибо, просто поставили в астере максимальное время работы канал до закрытия (2 мин), и все, этого достаточно для работы алгоритма. Тех поддержка астреа сказала, что нет никакого события, определяющего, что на открытие несколько каналов идет один вызов. Вот так вот.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |