|   |   | 
| 
 | Пример интеграции 1С и АТС типа Asterisk штатными средствами 1С | ☑ | ||
|---|---|---|---|---|
| 0
    
        ChMikle 19.10.20✎ 15:21 | 
        У кого-нибудь есть в свободном доступе что-то типа http://catalog.mista.ru/public/1025458/
 Или примеры работы в виде кода ? | |||
| 155
    
        ChMikle 27.10.20✎ 10:08 | 
        (153) я правильно понимаю, что после окончания звонка , должно произойти внешнее событие , которое должно перехватить 1С и по наименованию события получить список аргументов (данных) имя файла -один из них. Просто вчера ковырялся , обработка внешнего события не не реагирует : то ли нет событий от астериск , то ли еще что-то ...     | |||
| 156
    
        ChMikle 27.10.20✎ 10:09 | 
        Но ведь должно же работать :)))     | |||
| 157
    
        Йохохо 27.10.20✎ 10:17 | 
        я пока так понял, что какая то важная деталь с каналами, и монитор_файлнейм улетает куда то не туда     | |||
| 158
    
        Fedor-1971 27.10.20✎ 10:23 | 
        (155) типа да. Если нужно что-то получить, это должен отдать Астериск и уметь обработать событие в 1С, 
 типа Dialplan - имеет ID звонка (есть нюансы если переключали на другого сотрудника), время начала звонка, время ответа, длительность разговора, время когда трубку положили (это было раньше, что сейчас отдаёт Астериск не скажу). Запись в файл была отдельным событием но ID звонка оставался тем же | |||
| 159
    
        ChMikle 27.10.20✎ 10:37 | 
        (157) либо какую-то еще опцию надо подключать чтобы возвращала данные после звонка  . 
 Тут еще проблема в том, что админ который астериском рулит , поверхностно знает его , атс настроили , ему показали как номер добавить , убрать и все... | |||
| 160
    
        ChMikle 27.10.20✎ 10:39 | 
        ((158) тут без заморочек, менеджер позвонил из 1С выбрав номер (уже работает с божьей и товарищей по ветке помощью), запись могу прослушать заказав обратно , но вот осталось имя фала получать после звонка (а не перебирать в каталоге) .     | |||
| 161
    
        Йохохо 27.10.20✎ 11:11 | 
        (159) в консоли или какая то вебморда?     | |||
| 162
    
        ChMikle 27.10.20✎ 11:14 | 
        (161) кто бы знал , предположение . тут-то все просто http://wiki.simplit.info/doku.php/solution/operator/mixmonitor     | |||
| 163
    
        Йохохо 27.10.20✎ 11:21 | 
        (162) найдите мануал и поставьте сверху freepbx с cdr
 сейчас проверю ключ all | |||
| 164
    
        Йохохо 27.10.20✎ 11:23 | 
        Executing [s@macro-hangupcall:3] ExecIf("SIP/1xx-0000028c", "0?Set(CDR(recordingfile)=)") in new stack
 это логи, они намекают что с цдр все взлетит) | |||
| 165
    
        Йохохо 27.10.20✎ 11:31 | 
        с all тоже ничего полезного, куча мусора     | |||
| 166
    
        ChMikle 27.10.20✎ 11:33 | 
        (164) Я тут еще одного знакомого попросил подключиться , он вроде тоже с астериском знаком, м.б. все-таки получится ...
 Нет , тогда буду разбираться с freepbx с cdr . ЗЫ ведь в описании-то все работает с получением событий :( | |||
| 167
    
        Йохохо 27.10.20✎ 11:35 | 
        (166) Asterisk 11.19.0 нету, мб фрипбх реализует это не через миксмонитор, хз     | |||
| 168
    
        ChMikle 27.10.20✎ 11:35 | 
        (167) у нас после выполнения команды в телнете никаких событий не происходит :(     | |||
| 169
    
        Йохохо 27.10.20✎ 11:36 | 
        (168) Events: off - тут офф да?)
 Action: Login Username: admin Secret: amp111 | |||
| 170
    
        ChMikle 27.10.20✎ 11:43 | 
        (169) Получилось получать события ?     | |||
| 171
    
        Йохохо 27.10.20✎ 11:45 | 
        (170) с ивентс он, конечно     | |||
| 172
    
        Йохохо 27.10.20✎ 11:45 | 
        проверьте cat /etc/asterisk/manager.conf     | |||
| 173
    
        ChMikle 27.10.20✎ 11:55 | 
        побежал :))     | |||
