Один раз я столкнулся с вопросом интеграции одного и другого, Немного вникнув в вопрос я от этого отказался. Вы сделали много работы, это впечатляет.
А по сути вопроса я ничего не скажу, сейчас, к сожалению или счастью, я работаю в другой области.
Не знаю, мы это не выпускали в публичный релиз и не разбирались, надо полистать что за комм использование считается, а что нет. В 1С есть внутренняя геосхема, можно на ней отображать. Пока только внутри компании для себя сделали посмотреть нужно ли это :)
С какими телефонами работает ваш Asterisk? и кстати, как у него с передачей русских CLID? и вы говорите про BLF — какие это модели? поддержка протокола BLF из коробки или доделывали сами?
Asterisk работает практически с любыми IP телефонами, а Askozia в частности умеет выполнять автонастройку этих моделей. Русские CallerID не пробовали пока, но вроде Yealink умеют это делать судя по этому посту.
У нас есть Yealink SIP-T28 и Yealink VP530 в обоих BLF заработал с Askozia из коробки.
Как настраивать BLF писал Sebastian из Askozia Team, вот наш перевод.
C Yealink телефонами русский CallerID работает без проблем, также и BLF. А вообще от asterisk CallerID можно отдавать в любой кодировке, даже налету перекодировать через iconv!
А можете подробнее рассказать про то, как реализовывали переадресацию и перехват звонков в 1С?
Занимался таким же проектом весной 2012, делал один, как компоненту на cpp, так и интеграцию в 1С, разве что в настройки Астериска меня не пускали. Реализовал все через AMI интерефейс, данные о звонке точно так же по окончанию получал через CDR. Компонента соединялась с Астериском (на подобие telnet) и парсила события (в самом Астериске был фильтр на определенные Events). Но проблемы были именно с переадресацией, смог реализовать только через промежуточный справочник внутри 1С — в итоге решение мне самому не понравилось, сроки были всего 2 месяца.
Да все просто, как только приходит событие с номером клиента, сравниваем с номером в заранее подготовленной таблице у каждого пользователя и, если совпало, вызываем командой Redirect безусоловный перевод на себя. Срабатывает только тогда, когда 1С у пользователя запущена, а значит он на рабочем месте :)
Тем не менее хотим переделать этот механизм на более интеллектуальный. Добавить перевод на отдел, если сотрудник не ответил.
Этот момент мне понятен, про перехват, хотя пару дней я ломал себе голову, как же это сделать, но логика-то проста :)
А вот именно редирект на другого сотрудника, вы используете условный или безусловный?
Я кажется сейчас понимаю, что моя проблема была в безусловном переводе, где я хотел чтобы оператор, на которого я переадресую звонок видел не мой внутренний номер, а номер клиента с внешки.
Т.е. оператор, назовем его оператор_2, видит номер абонента, которого переводит оператор_1 или же внутренний номер оператора_1? :)
Интересно, а на какое событие вы тогда опираетесь, из тех что выдает Астериск?
Что можно получить от интеграции 1С:CRM 8 и телефонии Asterisk