Приветствую! Приобрели Софтфон, встроили в используемую конфигурацию. С АТС Panasonic TDA100 всё работает, всё здорово! Но вот возник один момент. Возможно ли получать на клиенте информацию такую же, как и показывает сервер Софтфона в закладке "Монитор"? Суть в том, что хотелось бы снимать полную статистистику звонков, поступающих на АТС. У нас настроены голосовые каналы DISAxxxx, различные группы пользователей и очереди ожидания GRPxxxx. И получается так, что не всегда входящий звонок поступает к оператору, а может, например, провисеть в очереди, и не обработаться. А хотелось бы получать подобную статистику на клиенте и писать в регистр для дальнейшей отработки и анализа. Подскажите, можно такое сделать? Меня хватило лишь на обработку изменения состояния линий, но вот как получить номер вызываемого абонента и вызываемый номер в момент изменения состояния линии..
День добрый. Нет, сейчас как на закладке "Монитор" посмотреть нельзя. Если вы ходите получать номера, то возьмите для примера процедуру ИзменениеСостоянияЗвонка как из данных полученных с АТС получить нужные вам данные.
Нет, сейчас как на закладке "Монитор" посмотреть нельзя.
Если вы ходите получать номера, то возьмите для примера процедуру ИзменениеСостоянияЗвонка как из данных полученных с АТС получить нужные вам данные.
Да, но я так понимаю, что в этой процедуре обрабатывается информация по звонкам, поступившей по одной линии, выбранной в настройках. А как получить по остальным линиям?
вот, например, как отслеживаю в обработчике внешнего сыбытия:
Код
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник = "RTUP" Тогда
ИнформацияДляВывода = Событие + ":" + Данные + " ";
Если Событие = "LineLock" Тогда
Линия = Линии.Найти(Число(Данные), "ИдентификаторЛинии");
Если Линия <> Неопределено Тогда
ПараметрыЛинии = РарусСофтФонКомпонента.GetLineInfo(Линия.ИмяЛинии);
Если ПараметрыЛинии <> Неопределено Тогда
ИнформацияДляВывода = ИнформацияДляВывода + " (";
Для Каждого Элемент Из ПараметрыЛинии Цикл
ИнформацияДляВывода = ИнформацияДляВывода + Элемент.Ключ + ":" + Элемент.Значение + "|";
КонецЦикла;
ИнформацияДляВывода = ИнформацияДляВывода + ")";
КонецЕсли;
ИнформацияДляВывода = ИнформацияДляВывода + " == " + Линия.ИмяЛинии;
КонецЕсли;
КонецЕсли;
Если Событие = "LineUnLock" Тогда
Линия = Линии.Найти(Число(Данные), "ИдентификаторЛинии");
Если Линия <> Неопределено Тогда
ПараметрыЛинии = РарусСофтФонКомпонента.GetLineInfo(Линия.ИмяЛинии);
Если ПараметрыЛинии <> Неопределено Тогда
ИнформацияДляВывода = ИнформацияДляВывода + " (";
Для Каждого Элемент Из ПараметрыЛинии Цикл
ИнформацияДляВывода = ИнформацияДляВывода + Элемент.Ключ + ":" + Элемент.Значение + "|";
КонецЦикла;
ИнформацияДляВывода = ИнформацияДляВывода + ")";
КонецЕсли;
ИнформацияДляВывода = ИнформацияДляВывода + "== " + Линия.ИмяЛинии;
КонецЕсли;
КонецЕсли;
Если Событие = "Change" Тогда
Звонок = РарусСофтФонКомпонента.GetCallInfo(Число(Данные));
Если Звонок <> Неопределено Тогда
ИнформацияДляВывода = ИнформацияДляВывода + " (";
Для Каждого Элемент Из Звонок Цикл
ИнформацияДляВывода = ИнформацияДляВывода + Элемент.Ключ + ":" + Элемент.Значение + ";";
КонецЦикла;
ИнформацияДляВывода = ИнформацияДляВывода + ")";
КонецЕсли;
КонецЕсли;
Сообщить(ИнформацияДляВывода);
КонецЕсли;
то есть получаю параметры линии при событиях Lock и Unlock. В данном примере, звонок поступил на внешнюю линию CO0009, потом для этого же звонка открыли линию информатора DISA0001, и после закрыли обе, после того как звонящий положил трубку. А вот самый-то главный вопрос, как получить номер звонящего? Если бы я мог подключиться сразу ко всем линиям, интересующим меня, тогда я мог бы вызывать GetCallInfo. Но при подключениях к дополнительным линиям, кроме указанной в настройке, приводит софтфон в нерабочее сотояние. А GetLineInfo номер телефон звонящего не отдает.
Сергей Масленников пишет: Да, включил контроль линий следующим образом: [QUOTE]РарусСофтФонКомпонента.ВключитьКонтрольЛинии("DISA0001");
Информацию по звонкам получаю. Скажите, может ли подобное включения контроля большого количества линий отразиться на качестве работы Софтфона у других операторов?
Я имел ввиду не контроль линии, а СписокЛинийПерехвата... посмотрите в процедуре ЗаполнитьСписокЛинийПерехвата(). Контролировать вы можете только одну линию, а когда заполняется список для перехвата, то вам будут приходить все события по данной линии.
Думаю, что на качестве работы это сильно не отразится
Сергей Масленников пишет: Я имел ввиду не контроль линии, а СписокЛинийПерехвата... посмотрите в процедуре ЗаполнитьСписокЛинийПерехвата(). Контролировать вы можете только одну линию, а когда заполняется список для перехвата, то вам будут приходить все события по данной линии.
Думаю, что на качестве работы это сильно не отразится
ЗаполнитьСписокЛинийПерехвата - не совсем то, что нужно, там внутренние номера сотрудников. А у линий групп, сообщений DISA как таковых номеров нет. Попробую. Но тот результат, что я уже получил, радует. Спасибо!