Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
astpanel:ats:asterisk:playrecords_v6 [2013/11/26 08:16] apor |
astpanel:ats:asterisk:playrecords_v6 [2018/06/08 09:17] (текущий) apor [10000777. Воспроизведени записи разговора по запросу 1С] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== 10000777. Воспроизведени записи разговора по запросу 1С ====== | ====== 10000777. Воспроизведени записи разговора по запросу 1С ====== | ||
[[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]] | [[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]] | ||
+ | <note important>**В этой статье описан алгоритм работы**. Пример реализации описан в [[http://wiki.miko.ru/astpanel:dialplan_miko_ajam | статье]] </note> | ||
Производится в виде обратного звонка на номер пользователя. | Производится в виде обратного звонка на номер пользователя. | ||
Строка 18: | Строка 19: | ||
В 1С следует передать имя файла записи разговора средствами UserEvent: | В 1С следует передать имя файла записи разговора средствами UserEvent: | ||
- | <code>exten => 10000777,n,UserEvent(CallRecord,Channel: ${chan},FileName: ${recfile})</code> | + | <code>exten => 10000777,n,UserEvent(CallRecord,chan1c: ${chan},FileName: ${recfile})</code> |
* **${recfile}** - полное имя файла записи | * **${recfile}** - полное имя файла записи | ||
* **${chan}** - канал пользователя, который инициировал originate | * **${chan}** - канал пользователя, который инициировал originate | ||
+ | |||
+ | Если файл не найден, то необходимо оповестить об этом: | ||
+ | <code>exten => 10000777,n,UserEvent(CallRecordFail,chan1c: ${chan},uniqueid1c: ${uniqueid1c})</code> | ||
После выполнения **UserEvent** приложение должно ответить на звонок и отбить его. | После выполнения **UserEvent** приложение должно ответить на звонок и отбить его. | ||
<code>exten => 10000777,n,Answer() | <code>exten => 10000777,n,Answer() | ||
exten => 10000777,n,Hangup()</code> | exten => 10000777,n,Hangup()</code> | ||
+ | ====== Проверка ====== | ||
+ | **Для проверки можно использовать следующий скрипт:** | ||
+ | * Звонок с SIP/104 (Телефон должен быть подключен) на 10000777 | ||
+ | <code>#!/bin/sh | ||
+ | dir_script='/tmp/'; | ||
+ | # каталог из asterisk.conf | ||
+ | astspooldir='/var/spool/asterisk'; | ||
+ | # | ||
+ | call_text="Channel: SIP/104 | ||
+ | Context: miko_ajam | ||
+ | Extension: 10000777 | ||
+ | Callerid: Alexey<104> | ||
+ | Setvar: uniqueid1c=1385413520.14 | ||
+ | Setvar: chan=SIP/104"; | ||
+ | |||
+ | echo "$call_text" > /tmp/file.call; | ||
+ | mv '/tmp/file.call' "$astspooldir/outgoing/"; | ||
+ | |||
+ | asterisk -rvvv; | ||
+ | </code> | ||
+ | **Вывод в консоли Asterisk** | ||
+ | |||
+ | <code> -- Executing [10000777@miko_ajam:1] NoCDR("SIP/104-00000011", "") in new stack | ||
+ | -- Executing [10000777@miko_ajam:2] NoOp("SIP/104-00000011", "internal calling application: 10000777 1C_Playback") in new stack | ||
+ | -- Executing [10000777@miko_ajam:3] AGI("SIP/104-00000011", "1C_Playback.php") in new stack | ||
+ | -- Launched AGI Script /var/lib/asterisk/agi-bin/1C_Playback.php | ||
+ | -- 1C_Playback.php: /var/spool/asterisk/monitor/2013/11/25/exten-106-104-20131125-160520-1385413520.14.wav | ||
+ | -- AGI Script Executing Application: (UserEvent) Options: (CallRecord,Channel:SIP/104,FileName:/var/spool/asterisk/monitor/2013/11/25/exten-106-104-20131125-160520-1385413520.14.wav) | ||
+ | -- <SIP/104-00000011>AGI Script 1C_Playback.php completed, returning 0 | ||
+ | -- Executing [10000777@miko_ajam:4] Hangup("SIP/104-00000011", "") in new stack | ||
+ | == Spawn extension (miko_ajam, 10000777, 4) exited non-zero on 'SIP/104-00000011' | ||
+ | </code> | ||
+ | |||
+ | **Вывод в AMI** | ||
+ | |||
+ | <code>Event: UserEvent | ||
+ | Privilege: user,all | ||
+ | UserEvent: CallRecord | ||
+ | Uniqueid: 1412877386.16 | ||
+ | Channel:SIP/104 | ||
+ | FileName:/var/spool/asterisk/monitor/2014-10/06/in_1001_2014-10-06-10-00-55.gsm | ||
+ | </code> | ||
+ | |||
+ | [[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]] | ||
+ | ===== Комментарии ===== | ||
+ | ~~DISQUS~~ |