⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debitcard-multi-lang-cisco.1.1.0.2.tcl

📁 DIgent bsp code system
💻 TCL
📖 第 1 页 / 共 3 页
字号:
		     switch -regexp [lindex $newlist 1] {			 {00}           { }			 {[0|2-9][1]}   {lappend prompt "[set prefix]_minute.au"}			 {[0|2-9][2-4]} {lappend prompt "[set prefix]_2-4_minutes.au"}			 default        {lappend prompt "[set prefix]_5-20_minutes.au"}		     }		 }                 puts "\t\t*** playPrompt param2 info [set prefix]_you_have.au $prompt"                 set ev [eval [list playPrompt param2 info [set prefix]_you_have.au] $prompt]           }           default {do_decimal_part                    if {[lindex $newlist 1] == 1 } {	                lappend prompt "[set prefix]_minute.au"	            } elseif {[lindex $newlist 1] > 1 } {	                lappend prompt "[set prefix]_minutes.au"	            }                    puts "\t\t*** playPrompt param2 info [set prefix]_you_have.au $prompt"                    set ev [eval [list playPrompt param2 info [set prefix]_you_have.au] $prompt]	   }       }}proc do_second_authorize {} {    global state    global destination    global account    global pin    global creditTime    global warnTime    global promptFlag2    global fcnt    global retryCnt    global prefix    global noPlay    global param2    global noTimeLimit    global len    global prompt    global newlist    global redirectnum    global operatorNum    global returncode    set ev [authorize $account $pin $destination [ani] info]    set returncode [getVariable radius returnCode]    set creditTime [getVariable radius creditTime]    set redirectnum [getVariable radius redirectNumber]    switch -regexp $returncode {	{13} -	{51} -	{52} {set noTimeLimit 1              set state do_place_call              return 0	}    }    switch -regexp $ev {	{authorized} {if {[string compare $creditTime uninitialized] == 0} {                          set ev [ playPrompt param2 info [set prefix]_no_aaa.au]                          set state end	              } elseif {$creditTime == "umlimited"} {                          set noTimeLimit 1                          # play mesg only if time left is  20 secs > warntime	              } elseif {[expr $creditTime - $warnTime] < 20} {                          set noPlay 1	                  switch -regexp $prefix {			      {th} -			      {ca} -			      {ru} -			      {ja} { # Convert creditTime to hours and minutes                                     # Build prompt and play creditTime                                     do_creditTime_prompt				 }			      default {set ev [playPrompt param2 info [set prefix]_you_have.au %t$creditTime ]}			  }		      } else {	                  switch -regexp $prefix {			      {th} -			      {ca} -			      {ru} -			      {ja} { # Convert creditTime to hours and minutes                                     # Build prompt and play creditTime                                     do_creditTime_prompt				 }			      default {set ev [playPrompt param2 info [set prefix]_you_have.au %t$creditTime ]}			  }		      }                      set state do_place_call                      return 0	}	{authorization failed} {                incr fcnt                set promptFlag2 2            #play prompt base on return code                switch -regexp $returncode {		    {3} {set ev [playPrompt param2 info [set prefix]_account_blocked.au]                         set state end		    }		    {4} {set ev [playPrompt param2 info [set prefix]_zero_bal.au]                             set state end                             return 0		    }		    {5} {set ev [playPrompt param2 info [set prefix]_card_expired.au]                         set state end		    }		    {9} {set ev [playPrompt param2 info [set prefix]_dest_blocked.au]                         set state end		    }		    {7} {set ev [playPrompt param2 info [set prefix]_dest_blocked.au]                         set state end		    }		    {12} {set ev [playPrompt param2 info [set prefix]_not_enuf.au]                          set state end		    }		    {Uknown variable name} {set ev [playPrompt param2 info [set prefix]_no_aaa.au]                                            set state end		    }		}                if { $fcnt < $retryCnt } {                   set state do_get_dest		} else {                   set state do_second_authorize_fail		}                return 0	}    }    set state end    return 0}proc do_place_call {} {    global state    global destination    global account    global redirectnum    global operatorNum    global returncode    set callInfo(accountNum) $account    if { $returncode == 52 } {        if { $redirectnum >= 0 } {            set callInfo(redirectNum) $redirectnum        } elseif { $operatorNum >= 0 } {            set callInfo(redirectNum) $operatorNum	} else {            set state end            return 0	}    }       set ev [placeCall $destination callInfo info]    switch -regexp $ev {	{active}    {set state do_active}	{call fail} {set state do_place_fail}	default     {set state end}    }    return 0}proc do_active_notimer {} {    global state    set ev [waitEvent]    while { [string compare $ev "digit"] == 0 } {        set ev [waitEvent]    }    set state end    return 0}proc do_active_last_timer {} {    global state    global warnTime    global creditTime    global fcnt    global noPlay    global prefix    global pound    if { $noPlay == 1} {        set ev [startTimer [expr {$creditTime - 1}] info]    } else {        set ev [startTimer [expr {$warnTime - 4}] info]    }    while {[string compare $ev digit] == 0} {           set ev [startTimer $info(timeLeft) info]    }    switch -regexp $ev {	{longpound} {do_longpound                    return 0       }	{timeout} {clearOutgoingLeg info                  set state do_out_of_time       }       default {set state end       }    }    return 0}proc do_longpound {} {    global state    global fcnt    global noPlay    global pound     set fcnt 0     set noPlay 0     set pound 1     clearOutgoingLeg info  #set state first_authorize     set state do_get_dest     return 0}proc do_active_timer {} {    global state    global warnTime    global creditTime    global prefix    global fcnt    global noPlay    global pound    global param4    set delay [expr {$creditTime - $warnTime}]    set ev [startTimer $delay info]    while {[string compare $ev digit] == 0} {        set ev [startTimer $info(timeLeft) info]    }    switch -regexp $ev {	{longpound} {do_longpound                     return 0        }        {outgoing disconnected} {set fcnt 0                                 set pound 1                                #set state first_authorize                                 set state do_get_dest        }        {timeout} {if {$noPlay == 1} {                       do_active_last_timer                   } else {                       set warnTime [string trimleft $warnTime]		       switch -regexp $prefix {			   {ca} -			   {th} -			   {ru} -			   {ja} {set ev [playPrompt param4 info [set prefix]_you_have.au [set prefix]_$warnTime.au [set prefix]_seconds.au]}			   default {set ev [playPrompt param4 info [set prefix]_you_have.au %t$warnTime]}		       }                       do_active_last_timer		   }	}        default {set state end        }    }    return 0}proc do_active {} {    global state    global creditTime    global warnTime    global noTimeLimit    if { ($noTimeLimit == 1) || ( [string compare $creditTime "unlimited"] == 0) || ( [string compare $creditTime "uninitialized"] == 0 ) } {             do_active_notimer    } else {             if {$creditTime < $warnTime} {                do_active_last_timer             } else {                do_active_timer             }    }    return 0}proc do_out_of_time {} {    global state    global prefix    global param2    set ev [playPrompt param2 info [set prefix]_disconnect.au]    set state end    return 0}proc do_first_authorize_fail {} {    global state    global prefix    global param2    set returncode [getVariable radius returnCode]    set ev [playPrompt param2 info [set prefix]_final.au]    set state end    return 0}proc do_second_authorize_fail {} {    global state    global prefix    global param2    set returncode [getVariable radius returnCode]    set ev [playPrompt param2 info [set prefix]_final.au]    set state end    return 0}proc do_collect_fail {} {    global state    global prefix    global param2    set ev [playPrompt param info [set prefix]_dest_collect_fail.au]    set state end    return 0}proc do_place_fail {} {    global state    global prefix    global destBusy    global param2    set destBusy 1    set state do_get_dest    return 0}#-------------------------------------------------------# main#acceptCallset fcnt 0set selectCnt 0set lang 0set count 0set counter 0set promptFlag 0set promptFlag2 0set wrongLanguage 0set noPlay 0set pound 0set destBusy 0set noTimeLimit 0set param1(interrupt) trueset param1(abortKey) *set param1(terminationKey) #set param2(interrupt) trueset param2(abortKey) *set param2(terminationKey) #set param2(playComplete) trueset param3(interrupt) trueset param3(abortKey) *set param3(terminationKey) #set param3(dialPlanTerm) trueset param4(interrupt) trueset param4(abortKey) *set param4(terminationKey) #set param4(playComplete) trueset param4(insertMessage) trueset param5(interrupt) true#install paramsset accountLen [getVariable config uidLen]set pinLen [getVariable config pinLen]set retryCnt [getVariable config retryCount]set operatorNum [getVariable config redirectNumber]set warnTime [getVariable config warningTime]setVariable longPound trueset totalLang [getVariable local totalLanguages]# set primary languagesetVariable language 1set prefix1 [getVariable local language]set prefix [getVariable local language]if {$totalLang == 0} {    set state end    return 0} else {    set state do_select_language} while { $state != "end" } {    puts "************ cid([callID]) app running state $state"        $state}# Script Approval Signature: C/df6f

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -