<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV>
<P><FONT size=2>hi<BR>below is an outline, if you will, of the features/apps i'm 
planning on adding to asterisk.&nbsp;they will allow for pre-paid &amp; calling 
card calls via an asterisk enabled system. if i'm correct, these can be added 
via common perl scripts doing mysql calls placing variables into the config 
files. now because i'm new to asterisk,&nbsp;i need to learn how asterisk works 
with scripts and also before i get started i need comments and suggestion about 
the process of the call, how the call will be handled by asterisk. also if any 
if this stuff is already set please let me know. ALL HELP WILL BE 
APPRECIATED!</FONT></P>
<P><FONT size=2>well here's what i got:</FONT></P>
<P><FONT size=2><STRONG>Process of a Pre-Paid or Calling Card 
call;</STRONG>&nbsp; Calls will arrive over multiple local t1's that are plugged 
into a zaptel based pci cards. the calls are then authenticated, compressed with 
the required compression (if needed) then routed either via the ethernet WAN 
port(VoIP) or via Long Distance T1's which are also connected to zaptel based 
pci cards. below is the process of a call;</FONT></P><B>
<P><FONT size=2>&lt;==== Pre</FONT><FONT size=2> Authenticated Main Menu 
==&gt;</FONT></P>
<DIR></B>
<P><FONT size=2>Caller is prompted to select a preferred lang. <BR>=&gt;To 
continue in Eng. press 1<BR>=&gt;To continue in Span. press 2<BR>=&gt;To 
continue in French press 3<BR>set $language</FONT></P>
<P><FONT size=2>Play access code prompt menu <B>&lt;===Access Code Prompt 
Menu</P></B></FONT>
<P><FONT size=2>Caller enters 8-16 digit access code. set 
$Access_code</FONT></P>
<P><FONT size=2>Compare access_code and also callerID if callerID_verifiacation 
is enabled. (check is made against info in MySQL db)</FONT></P><FONT size=2>
<P>validate_account<BR>return $validation="true" if validated or "false" if NOT 
validated<BR>if $validation=false return to Access Code Prompt Menu (each 
CallerId should only get 3 tries for security)<BR>if $validation=true then 
caller is presented with post authenticated menu:</FONT></P></DIR>
<P><BR><B><FONT size=2>&lt;==== Start P</FONT><FONT size=2>ost Authenticated 
Main Menu ==&gt;<BR></FONT></B><FONT size=2>before playing post authenticated 
main message, we need to make check a few things<BR>=&gt;get_balance (to get the 
balance for that account) set $current_balance<BR>=&gt;announce $current_balance 
"Your current balance for this acount is: $current_balance"<BR>if 
$current_balance &gt; 1.000<BR>Announce to user that they will need to recharge 
their acct before they can proceed<BR>forward to recharge acct menu</FONT></P>
<P><FONT 
size=2>else<BR>=&gt;play_post_authenticated_main_message<BR></FONT></P><B>
<P><FONT size=2>1. To place <I>a State-State call please press 
1,</B></I><BR>=&gt; play "please enter the State-State telephone number 
now"<BR>=&gt;set $destination<BR>=&gt;select best route for call 
$destination<BR>if no route to $destunation found in db<BR>announce ; "sorry, 
but we can not complete calls to that destination at this time, please try 
another destination"<BR>return caller to </FONT><FONT size=2>post authenticated 
main menu</FONT></P>
<P><FONT size=2>else</FONT></P><FONT size=2>
<P>=&gt;get_destination_rate (locate rate for a call to that destination) set 
$destination_rate<BR>=&gt;</FONT><FONT size=2>validate_destination (to see if 
the caller can call that destination and for how long) 
*************<BR><BR>return $max_call_duration (in seconds)<BR></FONT></P>
<P><FONT size=2>if $max_call_duration = &lt; 120 seconds<BR>Announce "call is 
less then 2 min, you will need to recharge acct before proceeding with this 
call"<BR>forward to recharge acct menu</FONT></P><FONT size=2>
<P>else<BR>$1min_alart_time = ($max_call_duration - 60 
seconds)<BR>=&gt;announce_max_call_duration<BR>=&gt;play "please hold while we 
connect your call" message<BR>=&gt;route call to 
destination<BR>=&gt;start_call_billling (when caller is connected to 
destination) <BR>if no connection announce why &amp; return to post authnticated 
Menu</FONT><BR><FONT size=2>else continue with call for $1min_alart_time 
</FONT></P>
<P><FONT size=2>=&gt;cut into call</FONT></P>
<P><FONT size=2>=&gt;play_1minute_alarm play message "you have one minute left 
for this call"</FONT></P><FONT size=2>
<P>=&gt;return caller to call for 60 
seconds<BR>=&gt;hangup<BR>=&gt;stop_b_leg_billing (deduct the calls charge from 
the account &amp; reset $current_balance) <BR>return to post authenticated main 
menu <BR></FONT></P>
<P><BR><FONT size=2><B><I>2. To place an international call please press 
2</B></I><BR>=&gt; play "please enter the International telephone number 
now"<BR>=&gt;set $destination<BR>=&gt;select best route for call 
$destination<BR>if no route to $destunation found in db<BR>announce ; "sorry, 
but we can not complete calls to that destination at this time, please try 
another destination"<BR>return caller to </FONT><FONT size=2>post authenticated 
main menu</FONT></P>
<P><FONT size=2>else</FONT></P><FONT size=2>
<P>=&gt;get_destination_rate (locate rate for a call to that destination) set 
$destination_rate<BR>=&gt;</FONT><FONT size=2>validate_destination (to see if 
the caller can call that destination and for how long) 
*************<BR><BR>return $max_call_duration (in seconds)<BR></FONT></P>
<P><FONT size=2>if $max_call_duration = &lt; 120 seconds<BR>Announce "call is 
less then 2 min, you will need to recharge acct before proceeding with this 
call"<BR>forward to recharge acct menu</FONT></P><FONT size=2>
<P>else<BR>$1min_alart_time = ($max_call_duration - 60 
seconds)<BR>=&gt;announce_max_call_duration<BR>=&gt;play "please hold while we 
connect your call" message<BR>=&gt;route call to 
destination<BR>=&gt;start_call_billling (when caller is connected to 
destination) <BR>if no connection announce why &amp; return to post authnticated 
Menu</FONT><BR><FONT size=2>else continue with call for $1min_alart_time 
</FONT></P>
<P><FONT size=2>=&gt;cut into call</FONT></P>
<P><FONT size=2>=&gt;play_1minute_alarm play message "you have one minute left 
for this call"</FONT></P>
<P><FONT size=2>=&gt;return caller to call for 60 
seconds<BR>=&gt;hangup<BR>=&gt;stop_b_leg_billing (deduct the calls charge from 
the account &amp; reset $current_balance) <BR>return to post authenticated main 
menu </FONT></P><FONT size=2><B>
<P>3. To add funds to your account press 3 </B><BR><B><I>3a</B></I>. If this is 
your first time Charging over the phone or you need assistance press <B>1</B> 
(forward to sales rep)<BR>3b. if you don't want to recharg your acct now 
<B>press 2</B> to go back to the main menu<BR>3c. To add funds now 
<B></FONT><FONT size=2>press 3<BR></FONT></B><FONT size=2>set OrderID<BR>get 
Billing info from db and place in temp space<BR></FONT><FONT size=2>play--- 
</FONT></P><B><FONT size=2>
<P>=&gt; to charge your account using a Master Card press 3</B><BR>=&gt;Enter 
your Master Card Credit Card Number set CCNumber<BR>=&gt;Enter your Master Card 
Experation Date set CCExpDate<BR>=&gt;Enter your Master Card digitcode from the 
back of your card set CCDigitCode<BR>=&gt;Enter the amount you wish to charge to 
your Master Card set CCChargeAmount<BR></FONT></P>
<P><FONT size=2>=&gt;proccess credit card $return cc_approval=true or 
false<BR>if $return cc_approval=false forward to sales rep<BR>if $return 
cc_approval=true<BR>add $CCChargeAmount to $current_balance and set new 
$current_balance<BR>forward back to post authenticated main menu</FONT></P>
<P><BR><FONT size=2><B>=&gt; to charge your account using a Visa Card press 
4</B><BR></FONT></P>
<P><FONT size=2>=&gt;Enter your Visa Credit Card Number set 
CCNumber<BR>=&gt;Enter your Visa Card Experation Date set 
CCExpDate<BR>=&gt;Enter your Visa Card 3 digitcode from the back of your card 
set CCDigitCode<BR>=&gt;Enter the amount you wish to charge to your Visa Card 
set CCChargeAmount<BR></FONT></P><FONT size=2>
<P>=&gt;proccess credit card $return cc_approval=true or false (get the rest of 
the data from the db)<BR>if $return cc_approval=false forward to sales rep<BR>if 
$return cc_approval=true<BR>add $CCChargeAmount to $current_balance and set new 
$current_balance<BR>forward back to post authenticated main menu<BR><BR><B>4. To 
add an AutoDial Number Press 4</P></B></FONT>
<P><BR><B><FONT size=2>5. To Place an AutoDial Number Press 
5</FONT></P></B></DIV></BODY></HTML>