| 174
    
        ChMikle 27.10.20✎ 12:07 | 
        (172) а там что проверять ?     | |||
| 175
    
        Йохохо 27.10.20✎ 12:10 | 
        (174) deny в сетях и права на источники событий     | |||
| 176
    
        ChMikle 27.10.20✎ 12:19 | 
        (175) никуя не понял , но при авторизации пошли события :) среди них VarSet , только 1С не перехватывает почему-то :((     | |||
| 177
    
        Йохохо 27.10.20✎ 12:28 | 
        у меня варсеты только не нужные, типа 
 Event: VarSet Privilege: dialplan,all Channel: SIP/1хх -00000002 Variable: MACRO_CONTEXT Value: from-internal Uniqueid: 1603787875.2 | |||
| 178
    
        ChMikle 27.10.20✎ 12:43 | 
        (177) 1603787875.2 - это уникальный идентификатор файла ? правильно ?     | |||
| 179
    
        Йохохо 27.10.20✎ 13:01 | 
        (178) не файла, а цепочки выполнения вызова     | |||
| 180
    
        ChMikle 27.10.20✎ 14:05 | 
        (179) типа номер источник- номер получателя - дата звонка- время звонка - 1603787875.2 ?
 Внешнее событие не отрабатывает в 1С , где-то в настройках AMI должно быть установлено отправлять события во вне ? | |||
| 181
    
        Йохохо 27.10.20✎ 14:19 | 
        (180) добейся устойчивой работы через шелл, а потом уже 1с. АМИ отправляет всё что есть в секции read и что умеет
 Uniqueid это идентификатор цепочки, создан канал, запись в лог, событие статуса, звонок бдф хенгап, сквозь все события проходит Uniqueid сделай себе шел и в астер тоже, а то так и будешь ковыряться в черном ящике, asterisk -rvvv может быть познавательным | |||
| 182
    
        ChMikle 27.10.20✎ 14:28 | 
        (181) меня смущает один момент , режим прослушивания у самой компоненты стоит ложь , м.б. поэтому 1С и не ловит внешние события  и  как перевести в истину ?     | |||
| 183
    
        ChMikle 27.10.20✎ 14:30 | 
        +(182) демонстрационный режим тоже истина     | |||
| 184
    
        ChMikle 27.10.20✎ 14:30 | 
        а то может я вам мозги ипу , а в деморежиме не поддерживаются какие-то возможности , например чтение событий от астериск     | |||
| 185
    
        ChMikle 27.10.20✎ 15:00 | 
        (182) поменял после подключения режим прослушивания на значение "истина", но все равно внешнее событие не попадает     | |||
| 186
    
        oslokot 27.10.20✎ 15:19 | 
        Уважаемые polosov и ChMikle, добрые люди, дайте мне тоже пожалуйста скомпилированный dll, у меня стоит такая же задача интеграции с астериксом Yeastar 300. По Putty к ней подключаюсь и логинюсь нормально (порт 5038) По хорошему, нужно просто брать логи звонков cdr и рекордсы вытаскивать
 Помогите пожалуйста! | |||
| 187
    
        ChMikle 27.10.20✎ 15:25 | 
        могу дать свою с примером уже подключения и исходящего звонка , библиотека в макете     | |||
| 188
    
        oslokot 27.10.20✎ 15:26 | 
        (187) спасибо! oslokot собака mail точка ru     | |||
| 189
    
        ChMikle 27.10.20✎ 15:27 | 
        (188) ловите, если получится события внешние отлавливать , то сюда напишите, а то у меня в этом затык.     | |||
| 190
    
        oslokot 27.10.20✎ 15:44 | 
        (189) не дошло почемуто     | |||
| 191
    
        polosov 27.10.20✎ 15:52 | 
        (189) Ты фильтр после подключения устанавливаешь?     | |||
| 192
    
        polosov 27.10.20✎ 15:54 | 
        (189) .SetRegEx(".*") к примеру     | |||
| 193
    
        oslokot 27.10.20✎ 15:59 | 
        (189) спасиба! получил     | |||
| 194
    
        ChMikle 27.10.20✎ 16:00 | 
        (191) да нет , все ловлю , ничего не прилетает :)     | |||
| 195
    
        ChMikle 27.10.20✎ 16:04 | 
        (193) библиотека в макете     | |||
| 196
    
        polosov 27.10.20✎ 16:09 | 
        (194) Есче раз говорю, установи фильтр после подключения компоненты.     | |||
| 197
    
        ChMikle 27.10.20✎ 16:16 | 
        (196) а какой фильтр должен быть ? скинь кусок кода как ты устанавливаешь ? :)     | |||
