|
Компонента BROMAsteriskNative для платформы x64 | ☑ | ||
---|---|---|---|---|
0
igrned
02.11.21
✎
10:48
|
Добрый день. Поделитесь рабочей компонентой под платформу x64.
Для x32 есть, работает. Для x64 есть, но работать отказывается. Спасибо. |
|||
1
DeeK
02.11.21
✎
11:08
|
уже была тут тема, идите на гит там есть исходники, компилите и вуаля
|
|||
2
igrned
02.11.21
✎
11:17
|
И отсюда брал и на гит. Не взлетает.
с Visual Studio не знаком. Вот и создал тему. |
|||
3
polosov
02.11.21
✎
11:46
|
||||
4
polosov
02.11.21
✎
11:46
|
+ (3) Это с гитхаба, с немного исправленными ошибками.
|
|||
5
igrned
02.11.21
✎
11:55
|
(4) Ухты, спасибо за оперативное решение. Всё ок!
|
|||
6
ChMikle
02.11.21
✎
12:12
|
(5) ну вот, а то все мама, да мама (с) :))
|
|||
7
igrned
02.11.21
✎
20:26
|
(3) Подскажите, вашей компонентой авторизируюсь, всё ок.
ОбъектКомпоненты = Новый("AddIn.Test.ROM-Asterisk-Native"); IP = "10.0.0.10"; Port = "5038"; ОбъектКомпоненты.Connect(IP,Port); Если ОбъектКомпоненты.Подключено Тогда Сообщить("Подключено!"); Иначе Сообщить("Авторизация неуспешна!"); Возврат; КонецЕсли; Соединение проходит. Потому что если поменять IP или Порт, то значение "ОбъектКомпоненты.Подключено" = Ложь. Далее пытаюсь залогинится. Пишу следующее: CRLF = Символы.ВК + Символы.ПС; ТекстКоманды = "Action: Login"+CRLF+ "Username: "+user+CRLF+ "Secret: "+password+CRLF; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); Переменная "Флаг" всегда содержит значение "Истина". Даже при неправильном логине/пароле. Как заставить возвращать нормальный ответ? |
|||
8
polosov
02.11.21
✎
20:33
|
Так попробуй:
ТекстКоманды = "Action: Login"+CRLF+ "Username: "+user+CRLF+ "Secret: "+password+CRLF+CRLF; |
|||
9
igrned
02.11.21
✎
20:34
|
Так тоже пробовал. Все равно всё "Истина".
|
|||
10
polosov
02.11.21
✎
20:42
|
(9) Этот метод почти всегда возвращает Истина. Пробуй после этого выполнить какую-нибудь команду Астериска
|
|||
11
igrned
02.11.21
✎
21:18
|
Например?
Вот пробую такую: ТекстКоманды = "Action: CoreSettings"+CRLF; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); Возвращает Истина. Такую: ТекстКоманды="Action: Ping"+CRLF; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); Тоже Истина. Даже несуществующую пишу: ТекстКоманды="Action: TESTTTT"+CRLF; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); Все равно Истина) |
|||
12
Asmody
02.11.21
✎
23:06
|
(4) а вернуть на гитхаб исправленные ошибки не?
|
|||
13
igrned
03.11.21
✎
11:52
|
(10) Есть еще мысли, куда посмотреть? У вас компонента работает нормально?
|
|||
14
polosov
03.11.21
✎
11:57
|
(13) Да, все работает.
Вот так реализован метод "ВыполнитьКоманду": https://ibb.co/mh8bpXC |
|||
15
polosov
03.11.21
✎
11:57
|
(13) Версия астериска какая?
|
|||
16
polosov
03.11.21
✎
12:01
|
(13) + Проверяй настройки AMI
|
|||
17
polosov
03.11.21
✎
12:03
|
С х32 компонентой как теже самые команды отрабатываются?
|
|||
18
igrned
03.11.21
✎
12:25
|
(15) Версия Asterisk 16
|
|||
19
igrned
03.11.21
✎
12:30
|
(17) Проверил, да, оказывается также. Значит дело не в компоненте. А в астериске или чем-то еще...
|
|||
20
polosov
03.11.21
✎
13:20
|
(19) Компонента дергает внешнее событие 1С. Сделай его на форме и смотри чего она тебе будет слать в сообщениях
|
|||
21
igrned
03.11.21
✎
13:51
|
(20) Через telnet соединился, авторизировался, отправил команду, в ответ получил нормальную реакцию.
https://ibb.co/mRF9m0s Во внешнее событие на форме 1С попадает только соединение: ОбъектКомпоненты.Connect(IP,Port); Вот что получаю: Процедура ВнешнееСобытие(Источник, Событие, Данные) Источник = "ROM-Asterisk-Native"; Событие = "Connected"; Данные = "Server:10.0.0.10 Port:5038"; КонецПроцедуры Авторизация во внешнее не попадает. И остальные команды тоже... |
|||
22
polosov
03.11.21
✎
13:55
|
(21) После логина сделай Компонента.SetRegex("");
|
|||
23
igrned
03.11.21
✎
14:19
|
(22)
Метод объекта не обнаружен (SetRegex) ОбъектКомпоненты.SetRegex(""); |
|||
24
polosov
03.11.21
✎
14:54
|
(23) SetGegEx попробуй. Чувствительно к регистру чтоль.
|
|||
25
polosov
03.11.21
✎
14:55
|
(24) *SetRegEx
|
|||
26
igrned
03.11.21
✎
15:20
|
(25) Да, регистр имел значение.
Но возвращает также "Истина". И во внешнее событие не заходит. Может быть вы бы смогли найти немного времени и подключится ко мне? Думаю так быстрее решится... |
|||
27
polosov
03.11.21
✎
15:22
|
(26) Ну теперь пробуй звонить и смотри события и прочее. Какого рода интеграция нужна? Подключиться не могу.
|
|||
28
igrned
03.11.21
✎
16:28
|
(27) Нужно при входящем звонке словить кто звонит. Как правильно сделать?
|
|||
29
polosov
03.11.21
✎
16:31
|
(28) Сейчас при входящем звонке события сыпятся во внешнее событие? Если да, то начинай анализировать их. Если нет - проверяй настройки AMI и/или пробуй установить регулярку типа "."
|
|||
30
ChMikle
03.11.21
✎
16:47
|
(28) номер получить, по нему искать кто звонит
|
|||
31
igrned
03.11.21
✎
17:13
|
Блин, я уже не знаю куда смотреть.
Команды же все должны во внешнее событие прилетать? А прилетает только одно. Connect. Ну и соответственно исходящие/входящие звонки также не прилетают. Что нужно посмотреть в настройках АМИ? |
|||
32
ChMikle
03.11.21
✎
17:15
|
(31) смотри тебе надо кешировать один номер , который должен делать переадресацию после 2-3 звонка . Т.е. 1С должен успеть перехватить входящий звонок до того как астериск перенаправит его на оператора .
|
|||
33
ChMikle
03.11.21
✎
17:15
|
для того чтобы перехватить и проверить работу сейчас , попроси никого не поднимать трубку на твой входящий звонок
|
|||
34
polosov
03.11.21
✎
17:17
|
(31) Сделай SetRegEx("Event:.*")
|
|||
35
polosov
03.11.21
✎
17:18
|
+(34) Может при пустом выражении он ничего не кидает во внешнее событие, не помню уже, а в коде лень смотреть.
|
|||
36
igrned
03.11.21
✎
18:04
|
Может на видосе чето увидите. Записал экран =)
Там видно, что во внешнее событие не заходит. https://www.youtube.com/watch?v=x-QDeo07Lq0 |
|||
37
polosov
03.11.21
✎
18:09
|
(36) Ну вот ты подключился, установил регулярное выражение, теперь позвони на какой-нибудь внутренний номер или на внешний, без разницы и жди лог во внешнем событии. Если при звонке ничего не приходит, то смотри настройки AMI. Тут я не подскажу, гугли.
|
|||
38
polosov
03.11.21
✎
18:11
|
+(37) Что-то типа https://voxlink.ru/kb/book/interfejs-upravlenija-asterisk-ami/
|
|||
39
Йохохо
03.11.21
✎
18:29
|
CRLF используется для разделения каждой из строк в пакете и двух последовательностей CRLF (она же \r\n) для того, чтобы обозначить завершение передачи команды в Астериск
|
|||
40
Йохохо
03.11.21
✎
18:29
|
36 -> 8 !!1
|
|||
41
igrned
03.11.21
✎
19:19
|
(40) Так тоже пробовал...
https://ibb.co/f4vGQfG |
|||
42
Йохохо
03.11.21
✎
19:22
|
(41) напиши формулу срлф
|
|||
43
Йохохо
03.11.21
✎
19:25
|
CR это ВК, LF это ПС
|
|||
44
Йохохо
03.11.21
✎
19:25
|
линукс такой линукс
|
|||
45
Йохохо
03.11.21
✎
19:28
|
и тся ться исправь!
|
|||
46
igrned
03.11.21
✎
19:28
|
(42) CRLF = Символы.ВК + Символы.ПС;
|
|||
47
igrned
03.11.21
✎
19:28
|
(44) У меня Windows
|
|||
48
igrned
03.11.21
✎
19:29
|
(45) Не понял...
|
|||
49
Йохохо
03.11.21
✎
19:40
|
перехвати отладкой из 1с в текстовый файлик все команды и копипастой сделай через телнет
если у тебя и вправду (8) и (46) код рабочий возможно из-за отладки ты дожидаешься отлупа по таймауту |
|||
50
igrned
03.11.21
✎
20:07
|
Хорошая идея. В отладке скопипастил команду, через телнет вставил, всё ок отрабатывает.
Авторизация: https://ibb.co/YfFG4d1 CoreSettings: https://ibb.co/MRVK9Hy В 1С не работает... |
|||
51
Йохохо
03.11.21
✎
20:31
|
ТекстКоманды = "Action: Login"+username;
Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); ТекстКоманды = "CR"; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); ТекстКоманды = "LF"; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); . . . . ТекстКоманды = "CR"; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); ТекстКоманды = "LF"; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); ТекстКоманды = "CR"; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); ТекстКоманды = "LF"; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); ? |
|||
52
Йохохо
03.11.21
✎
20:37
|
вместо CR символ сам конечно и я бы попробовал /r/n
|
|||
53
igrned
03.11.21
✎
21:00
|
Ладно, всем спасибо за участие. На одном и том же месте топчусь. Разместил задачу на платном ресурсе, может хоть так помогут. Если есть желающие, кто тут может/хочет помочь на платной основе, напишите пожалуйста на почту.
[email protected] Спасибо) |
|||
54
igrned
04.11.21
✎
09:47
|
Еще раз привет. Вообщем, решил сам. Если кому интересно, нужно было после авторизации включить режим прослушивания...
И все Eventы приходят во внешнее событие. Спасибо) ТекстКоманды = "Action: login" + CRLF+ "Username: " + User + CRLF + "Secret: " + Secret + CRLF + CRLF; ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); ОбъектКомпоненты.РежимПрослушивания(Истина); |
|||
55
ChMikle
04.11.21
✎
10:28
|
Утро вечера мудренее ! Я так понял разобрался ?
|
|||
56
alexinnnn
10.11.21
✎
01:51
|
(3) Файлы к сожаланию удалились((
Обновите пожалуйста! |
|||
57
Shadow_writter
09.12.21
✎
16:25
|
(3) (0) Ребята, поделитесь компонентой, пожалуйста)
|
|||
58
polosov
09.12.21
✎
17:14
|
||||
59
Shadow_writter
10.12.21
✎
09:32
|
(58) Огромное спасибо!!!
|
|||
60
alien-n
29.12.21
✎
11:06
|
Всем привет! Прошу поделиться компонентой для 32 и 64 битных платформ
|
|||
61
desant14
03.06.22
✎
10:01
|
(55) Добрый день! В параллельной ветке (архивной) "1с: Пример интеграции 1С и АТС типа Asterisk штатными средствами 1С / 1С 8" Вы отсылали на почту исходники, всем желающим, там была обработка и компонента, если что-то осталось не могли бы Вы поделиться со мной? Ранее это было все реализовано (до меня), перестало работать, нужно попробовать восстановить, пытаюсь начать с нуля, по шагам в той ветке, но пока не с чего... если можете помочь, пришлите, пожалуйста, на почту [email protected].
|
|||
62
desant14
08.06.22
✎
16:38
|
(58) Добрый день! не могли бы обновить ссылку, нужна для х64
|
|||
63
ChMikle
08.06.22
✎
20:25
|
(61) после обеда пришлю
|
|||
64
ChMikle
08.06.22
✎
20:25
|
Завтра
|
|||
65
ChMikle
10.06.22
✎
10:43
|
(61) почту давайте, отправлю все что осталось
|
|||
66
ChMikle
10.06.22
✎
10:49
|
(65) отправил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |