Обратно к основной инструкции...
Производится в виде обратного звонка на номер пользователя.
В контексте miko_ajam определяется extension с номером 10000777.
[miko_ajam] exten => 10000777,1,NoOP(playrecords Asterisk)
При запросе имени файла записи, “Панель телефонии Asterisk” выполняет AMI команду originate. Параметры:
Переменные канала
В 1С следует передать имя файла записи разговора средствами UserEvent:
exten => 10000777,n,UserEvent(CallRecord,chan1c: ${chan},FileName: ${recfile})
Если файл не найден, то необходимо оповестить об этом:
exten => 10000777,n,UserEvent(CallRecordFail,chan1c: ${chan},uniqueid1c: ${uniqueid1c})
После выполнения UserEvent приложение должно ответить на звонок и отбить его.
exten => 10000777,n,Answer() exten => 10000777,n,Hangup()
Для проверки можно использовать следующий скрипт:
#!/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;
Вывод в консоли Asterisk
-- 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'
Вывод в AMI
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