Имя: Пароль:
1C
1С v8
Пример интеграции 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
И мне скинь плиз. [email protected]
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) напиши на почту [email protected]
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) Можете скинуть на почту [email protected] то, что есть? :) макет 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 битный сервак?