Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


doc:panel1ccrm:asterisk_config:faxhistory

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:panel1ccrm:asterisk_config:faxhistory [2012/07/04 12:01]
nb
doc:panel1ccrm:asterisk_config:faxhistory [2014/11/14 22:32] (текущий)
Строка 1: Строка 1:
-====== Настройка Asterisk для отображения истории факсимильных сообщений в панели 1С ====== +{{page>astpanel:ats:asterisk:faxhistory}}
- +
-===== Запрос к CDR базе Asterisk используя диалплан и userevent ===== +
-<file - extensions_miko.conf>​ +
-[miko_ajam] +
-exten => 0000999,​1,​NoCDR() +
-exten => 0000999,​n,​Answer() +
-exten => 0000999,​n,​Wait(60) +
-exten => 0000999,​n,​Hangup() +
- +
-exten => 0000444,​1,​NoCDR() +
-exten => 0000444,​n,​Set(num=0) +
-exten => 0000444,​n,​Set(chan=${v1}) +
-exten => 0000444,​n,​Set(date1=${v2}) +
-exten =0000444,​n,​Set(date2=${v3}) +
-exten => 0000444,​n,​Set(dbname=${AST_CONFIG(cdr_mysql.conf,​global,​dbname)}) +
-exten => 0000444,​n,​Set(user=${AST_CONFIG(cdr_mysql.conf,​global,​user)}) +
-exten => 0000444,​n,​Set(password=${AST_CONFIG(cdr_mysql.conf,​global,​password)}) +
-exten => 0000444,​n,​Set(packet=20) +
-exten => 0000444,​n,​Set(tmp_dir=${ASTLOGDIR}) +
-exten => 0000444,​n,​Answer() +
-exten => 0000444,​n,​System( mysql -sse '​SELECT a.calldate,​a.src,​a.dst,​a.lastdata,​a.uniqueid,​a.lastapp from (SELECT * from cdr where calldate BETWEEN ${QUOTE(${date1})} AND ${QUOTE(${date2})}) AS a WHERE  a.lastapp="​SendFAX"​ OR a.lastapp="​ReceiveFAX"​ ' -u${user} -p${password} ${dbname}>​ ${tmp_dir}/​${UNIQUEID}) +
-exten => 0000444,​n,​Set(kls=${SHELL(cat ${tmp_dir}/​${UNIQUEID} |wc -l)}) +
-exten => 0000444,​n,​Gotoif($[ ${kls} = 0 ]?​DelTmpFile:SendFaxHistory) +
-exten => 0000444,​n(SendFaxHistory),​Set(ostatok=${kls}) +
-exten => 0000444,​n(SendNextPacket),​Set(packet=${IF($[ ${ostatok} < ${packet}]?​${ostatok}:${packet})}) +
-exten => 0000444,​n,​Set(num=$[${num} + ${packet}]) +
-exten => 0000444,​n,​UserEvent(FaxFromCDR,​Channel${chan},Lines: ${QUOTE(${SHELL(cat ${tmp_dir}/​${UNIQUEID} |head -n '​${num}'​| tail -n '​${packet}'​| sed '​s/​[\t]/'​\@,​\@'/​g'​|sed '​s/​$/​...../​g'​|tr "​\n"​ " "​)})}) +
-exten => 0000444,​n,​Set(ostatok=$[${ostatok}-${packet}]) +
-exten => 0000444,​n,​Gotoif($[ ${ostatok} > 0 ]?​SendNextPacket:​DelTmpFile) +
-exten => 0000444,​n(DelTmpFile),​System(rm ${tmp_dir}/​${UNIQUEID}) +
-exten => 0000444,​n,​ExecIf($[${kls}>​0]?​UserEvent(Refresh1CFAXES,​Channel:​ ${chan},​Date:​ ${date1})) +
-exten => 0000444,​n,​Hangup() +
- +
-</​file>​ +
- +
-===== Запрос к CDR базе Asterisk используя ODBC и механизм внешних источников данных в 1С ===== +
-<code 1c> +
- +
-//​Функция генерирует строку соединения с сервером через ODBC драйвер +
-Функция СформироватьСтрокуСоединенияСАстерискСервером(host,​database,​user,​pass) +
-  +
- СтрокаСоединения = "​DRIVER={MySQL ODBC 5.1 Driver}; SERVER="​+host+";​ DATABASE="​+database+";​ UID="​+user+";​ PWD="​+pass;​  +
-  +
- Возврат СтрокаСоединения;​ +
-  +
-КонецФункции +
- +
-//​Функция возвращает информацию о факсах с сервера телефонии +
-Функция ВернутьЗаписиCDRПоФаксимильнымСообщениям(ДатаНачало,​ ДатаОкончания) Экспорт +
-  +
- СтрокаСоединенияСАстерискСервером = СформироватьСтрокуСоединенияСАстерискСервером("​ASTERISK_HOST","​ASTERISK_cdrdb","​ASTERISK_cdrdb_login","​ASTERISK_cdrdb_password"​);​ +
-  +
- ПараметрыСоединенияСАстерискомМИКО = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;​  +
- ПараметрыСоединенияСАстерискомМИКО.СтрокаСоединения = СтрокаСоединенияСАстерискСервером;​ +
-  +
- ВнешниеИсточникиДанных.Asterisk.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединенияСАстерискомМИКО);​  +
- ВнешниеИсточникиДанных.Asterisk.УстановитьСоединение();​  +
-  +
- Запрос = Новый Запрос;​ +
- Запрос.Текст = "​ВЫБРАТЬ +
-                ​| ВЫРАЗИТЬ(cdr.calldate КАК ДАТА) КАК calldate, +
-                ​| cdr.clid,​ +
-                ​| cdr.src,​ +
-                ​| cdr.dst,​ +
-                ​| cdr.dcontext,​ +
-                ​| cdr.channel,​ +
-                ​| cdr.dstchannel,​ +
-                ​| cdr.lastapp,​ +
-                ​| cdr.lastdata,​ +
-                ​| cdr.duration,​ +
-                ​| cdr.billsec,​ +
-                ​| cdr.disposition,​ +
-                ​| cdr.amaflags,​ +
-                ​| cdr.accountcode,​ +
-                ​| cdr.uniqueid,​ +
-                ​| cdr.userfield,​ +
-                ​| cdr.recordingfile +
-                ​|ИЗ +
-                ​| ВнешнийИсточникДанных.Asterisk.Таблица.cdr КАК cdr +
-                ​|ГДЕ +
-                ​| ВЫРАЗИТЬ(cdr.calldate КАК ДАТА) МЕЖДУ &​НачалоДня И &​КонецДня +
-                | И (cdr.lastapp = ""​SendFAX""​ +
-                ​| ИЛИ cdr.lastapp = ""​ReceiveFAX""​) +
-                | +
-                ​|УПОРЯДОЧИТЬ ПО +
-                ​| calldate УБЫВ +
-                ​|АВТОУПОРЯДОЧИВАНИЕ";​ +
-  +
- Запрос.УстановитьПараметр("​НачалоДня",​ДатаНачало);​ +
- Запрос.УстановитьПараметр("​КонецДня",​ДатаОкончания);​ +
-  +
- Результат = Запрос.Выполнить();​ +
-  +
- ТЗ=Результат.Выгрузить();​ +
- Возврат ТЗ; +
-  +
-КонецФункции +
-</​code>​ +
- +
-<note tip>​Готовые файлы скриптов лежат в дистрибутиве поставки панели Asterisk для 1C</​note>​ +
- +
-<note important>​Если для вас данная инструкция оказалась сложной,​ не стесняйтесь,​[[http://​www.miko.ru/​contacts/​|пишите,​ звоните]],​ мы поможем или предложим настроенные решения от партнеров.</​note>​ +
- +
- +
-==== Полезные ссылки ==== +
-  * [[doc:​1cajam:​astcastomize|Общая предварительная настройка AJAM интерфейса Asterisk.]] +
-  * [[doc:​panel1ccrm:​asterisk_config:​environments|Настройка передачи общих параметров системы из Asterisk]] +
-  * [[doc:​panel1ccrm:​asterisk_config:​callhistory|Настройка получения истории звонков в панели 1С]] +
-  * [[doc:​panel1ccrm:​asterisk_config:​playrecords|Настройка проигрывания записи разговора по запросу панели 1С]] +
-  * [[doc:​panel1ccrm:​asterisk_config:​downrec|Настройка скачивания файла записи пользователем из панели телефонии]] +
-  * [[doc:​panel1ccrm:​asterisk_config:​faxhistory|Настройка отображения истории факсимильных сообщений в панели 1С]] +
-  * [[doc:​panel1ccrm:​asterisk_config:​faxsend|Настройка отправки факсимильного сообщения из 1С]] +
-  * [[doc:​panel1ccrm:​asterisk_config:​downfax|Настройка скачивания файла факса пользователем из панели телефонии]] +
- +
-   +
- +
-==== Комментарии ==== +
- +
-~~DISQUS~~+
doc/panel1ccrm/asterisk_config/faxhistory.1341403280.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)