Подключаемся к АТС по инструкции.
Отлаживаем «приложения» в CLI консоли asterisk:
asterisk -r
Устанавливаем уровни отладки:
core set verbose 3 agi set debug on
Воспроизводим ситуацию, видим:
-- Executing [10000666@internal:1] NoOp("Local/10000666@internal-00000033;2", "internal calling application: 1C_Download_v6.2") in new stack -- Executing [10000666@internal:2] Set("Local/10000666@internal-00000033;2", "CDR(InternalCalleridNum)=10000666") in new stack -- Executing [10000666@internal:3] Set("Local/10000666@internal-00000033;2", "_CALLED=10000666") in new stack -- Executing [10000666@internal:4] Goto("Local/10000666@internal-00000033;2", "DIALPLAN-APPLICATION-1C_Download_v6,10000666,1") in new stack -- Goto (DIALPLAN-APPLICATION-1C_Download_v6,10000666,1) -- Executing [10000666@DIALPLAN-APPLICATION-1C_Download_v6:1] AGI("Local/10000666@internal-00000033;2", "DIALPLAN-APPLICATION-1C_Download_v6.php") in new stack -- Launched AGI Script /etc/asterisk/agi-bin/DIALPLAN-APPLICATION-1C_Download_v6.php <Local/10000666@internal-00000033;2>AGI Tx >> agi_request: DIALPLAN-APPLICATION-1C_Download_v6.php <Local/10000666@internal-00000033;2>AGI Tx >> agi_channel: Local/10000666@internal-00000033;2 <Local/10000666@internal-00000033;2>AGI Tx >> agi_language: en-us <Local/10000666@internal-00000033;2>AGI Tx >> agi_type: Local <Local/10000666@internal-00000033;2>AGI Tx >> agi_uniqueid: askozia-1486736174.223 <Local/10000666@internal-00000033;2>AGI Tx >> agi_version: 10.9.0 <Local/10000666@internal-00000033;2>AGI Tx >> agi_callerid: unknown <Local/10000666@internal-00000033;2>AGI Tx >> agi_calleridname: unknown <Local/10000666@internal-00000033;2>AGI Tx >> agi_callingpres: 67 <Local/10000666@internal-00000033;2>AGI Tx >> agi_callingani2: 0 <Local/10000666@internal-00000033;2>AGI Tx >> agi_callington: 0 <Local/10000666@internal-00000033;2>AGI Tx >> agi_callingtns: 0 <Local/10000666@internal-00000033;2>AGI Tx >> agi_dnid: unknown <Local/10000666@internal-00000033;2>AGI Tx >> agi_rdnis: unknown <Local/10000666@internal-00000033;2>AGI Tx >> agi_context: DIALPLAN-APPLICATION-1C_Download_v6 <Local/10000666@internal-00000033;2>AGI Tx >> agi_extension: 10000666 <Local/10000666@internal-00000033;2>AGI Tx >> agi_priority: 1 <Local/10000666@internal-00000033;2>AGI Tx >> agi_enhanced: 0.0 <Local/10000666@internal-00000033;2>AGI Tx >> agi_accountcode: <Local/10000666@internal-00000033;2>AGI Tx >> agi_threadid: 1098038176 <Local/10000666@internal-00000033;2>AGI Tx >> <Local/10000666@internal-00000033;2>AGI Rx << GET VARIABLE EXTEN <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=1 (10000666) <Local/10000666@internal-00000033;2>AGI Rx << GET VARIABLE v1 <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=1 (SIP/201) <Local/10000666@internal-00000033;2>AGI Rx << GET VARIABLE v2 <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=1 (askozia-1486735580.207) <Local/10000666@internal-00000033;2>AGI Rx << GET VARIABLE v3 <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=1 () <Local/10000666@internal-00000033;2>AGI Rx << GET VARIABLE v6 <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=1 (Records) <Local/10000666@internal-00000033;2>AGI Rx << EXEC UserEvent FailDownloadRecord,Channel:SIP/201,uniqueid1c:askozia-1486735580.207 -- AGI Script Executing Application: (UserEvent) Options: (FailDownloadRecord,Channel:SIP/201,uniqueid1c:askozia-1486735580.207) <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=0 <Local/10000666@internal-00000033;2>AGI Rx << EXEC NoCDR -- AGI Script Executing Application: (NoCDR) Options: () <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=0 <Local/10000666@internal-00000033;2>AGI Rx << ANSWER <Local/10000666@internal-00000033;2>AGI Tx >> 200 result=-1 -- <Local/10000666@internal-00000033;2>AGI Script DIALPLAN-APPLICATION-1C_Download_v6.php completed, returning 4 == Spawn extension (DIALPLAN-APPLICATION-1C_Download_v6, 10000666, 1) exited non-zero on 'Local/10000666@internal-00000033;2' -- Executing [h@DIALPLAN-APPLICATION-1C_Download_v6:1] Hangup("Local/10000666@internal-00000033;2", "") in new stack == Spawn extension (DIALPLAN-APPLICATION-1C_Download_v6, h, 1) exited non-zero on 'Local/10000666@internal-00000033;2'
Ключевые события:
<Local/10000666@internal-00000037;2>AGI Rx << GET VARIABLE v2 <Local/10000666@internal-00000037;2>AGI Tx >> 200 result=1 (askozia-1486736526.224)
Отсюда ясно - «askozia-1486735580.207» это идентификатор звонка, поле linkedid. Эта переменная устанавливается в панели телефонии при запросе истории звонка.
Следующая ключевая строка:
(UserEvent) Options: (FailDownloadRecord,Channel:SIP/201,uniqueid1c:askozia-1486735580.207)
Запрос файлов к базе данных по linkedid (можно выполнить в shell):
sqlite3 /storage/usbdisk1/askoziapbx/astlogs/asterisk/master.db "SELECT recordingfile FROM cdr WHERE linkedid LIKE 'askozia-1486735580.207%' OR uniqueid LIKE 'askozia-1486735580.207%' GROUP BY recordingfi le"
Допустим запрос не вернул ничего. Вывод - в истории нет информации по имени файла записи. Ошибка при настройке АТС.
Допустим запрос вернул имена файлов. Следует проверить, существуют ли они в директориях:
Поиск файла по имени в файловой системе:
find / -name 'askozia-1486736526.224_201_79257184254_2017-02-10-17-22-06.gsm'
Приложения расположены в Askozia в разделе «План набора» - «Приложения».