| 198
    
        polosov 27.10.20✎ 16:20 | 
        (197) У тебя что-то типа:
 Компонента = Новый ("Addin...."); компонента.Connect... //Тут логины //Потом установи фильтр Компонента.SetRegEx(".*"); | |||
| 199
    
        polosov 27.10.20✎ 16:24 | 
        +(198) 
 Компонента возвращает событие, если оно подходит под фильтр if (std::regex_search(Data2, r)) { return res; } | |||
| 200
    
        ChMikle 27.10.20✎ 16:24 | 
        (198) вставил , но что-то нет ничего в обратку :(((     | |||
| 201
    
        ChMikle 27.10.20✎ 16:27 | 
        я на внешнее событие формы вешаю в тонкомклиенте Процедура ВнешнееСобытие(Источник, Событие, Данные) и по окончанию звонка не переходит в ее тело при отладке     | |||
| 202
    
        oslokot 27.10.20✎ 17:00 | 
        Ребят, а можно мне макет BROMAsteriskNative скомпилированный под 64 бита? (187) работает, но только под з2     | |||
| 203
    
        ChMikle 27.10.20✎ 17:51 | 
        (202) 5 сек и вышлю     | |||
| 204
    
        Kabz 28.10.20✎ 08:07 | 
        И мне скинь плиз. Kabz@mail.ru     | |||
| 205
    
        ChMikle 28.10.20✎ 09:21 | 
        (204) Тебе что именно ?     | |||
| 206
    
        ChMikle 28.10.20✎ 11:25 | 
        UP     | |||
| 207
    
        ChMikle 28.10.20✎ 11:28 | 
        Кому-нибудь могу свою обработку выслать для тестирования перехвата внешних событий от астериска , не перехватывает и все , а в чем проблема( в коде обработки 1С или астериска) после вашего теста станет ясно однозначно. Админ астериска говорит что все открыто , в телнете вроде сообщения о событиях появляются     | |||
| 208
    
        ChMikle 28.10.20✎ 14:05 | 
        UP     | |||
| 209
    
        Йохохо 28.10.20✎ 15:14 | 
        (207) старая с моими правками сойдет?     | |||
| 210
    
        ChMikle 28.10.20✎ 15:31 | 
        (209)                   Port = "5038"; 
 ОбъектКомпоненты.Connect(IP,Port); ОбъектКомпоненты.РежимПрослушивания(Истина); ------- Добавил , была ложь ---------------------------------------------------- ТекстКоманды="Events: on"+ПС+ "Action: login"+ПС+ "Username: "+user+ПС+ "Secret: "+password+ПС; ТекстКоманды = ТекстКоманды + ПС + ПС; Флаг = ОбъектКомпоненты.ВыполнитьКоманду(ТекстКоманды); //ОбъектКомпоненты.SetRegEx(".*"); ////--------------- звоним ---------------- // добавил фильтр на события и номер СтрокаФильтра="Dial.{1,}?Begin.{1,}?180|Bridge.{1,}?180|Hangup.{1,}?180|MIXMONITOR_FILENAME"; Флаг = ОбъектКомпоненты.УстановитьРегулярноеВыражение(СтрокаФильтра); | |||
| 211
    
        ChMikle 28.10.20✎ 15:32 | 
        +(210) м.б. сама библиотека не получает события ... х.з. кто и как ее собирал     | |||
| 212
    
        Йохохо 28.10.20✎ 15:37 | 
        (210) вот прям хочется местами поменять коннект и режим)     | |||
| 213
    
        ChMikle 28.10.20✎ 15:52 | 
        (212) щас сделаем :)     | |||
| 214
    
        ChMikle 28.10.20✎ 15:55 | 
        (213) так же после звонка в события не попадает :(((     | |||
| 215
    
        Йохохо 28.10.20✎ 15:56 | 
        я повожусь, потом отпишусь     | |||
| 216
    
        ChMikle 28.10.20✎ 15:58 | 
        ОбъектКомпоненты.SetRegEx(".*");
 тут еще вот советовал Полосов , тоже подставлял , но ничего не получилось | |||
| 217
    
        ChMikle 28.10.20✎ 16:05 | 
        .........................
 К кому обратишь ты Пронзительный вопль недотепы? Ты завоешь в отчаяньи: — ЙохохО, введи войска! Спаси меня, ЙохохО, ЗЫ перефразировав немного :))) | |||
| 218
    
        Йохохо 28.10.20✎ 16:15 | 
        я подольше повожусь, попробую полностью разобраться, а то висит в недоделанных задачка, тикает капает     | |||
| 219
    
        ChMikle 28.10.20✎ 16:17 | 
        (218) ок     | |||
| 220
    
        ChMikle 29.10.20✎ 11:59 | 
        UP     | |||
| 221
    
        ChMikle 30.10.20✎ 10:47 | 
        UP     | |||
| 222
    
        yakutyan_ 30.10.20✎ 14:10 | 
        (221) на чем сейчас затык? получилось внешние событие обрабатывать?     | |||
| 223
    
        yakutyan_ 30.10.20✎ 14:13 | 
        (210) без регулярки поступают события всех телефонных номеров?     | |||
| 224
    
        ChMikle 30.10.20✎ 14:17 | 
        (222) неа , не ловит , хоть ты тресни. В телнете события выводит онлайн     | |||
| 225
    
        ChMikle 30.10.20✎ 14:18 | 
        у меня подозрение на саму библиотеку , у себя можешь проверить будет ловить или нет внешние события от атс ?     | |||
| 226
    
        yakutyan_ 30.10.20✎ 14:18 | 
        (224) а без регулярки?     | |||
| 227
    
        yakutyan_ 30.10.20✎ 14:19 | 
        (225) напиши на почту stake1995@mail.ru     | |||
| 228
    
        ChMikle 30.10.20✎ 14:22 | 
        (227) пишу     | |||
| 229
    
        ChMikle 30.10.20✎ 14:28 | 
        (228) отправил , проверяй почту     | |||
| 230
    
        ChMikle 30.10.20✎ 16:02 | 
        (227)  Спасибо за помощь , все получилось !!!     | |||
| 231
    
        ChMikle 03.11.20✎ 10:02 | 
        Продолжаем разговор. Что имеем : подключение, авторизация , звонок из 1С исходящий, прослушка событий на Астериск , получение имени файла записи разговора , запрос на прослушивание нужной записи с Астериск.
 Осталось самое сложное переадресация внешних входящих звонков на нужный внутренний номер . Т.е. в карточке клиента есть номер клиента и внутренний номер менеджера , т.е. когда звонок от клиента поступает на атс , 1С перехватывает его и перенаправляет на внутренний номер менеджера , параллельно открывая карточку клиента на экране менеджера приглашая его к ответу. | |||
| 232
    
        ChMikle 03.11.20✎ 12:53 | 
        Аналогичный функционал есть и в AMI:
 Action: Redirect [ActionID:] value Channel: value [ExtraChannel:] value Exten: value [ExtraExten:] value Context: value [ExtraContext:] value Priority: value [ExtraPriority:] value> Кто-нибудь юзал эту команду , параметры какие должны быть ? | |||
| 233
    
        ChMikle 03.11.20✎ 16:49 | 
        заработало , кому интересно . Нужно перехватить канал из события Dial Beggin и его перенаправить на нужный номер     | |||
| 234
    
        ChMikle 25.11.20✎ 16:40 | 
        Функция ЗаписьПрослушать(Знач ИмяФайла="") Экспорт;
 CRLF=Chars.CR+Chars.LF; Протокол="SIP/"; ВнутреннийНомер="902"; Приоритет="1"; Таймаут="30000"; ИмяФайла=СтрЗаменить(ИмяФайла,".gsm",""); ИмяФайла=СтрЗаменить(ИмяФайла,".wav",""); Приемник="s"; Источник=Протокол+ВнутреннийНомер; КонтекстЗаписи="1c-playfile"; ИДНомера="1c-playfile"; СтрокаПерем="MSG1="+ИмяФайла+",COUNT=1"; ТекстКоманды="Action: Originate"+CRLF+ "Channel: "+Источник+CRLF+ "Context: "+КонтекстЗаписи+CRLF+ "Exten: "+Приемник+CRLF+ "Priority: "+Приоритет+CRLF+ "Callerid: "+ИДНомера+CRLF+ "Timeout: "+Таймаут+CRLF+ "Variable: "+СтрокаПерем+CRLF; Телефония.ВыполнитьКоманду(ТекстКоманды); КонецФункции// ЗаписьПрослушать не проигрывет файл , хотя выполняется и запускает в Sipfone звонок | |||
| 235
    
        ChMikle 25.11.20✎ 16:40 | 
        не проигрывет файл , хотя выполняется и запускает в Sipfone звонок     | |||
| 236
    
        ChMikle 25.11.20✎ 17:23 | 
        Заработало ,надо все-таки полный путь к записи указывать и ".wav" убирать     | |||
| 237
    
        Kabz 26.11.20✎ 12:55 | 
        Ну,а пример на почту,тоже хочу покапаться.:)с компонентой?     | |||
