|   |   | 
| 
 | Компонента 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 | 
        Ладно, всем спасибо за участие. На одном и том же месте топчусь. Разместил задачу на платном ресурсе, может хоть так помогут. Если есть желающие, кто тут может/хочет помочь на платной основе, напишите пожалуйста на почту.
 igrned@gmail.com Спасибо) | |||
| 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" Вы отсылали на почту исходники, всем желающим, там была обработка и компонента, если что-то осталось не могли бы Вы поделиться со мной? Ранее это было все реализовано (до меня), перестало работать, нужно попробовать восстановить, пытаюсь начать с нуля, по шагам в той ветке, но пока не с чего... если можете помочь, пришлите, пожалуйста, на почту Lost71@inbox.ru.     | |||
| 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) отправил     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |