Playback causing problem?

—>my extension.conf file
[dbsql]
exten => 500,1,answer()
exten => 500,2,read(fcode,sugat-enter-flight-code)
exten => 500,3,AGI(test.agi,${fcode})
exten => 500,4,wait(1)
exten => 500,5,playback(sugat-flight-code)
;exten => 500,5,playback(enter-ext-of-person)
exten => 500,6,wait(5)
exten => 500,7,SayAlpha(${flight-code})
exten => 500,8,SayAlpha(${from-dst})
exten => 500,9,hangup()

—>my test.agi file
#!/usr/bin/perl
use Asterisk::AGI;
use DBI;
$AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
my $dbh = DBI->connect(‘dbi:mysql:asterisk:localhost:3306’, ‘root’, ‘1mysql23’, {PrintError=>0, RaiseError=>1});
my $fcode = $ARGV[0];
my $sql = “select * from flight where flightcode=”$fcode"";
my $sth = $dbh->prepare($sql) or die $dbh->errstr();
$sth->execute() or die $dbh->errstr();
while(@row = $sth->fetchrow_array()) {
$AGI->set_variable(“flight-code”,"$row[0]");
$AGI->set_variable(“scheduled-date”,"$row[1]");
$AGI->set_variable(“from-dst”,"$row[2]");
$AGI->set_variable(“dst”,"$row[3]");
$AGI->set_variable(“time”,"$row[4]");
$AGI->set_variable(“delay”,"$row[5]");
$AGI->set_variable(“delay-time”,"$row[6]");
}
$dbh->disconnect;

ok when i dial 500 it breaks on playback(sugat-flight-code). Every file starting with sugat-* is my own recording. But when replace playback(sugat-fight-code) with playback(enter-ext-of-person) it works fine. I cannot figure out why.

Please help.

It could be that
asterisk can’t find you sound files
or
the files aren’t in the right format.