| 238
    
        anika79 16.12.20✎ 09:59 | 
        (20) можно мне тоже скомпилированную dll для 32 и 64 бит? ...начала с этим мучаться... а самой будет весьма сложно собрать..     | |||
| 239
    
        oslokot 16.12.20✎ 10:01 | 
        Компонента конечно хороша, но все работает только на клиенте. В регзадание не засунешь     | |||
| 240
    
        anika79 16.12.20✎ 11:01 | 
        (239) Можете скинуть на почту anika79@yandex.ru то, что есть? :) макет 64 бита?     | |||
| 241
    
        oslokot 16.12.20✎ 11:10 | 
        (240) Отправил вам все что у меня было по данному вопросу. 
 Мне ранее высылал эти файлы ChMikle Но повторюсь, компонента мне не подошла т.к. мне нужно было серверное взаимодействие с атс-кой и я решил задачу другим путем | |||
| 242
    
        anika79 16.12.20✎ 11:30 | 
        (241) Большое человеческое спасибо! Уже изучаю! Пока у нас идея серверного взаимодействия не стоит, но, если вдруг понадобится,
 можно будет позадавать вопросы в рамках этой ветки? :) | |||
| 243
    
        andryscha1c 15.01.21✎ 01:01 | 
        (241) (242) всем привет, вам удалось сделать интеграцию 1с с Asterisk? Через внешнюю компоненту?     | |||
