[asterisk-bugs] [JIRA] (ASTERISK-27360) Audio file from ffmpeg pops in AGI (but not dialplan)
Naftoli Gugenheim (JIRA)
noreply at issues.asterisk.org
Wed Oct 18 19:52:21 CDT 2017
Naftoli Gugenheim created ASTERISK-27360:
--------------------------------------------
Summary: Audio file from ffmpeg pops in AGI (but not dialplan)
Key: ASTERISK-27360
URL: https://issues.asterisk.org/jira/browse/ASTERISK-27360
Project: Asterisk
Issue Type: Bug
Security Level: None
Affects Versions: 14.3.0, 13.13.1
Environment: Reproduced in all of:
* Ubuntu 17.04 official package installed directly on laptop
* cleardevice/docker-asterisk-latest-pjsip-fail2ban docker image on laptop and on ubuntu 16.04.3
* cleardevice/docker-cert-asterisk13-ubuntu docker image on laptop and on ubuntu 16.04.3
Reporter: Naftoli Gugenheim
1. Using a custom webapp and recorder.js, I record an audio file. A specimen can be accessed here: https://drive.google.com/open?id=0B2SmgnDyV1aEWjBDTzJxRVh3dHM
2. I run ffmpeg -i /tmp/upload7121127648236719621.wav -ac 1 -ar 8000 -y /tmp/test1.wav. The result can be accessed here: https://drive.google.com/open?id=0B2SmgnDyV1aEckJKZWxtRHJ6RUU
3. I run sox /tmp/test1.wav /tmp/test.wav. The result can be accessed here: https://drive.google.com/open?id=0B2SmgnDyV1aEYmNIbkNOaDhwMjA
The Problem:
The file from step 2 plays fine using Playback and Background in the dialplan. However when using the AGI command STREAM FILE, there is a terrible popping sound at the beginning.
Here is what it sounds like listening to test1 repeated: https://drive.google.com/open?id=0B2SmgnDyV1aEZzFLczdQaXNYVTg
Here is what it sounds like listening to test repeated: https://drive.google.com/open?id=0B2SmgnDyV1aEWk9KZFgxNkc5WXc
The testing was done with this AGI script (changing the filename as needed):
#!/bin/bash
checkresults() {
while read line
do
case ${line:0:4} in
"200 " ) echo $line >&2
return;;
"510 " ) echo $line >&2
return;;
"520 " ) echo $line >&2
return;;
* ) echo $line >&2;; #keep on reading those Invlid command
#command syntax until "520 End ..."
esac
done
}
declare -a array
while read -e ARG && [ "$ARG" ] ; do
array=(` echo $ARG | sed -e 's/://'`)
export ${array[0]}=${array[1]}
done
# following variables are available from asterisk
echo $agi_request >&2
echo $agi_channel >&2
echo $agi_language >&2
echo $agi_type >&2
echo $agi_uniqueid >&2
echo $agi_callerid >&2
echo $agi_dnid >&2
echo $agi_rdnis >&2
echo $agi_context >&2
echo $agi_extension >&2
echo $agi_priority >&2
echo $agi_enhanced >&2
echo 'ANSWER'
checkresults
while true; do
sleep 1
echo begin >&2
echo 'STREAM FILE /tmp/test ""'
echo end >&2
sleep 1
checkresults
done
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list