<!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. they will allow for pre-paid & 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, 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> 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><==== Pre</FONT><FONT size=2> Authenticated Main Menu
==></FONT></P>
<DIR></B>
<P><FONT size=2>Caller is prompted to select a preferred lang. <BR>=>To
continue in Eng. press 1<BR>=>To continue in Span. press 2<BR>=>To
continue in French press 3<BR>set $language</FONT></P>
<P><FONT size=2>Play access code prompt menu <B><===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><==== Start P</FONT><FONT size=2>ost Authenticated
Main Menu ==><BR></FONT></B><FONT size=2>before playing post authenticated
main message, we need to make check a few things<BR>=>get_balance (to get the
balance for that account) set $current_balance<BR>=>announce $current_balance
"Your current balance for this acount is: $current_balance"<BR>if
$current_balance > 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>=>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>=> play "please enter the State-State telephone number
now"<BR>=>set $destination<BR>=>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>=>get_destination_rate (locate rate for a call to that destination) set
$destination_rate<BR>=></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 = < 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>=>announce_max_call_duration<BR>=>play "please hold while we
connect your call" message<BR>=>route call to
destination<BR>=>start_call_billling (when caller is connected to
destination) <BR>if no connection announce why & return to post authnticated
Menu</FONT><BR><FONT size=2>else continue with call for $1min_alart_time
</FONT></P>
<P><FONT size=2>=>cut into call</FONT></P>
<P><FONT size=2>=>play_1minute_alarm play message "you have one minute left
for this call"</FONT></P><FONT size=2>
<P>=>return caller to call for 60
seconds<BR>=>hangup<BR>=>stop_b_leg_billing (deduct the calls charge from
the account & 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>=> play "please enter the International telephone number
now"<BR>=>set $destination<BR>=>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>=>get_destination_rate (locate rate for a call to that destination) set
$destination_rate<BR>=></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 = < 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>=>announce_max_call_duration<BR>=>play "please hold while we
connect your call" message<BR>=>route call to
destination<BR>=>start_call_billling (when caller is connected to
destination) <BR>if no connection announce why & return to post authnticated
Menu</FONT><BR><FONT size=2>else continue with call for $1min_alart_time
</FONT></P>
<P><FONT size=2>=>cut into call</FONT></P>
<P><FONT size=2>=>play_1minute_alarm play message "you have one minute left
for this call"</FONT></P>
<P><FONT size=2>=>return caller to call for 60
seconds<BR>=>hangup<BR>=>stop_b_leg_billing (deduct the calls charge from
the account & 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>=> to charge your account using a Master Card press 3</B><BR>=>Enter
your Master Card Credit Card Number set CCNumber<BR>=>Enter your Master Card
Experation Date set CCExpDate<BR>=>Enter your Master Card digitcode from the
back of your card set CCDigitCode<BR>=>Enter the amount you wish to charge to
your Master Card set CCChargeAmount<BR></FONT></P>
<P><FONT size=2>=>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>=> to charge your account using a Visa Card press
4</B><BR></FONT></P>
<P><FONT size=2>=>Enter your Visa Credit Card Number set
CCNumber<BR>=>Enter your Visa Card Experation Date set
CCExpDate<BR>=>Enter your Visa Card 3 digitcode from the back of your card
set CCDigitCode<BR>=>Enter the amount you wish to charge to your Visa Card
set CCChargeAmount<BR></FONT></P><FONT size=2>
<P>=>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>