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

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

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


astpanel:debug:download_playback_record

Отладка функции скачивания записи

Подключаемся к АТС по инструкции.

Отлаживаем «приложения» в 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)
  • «FailDownloadRecord» - оповещение об ошибке
  • «askozia-1486735580.207» - идентификатор linkedid

Запрос файлов к базе данных по 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"

Допустим запрос не вернул ничего. Вывод - в истории нет информации по имени файла записи. Ошибка при настройке АТС.

Допустим запрос вернул имена файлов. Следует проверить, существуют ли они в директориях:

  • /storage/usbdisk1/askoziapbx/voicemailarchive/monitor/
  • /askoziapbx/faxarchive/
  • Путь к файлу, как он записан в базе cdr

Поиск файла по имени в файловой системе:

find / -name 'askozia-1486736526.224_201_79257184254_2017-02-10-17-22-06.gsm'

Приложения расположены в Askozia в разделе «План набора» - «Приложения».

astpanel/debug/download_playback_record.txt · Последние изменения: 2018/08/01 14:01 — tpor