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

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

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


astpanel:ats:asterisk:faxhistory_v6

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:ats:asterisk:faxhistory_v6 [2013/11/26 10:52]
apor
astpanel:ats:asterisk:faxhistory_v6 [2018/06/08 09:16] (текущий)
apor [Формат “Lines”]
Строка 2: Строка 2:
 [[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]] [[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]]
  
 +<note important>​**В этой статье описан алгоритм работы**. Пример реализации описан в [[http://​wiki.miko.ru/​astpanel:​dialplan_miko_ajam | статье]] </​note> ​
 ===== "​Динамическое"​ обновление истории факсов ===== ===== "​Динамическое"​ обновление истории факсов =====
  
Строка 10: Строка 11:
 [general] [general]
 enabled = yes</​code>​ enabled = yes</​code>​
- 
 ===== Получение истории факсов по запросу ===== ===== Получение истории факсов по запросу =====
 В плане набора должен быть описан контекст **miko_ajam**.\\ В плане набора должен быть описан контекст **miko_ajam**.\\
Строка 27: Строка 27:
  
 История факсов отправляется средствами **UserEvent**:​ История факсов отправляется средствами **UserEvent**:​
-<​code>​exten => 10000444,​n,​UserEvent(FaxFromCDR,​Channel: ${chan},​Date:​ ${date1},​Lines:​ ${Lines})</​code>​+<​code>​exten => 10000444,​n,​UserEvent(FaxFromCDR,​chan1c: ${chan},​Date:​ ${date1},​Lines:​ ${Lines})</​code>​
   * **${chan}** - канал в формате "​Технология/​Номер",​ запросившего историю (он же ${v1})   * **${chan}** - канал в формате "​Технология/​Номер",​ запросившего историю (он же ${v1})
   * **${date1}** - начало периода   * **${date1}** - начало периода
Строка 40: Строка 40:
  
 Когда вся история отправлена следует оповестить об этом Когда вся история отправлена следует оповестить об этом
-<​code>​exten => 10000444,​n,​UserEvent(Refresh1CFAXES,​Channel: ${chan},​Date:​ ${date1})</​code>​+<​code>​exten => 10000444,​n,​UserEvent(Refresh1CFAXES, ​chan1c: ${chan},​Date:​ ${date1})</​code>​
   * **${chan}** ​ - номер канала,​ запросившего историю (он же ${v1})   * **${chan}** ​ - номер канала,​ запросившего историю (он же ${v1})
   * **${date1}** - начало периода   * **${date1}** - начало периода
  
 +===== Проверка =====
 +====== 10000555. Настройка Asterisk для получения истории звонков в панели 1С ======
 +[[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]]
 +
 +===== "​Динамическое"​ обновление истории звонков =====
 +
 +Оповещение о добавлении CDR записи через AJAM интерфейс.
 +Для “**динамического**” обновления истории звонков в 1С следует произвести настройки:​
 +<​code>;/​etc/​asterisk/​cdr_manager.conf
 +; Asterisk Call Management CDR
 +[general]
 +enabled = yes</​code>​
 +
 +===== Получение истории звонков по запросу =====
 +В плане набора должен быть описан контекст **miko_ajam**.\\
 +В контексте miko_ajam определяется extension с номером **10000555**.\\
 +<​code>​[miko_ajam]
 +exten => 10000555,​1,​NoOP(Settings Asterisk)</​code>​
 +
 +При необходимости,​ **“Панель телефонии Asterisk”** выполняет AMI команду [[:​kb:​asterisk:​ami:​originate|originate]].\\
 +**Параметры originate**\\
 +  * channel ​    ​- Local/​10000555@miko_ajam
 +  * Application -       NoCDR
 +**Переменные канала** \\
 +  * v1 - канал пользователя в формате "​Технология/​Номер",​ который инициировал originate
 +  * v2 - начало периода в формате '​yyyy-mm-dd'​
 +  * v3 - конец периода в формате '​yyyy-mm-dd'​
 +  * v4 - номера телефонов в формате "​НОМЕР1-НОМЕР2-НОМЕР3..."​ (разделитель "​тире"​)
 +
 +История звонков отправляется средствами **UserEvent**:​
 +<​code>​exten => 10000555,​n,​UserEvent(FromCDR,​chan1c:​ ${chan},​Date:​ ${date1},​Lines:​ ${Lines})</​code>​
 +  * **${chan}** - канал в формате "​Технология/​Номер",​ запросившего историю (он же ${v1})
 +  * **${date1}** - начало периода
 +  * **${Lines}** - история звонков.
 +
 +==== Формат “Lines” ==== 
 +
 +Переменная **Lines** - тип “строка” содержит строки таблицы истории звонков. \\
 +  * Cтроки разлелены комбинацией “**.....**”.\\
 +  * Cтолбцы истории разделены комбинацией “**@.@**”.\\
 +
 +**Обязательный набор и порядок полей в строке:​**
 +<​code>​calldate,​src,​dst,​channel,​dstchannel,​billsec,​disposition,​uniqueid</​code> ​
 +
 +**Пример Lines:**
 +<​code>​calldate@.@src@.@dst@.@channel@.@dstchannel@.@billsec@.@disposition@.@uniqueid.....calldate@.@src@.@dst@.@channel@.@dstchannel@.@billsec@.@disposition,​@.@uniqueid</​code>​
 +
 +<note important>​На параметр Lines накладывается ограничение в 1024 символов. Если величина пакета превышает лимит, то следует выслать пакеты истории в нескольких UserEvent.</​note>​
 +
 +<note important>​Lines не должен содержать символов ​ перевода строки и возврат каретки (CRLF). Лучше если пробельных символов не будет.</​note>​
 + 
 +Когда вся история отправлена следует оповестить об этом
 +<​code>​exten => 10000555,​n,​UserEvent(Refresh1CHistory,​chan1c:​ ${chan},​Date:​ ${date1})</​code>​
 +  * **${chan}** ​ - номер канала,​ запросившего историю (он же ${v1})
 +  * **${date1}** - начало периода
 +===== Проверка =====
 +
 +**Для проверки можно использовать следующий скрипт:​**
 +  * Звонок с SIP/104 (Телефон должен быть подключен) на 10000444
 +
 +<​code>#​!/​bin/​sh
 +dir_script='/​tmp/';​
 +# каталог из asterisk.conf
 +astspooldir='/​var/​spool/​asterisk';​
 +#
 +call_text="​Channel:​ SIP/104
 +Context: miko_ajam
 +Extension: 10000444
 +Callerid: Alexey<​104>​
 +Setvar: v1=SIP/104
 +Setvar: v2=2013-11-01
 +Setvar: v3=2013-12-01
 +";
 +
 +echo "​$call_text"​ > /​tmp/​file.call;​
 +mv '/​tmp/​file.call'​ "​$astspooldir/​outgoing/";​
 +
 +asterisk -rvvv;
 +</​code>​
 +
 +**Вывод в AMI**
 +<​code>​Event:​ UserEvent
 +Privilege: user,all
 +UserEvent: Refresh1CFAXES
 +Uniqueid: 1412878640.21
 +Channel:​SIP/​104
 +Date:​2013-11-01</​code>​
  
 +[[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]]
astpanel/ats/asterisk/faxhistory_v6.1385463125.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)