Хм. Надо попробовать, спасибо за информацию. В общем, заборол я данную ошибку, хоть скрипт и далек от совершенства, но он проигрывает нужный файлик. Ниже делюсь "сырым" произведением :)
Скрытый текст |
|---|
| [mikoajamdll] exten => 0000999,1,NoCDR() exten => 0000999,n,Answer() exten => 0000999,n,Wait(60) exten => 0000999,n,Hangup() exten => 0000777,1,NoCDR() exten => 0000777,n,Answer() exten => 0000777,n,Set(dbname=${AST_CONFIG(cdr_mysql.conf,global,dbname)}) exten => 0000777,n,Set(user=${AST_CONFIG(cdr_mysql.conf,global,user)}) exten => 0000777,n,Set(password=${AST_CONFIG(cdr_mysql.conf,global,password)}) exten => 0000777,n,Set(recpath=${SHELL( mysql -sse 'SEL ECT recordingpath FR OM cdr WHERE uniqueid Like ${QUOTE(${uniqueid1c}%)} LIMIT 1' -u${user} -p${password} ${dbname} )}) exten => 0000777,n,Set(ASTSPOOLDIR=var/spool/asterisk/monitor/${recpath}) exten => 0000777,n,Set(monitor_path=${ASTSPOOLDIR}) exten => 0000777,n,Set(recordingfile=${SHELL( mysql -sse 'SEL ECT recordingfile FR OM cdr WHERE uniqueid Like ${QUOTE(${uniqueid1c}%)} LIMIT 1' -u${user} -p${password} ${dbname} )}) exten => 0000777,n,Gotoif($[${LEN(${recordingfile})} > 4]?FindInFileSystem:FindInUserfield) exten => 0000777,n(FindInUserfield),Set(recordingfile=${SHELL( mysql -sse 'SELECT userfield FR OM cdr WHERE uniqueid Like ${QUOTE(${uniqueid1c}%)} LIMIT 1' -u${user} -p${password} ${dbname} )}) exten => 0000777,n,ExecIf($[${LEN(${recordingfile})} < 4]?Hangup()) exten => 0000777,n(FindInFileSystem),Set(namedorashiren=$[${LEN(${recordingfile})}-4] ;) exten => 0000777,n,Set(recfile=${SHELL(find -name *${recordingfile:0:${namedorashiren}}*|head -n 1)}) exten => 0000777,n,ExecIf($[${LEN(${recfile}.WAV)} > 4]?UserEvent(CallRecord,Channel: ${chan},FileName: /${recfile})) exten => 0000777,n,Hangup() |
Изменено: - 27.03.2013 14:19:29