Play Dialtone after dialing 9, audiocodes fxs


Audiocodes 24 port fxs <-> asterisk <-> digium pri hardware <-> PRI

I want all users to be able to dial 9 to get outbound lines for outbound calls.

Please tell me how can i generate dial tone after someone dials 9 on the audiocode fxs .
I basically need it to function like an office epbx where in he gets the pstn dial tone after he dials 9.

Thanks a lot


you can do it by recording dialtone in a gsm file and playback it after _X,1,

We have done this by AGI bcz lot of things need to be done for that.

following is sample code, which is using 2 files, 1 is dialtone and second is silence.

hope this solves your prob



use Asterisk::AGI;
use lib “/var/lib/asterisk/agi-bin”;
use Db;

$AGI = new Asterisk::AGI;

my %input = $AGI->ReadParse();

$Digit =$ARGV[0];
$CLI =$ARGV[1];

if($CLI eq “”)
$g_OUTPUT .=“User not recognized on channelbank CLI : $CLI\n”;

$g_OUTPUT .=“Call is being originated from CLI: $CLI\n”;


	$DialedNo= $AGI->get_data('dialtone',6000,1);
	$DialedNo1= $AGI->get_data('silence',5000,3);
	$TimeOut =5000;
	$Digit  	=3;
	if($DialedNo1 =~/^3/gsi)
		$Digit  	=7;
	elsif($DialedNo ==1)
		$Digit  	=5;
	elsif($DialedNo ==0)
		$Digit  	=10;
	$DialedNo2= $AGI->get_data('silence',$TimeOut,$Digit);
	$DialedNo = $DialedNoToValid =$DialedNo . $DialedNo1;
	$g_OUTPUT .="\$DialedNo1 : $DialedNo1\n\$DialedNo2 : $DialedNo2\n\$DialedNo : $DialedNo\n";
	my $dialstr;
	$dialstr = "Zap/g1/" . $DialedNo . "|1000|tTL(" . ((30*60 + 0)*1000) .":7000:5000)";

Thanks for the idea
It works well
Though i would prefer if there would be another way to do it that would not invlove calling agi’s and playing back sound files as
This loads the system, 60 simultaneous might kill the system, though i have not tested it but i would a couple of days. I also have incoming and run it through ivr, play musiconhold and stuff and have a lot a scheduled perl files that run on hourly basis.

Is there a way that audiocodes can continue to play dial tone after pressing the digit 9


and also my reports go for a toss