|
Пример интеграции 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 битный сервак?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |