[asterisk-bugs] [JIRA] (ASTERISK-27485) asterisk crashes when doing playback of a SLIN file and chanspy with eagi
Dror Wald (JIRA)
noreply at issues.asterisk.org
Sun Dec 17 05:25:07 CST 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-27485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dror Wald updated ASTERISK-27485:
---------------------------------
Description:
I have a function playback_time_tts() which I use to play a sound file and during file playing I detect a stop word.
When I call this function with a SLIN wav file asterisk crashes.
When I convert the wav file to GSM it works.
cotext main {
_X. => {
Set(file_to_play1=${RAND(10000,999999)});
Set(file_to_play2=${RAND(10000,999999)});
Set(__file_to_play=${file_to_play1}${file_to_play2});
// I call an AGI that create the wav SLIN file in tmp/${file_to_play}
Gosub(playback_time_tts,_X.,1("/var/lib/asterisk/sounds/tmp/${file_to_play}"));
}
}
context detect_stop {
_X. => {
NoOp(In detect_stop context);
Set(DB(${EXTEN}/p_chan)=${CHANNEL});
Answer();
Set(AGIEXITONHANGUP=yes);
Set(AGISIGHUP=yes);
Set(trigger_dictionary=detect_stop.list);
//EAGI(trigger_word_google.py);
// the crash also happens if EAGI runs an empty file
EAGI(empty.py);
SIPDtmfMode(inband);
sendDTMF(1,,80,${DB(${EXTEN}/p_source)});
}
Hangup();
}
h => {
NoOp(In detect_stop Hangup context );
}
}
context playback_time_tts {
_X. => {
NoOp(In playback_time_tts context tts_time=${tts_time}
file_to_play=${file_to_play} ARG1=${ARG1});
Set(DB(${file_to_play}/p_source)=${CHANNEL});
Set(DB(${file_to_play}/exited_playback)=false);
Originate(local/${file_to_play}@detect_stop,app,ChanSpy,"${CHANNEL},qwoE");
SIPDtmfMode(inband);
ControlPlayback(${ARG1},,,,1);
Set(DB(${file_to_play}/exited_playback)=true);
SoftHangup(${DB(${file_to_play}/p_chan)});
return;
}
h => {
NoOp(In playback_time_tts Hangup context );
SoftHangup(${DB(${file_to_play}/p_chan)});
}
}
was:
I have a function playback_time_tts() which I use to play a sound file and during file playing I detect a stop word.
When I call this function with a SLIN wav file asterisk crashes.
When I convert the wav file to GSM it works.
cotext main {
_X. => {
Set(file_to_play1=${RAND(10000,999999)});
Set(file_to_play2=${RAND(10000,999999)});
Set(__file_to_play=${file_to_play1}${file_to_play2});
// I call an AGI that create the wav SLIN file in tmp/${file_to_play}
Gosub(playback_time_tts,_X.,1("/var/lib/asterisk/sounds/tmp/${file_to_play}"));
}
}
context detect_stop {
_X. => {
NoOp(In detect_stop context);
Set(DB(${EXTEN}/p_chan)=${CHANNEL});
Answer();
Set(AGIEXITONHANGUP=yes);
Set(AGISIGHUP=yes);
Set(trigger_dictionary=detect_stop.list);
EAGI(trigger_word_google.py);
SIPDtmfMode(inband);
sendDTMF(1,,80,${DB(${EXTEN}/p_source)});
}
Hangup();
}
h => {
NoOp(In detect_stop Hangup context );
}
}
context playback_time_tts {
_X. => {
NoOp(In playback_time_tts context tts_time=${tts_time}
file_to_play=${file_to_play} ARG1=${ARG1});
Set(DB(${file_to_play}/p_source)=${CHANNEL});
Set(DB(${file_to_play}/exited_playback)=false);
Originate(local/${file_to_play}@detect_stop,app,ChanSpy,"${CHANNEL},qwoE");
SIPDtmfMode(inband);
ControlPlayback(${ARG1},,,,1);
Set(DB(${file_to_play}/exited_playback)=true);
SoftHangup(${DB(${file_to_play}/p_chan)});
return;
}
h => {
NoOp(In playback_time_tts Hangup context );
SoftHangup(${DB(${file_to_play}/p_chan)});
}
}
> asterisk crashes when doing playback of a SLIN file and chanspy with eagi
> --------------------------------------------------------------------------
>
> Key: ASTERISK-27485
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27485
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Affects Versions: 14.5.0
> Environment: Debian GNU/Linux 8 (jessie)
> Reporter: Dror Wald
> Attachments: 377477697702.wav, empty.py
>
>
> I have a function playback_time_tts() which I use to play a sound file and during file playing I detect a stop word.
> When I call this function with a SLIN wav file asterisk crashes.
> When I convert the wav file to GSM it works.
> cotext main {
> _X. => {
> Set(file_to_play1=${RAND(10000,999999)});
> Set(file_to_play2=${RAND(10000,999999)});
> Set(__file_to_play=${file_to_play1}${file_to_play2});
> // I call an AGI that create the wav SLIN file in tmp/${file_to_play}
> Gosub(playback_time_tts,_X.,1("/var/lib/asterisk/sounds/tmp/${file_to_play}"));
> }
> }
> context detect_stop {
> _X. => {
> NoOp(In detect_stop context);
> Set(DB(${EXTEN}/p_chan)=${CHANNEL});
> Answer();
> Set(AGIEXITONHANGUP=yes);
> Set(AGISIGHUP=yes);
> Set(trigger_dictionary=detect_stop.list);
> //EAGI(trigger_word_google.py);
> // the crash also happens if EAGI runs an empty file
> EAGI(empty.py);
> SIPDtmfMode(inband);
> sendDTMF(1,,80,${DB(${EXTEN}/p_source)});
> }
> Hangup();
> }
> h => {
> NoOp(In detect_stop Hangup context );
> }
> }
> context playback_time_tts {
> _X. => {
> NoOp(In playback_time_tts context tts_time=${tts_time}
> file_to_play=${file_to_play} ARG1=${ARG1});
> Set(DB(${file_to_play}/p_source)=${CHANNEL});
> Set(DB(${file_to_play}/exited_playback)=false);
> Originate(local/${file_to_play}@detect_stop,app,ChanSpy,"${CHANNEL},qwoE");
> SIPDtmfMode(inband);
> ControlPlayback(${ARG1},,,,1);
> Set(DB(${file_to_play}/exited_playback)=true);
> SoftHangup(${DB(${file_to_play}/p_chan)});
> return;
> }
> h => {
> NoOp(In playback_time_tts Hangup context );
> SoftHangup(${DB(${file_to_play}/p_chan)});
> }
> }
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list