| 244
    
        ChMikle 15.01.21✎ 09:27 | 
        (243) ветку почитай я там выше код выкладывал на исходящие, входящие звонки и прослушку записей разговоров!     | |||
| 245
    
        ДенисЧ 15.01.21✎ 09:28 | 
        (244) "прослушку записей разговоров"
 Так вот кто люппке телефон испортил! ))))) | |||
| 246
    
        ChMikle 15.01.21✎ 09:37 | 
        (245) наша служба и опасна и трудна ... (с) ;)     | |||
| 247
    
        andryscha1c 15.01.21✎ 23:45 | 
        (244) а какую именно ты внешнюю компоненту использовал?     | |||
| 248
    
        andryscha1c 16.01.21✎ 12:32 | 
        (246)   ChMikle, можешь мне пожалуйста скинуть рабочую собранную компоненту и прочие материалы если не сложно? буду благодарен, прочитал ветку понял все шаги, тоже начинаю разбираться и для начала необходимо найти рабочую компоненту и подключить ее.     | |||
| 249
    
        andryscha1c 16.01.21✎ 13:27 | 
        (23) polosov можете мне собрать пожалуйста и выслать?     | |||
| 250
    
        ChMikle 16.01.21✎ 13:51 | 
        (248) в понедельник напомни, скину обработку с функциями и библиотеку     | |||
| 251
    
        andryscha1c 16.01.21✎ 15:29 | 
        (250) Хорошо спасибо большое!     | |||
| 252
    
        andryscha1c 01.11.23✎ 04:33 | 
        (250) ChMikle напоминаю     | |||
| 253
    
        ChMikle 18.01.21✎ 09:49 | 
        (252) Выслал , проверяй почту     | |||
| 254
    
        andryscha1c 19.01.21✎ 15:34 | 
        Ребят, у кого нибудь есть рабочая компонента под 64 битный сервак?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |