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

📄 电信168流程整体例子.sc

📁 一个中国电信IVR平台的开发手册
💻 SC
字号:
/*
  ProjectName: 热线名称
  Author: 开发人员
  Date: 开发日期
  Description: 简单描述
*/

/*----------------------------------------------------------------------------
此部分为自定义函数、变量等
xxxxx 为电信申请的接入号码的后5位。如:16812345 则xxxxx=12345
----------------------------------------------------------------------------*/
main
{
:stWait
  Connect(0) -> stAllocResource
/*-----------如果有点送填加以下点送分支,没有则删除以下注释部分-------------------------

  Connect ->stAllocResourceC  
:stAllocResourceC
  [ClearDTMF]
  [AllocMediaDevice 1]
  AllocResourceOK -> stDoBillBegin
  AllocResourceFail ->stExit
  TimeOut -> stExit

:stDoBillBegin
  [BillBegin 1,0,"168xxxxx02"]       //168*******这里为  点送的计费代码。代码为168xxxxx+02
  Verify(0) -> stPlayWelAgainC
  Verify -> stPlayWelAgainC

:stPlayWelAgainC

  [ ParseParam $InputParam,3,"^" ]
  [ Assign SR7,SR0]             //发送者号码
  [ ParseParam $InputParam,2,"^" ]
  [ Assign SR8,SR0]             //播放内容
  ->stsendsong

:stsendsong

  [ClearDTMF]
  [SetDTMF "?"]
  [Assign SR1,".\vox\"]
  [StrCat SR1, "ds01.vox"]
  [PlayFile  SR1]                 //您好,这是电话号码为
  StopPlayBack ->stPlayToUser1
  DialTerminate ->stPlayToUser1
  Failed ->stExit

:stPlayToUser1
  [ClearDTMF]
  [SetDTMF "?"]
  [MixPlay 3,SR7 ]                //用户名字
  StopPlayBack ->stPlayToUser2
  DialTerminate ->stPlayToUser2
  Failed ->stExit

:stPlayToUser2
  [ClearDTMF]
  [SetDTMF "?"]
  [Assign SR1,".\vox\"]
  [StrCat SR1, "ds02.vox"]
  [PLAYFILE SR1]                  //为您点播的歌曲,请您收听。
  StopPlayBack ->stPlayToUser3
  DialTerminate ->stPlayToUser3
  Failed ->stExit

:stPlayToUser3
  [ClearDTMF]
  [SetDTMF "?"]                    //点播内容
  [PLAYFILE SR8 ]
  StopPlayBack -> stSendsongbill
  DialTerminate ->stSendsongbill
  Failed ->stExit


:stSendsongbill
  [billend]
  Verify->stExit
----------------------------------------点送分支结束---------------------------*/

:stAllocResource
  [SetDTMF "?"]
  [AllocMediaDevice 1]
  AllocResourceOK -> stCheckLaw          //正常申请语音资源
  AllocResourceFail -> stExit

:stCheckLaw
  [CallFunc &FuncCheckLaw]
  Returned(0) -> stPlayWelcome           //检查用户的合法性
  Returned -> stExit

:stPlayWelcome
  [ ClearDTMF ]
  [ SetDTMF "" ]
  [ PlayFile ".\vox\welcome_xxxxx.vox" ] //欢迎拨打XXXX,本节目信息费每分钟X元。
  StopPlayBack  -> stPlayfee
  DialTerminate -> stPlayfee
  Failed    -> stExit

:stPlayfee  
  [ ClearDTMF ]
  [ SetDTMF "?" ]
  [ PlayFile ".\vox\fee_xxxxx.vox" ]     //以上信息免收信息,请您按任意键继续。
  StopPlayBack  -> stUserconfirm
  DialTerminate -> stUserconfirm
  Failed    -> stExit  
  
:stUserconfirm
  [Digit 5 ]
  StopDigits->stBillBegin                //等待用户确认
  TimeOut ->stSureVox
  
:stSureVox  
  [ ClearDTMF ]
  [ SetDTMF "?" ]
  [ PlayFile ".\vox\sure_xxxxx.vox" ]   //5秒后用户没有确认,再次提醒用户“请按任意键确认”
  StopPlayBack  -> stUserconfirm
  DialTerminate -> stUserconfirm
  Failed    -> stExit   
   

:stBillBegin
  [BillBegin 1,0,$ServiceItemNo]
  Verify(0)->stMainMenu
  Verify -> stMainMenu

:stMainMenu
  [ ClearDTMF ]
  [ SetDTMF "12345690" ]
  [ PlayFile ".\vox\welcome.vox" ]      //主菜单
  StopPlayBack  -> stMainChoice
  DialTerminate -> stMainChoice
  Failed    -> stExit

:stMainChoice
  [Input 1, 5]
  StopDigits('1')->stMenu1
  StopDigits('2')->stMenu2
  StopDigits('3')->stMenu3
  StopDigits('4')->stMenu4
  StopDigits('5')->stMenu5
  StopDigits('6')->stMenu6
  StopDigits('9')->stMenu7
  StopDigits('0')->stMenu8
  StopDigits->stMainMenu
  TimeOut ->stMainMenu
  
/*---------------------------以下为具体内容-------------------------------
           ................................. 
           ................................. 
           ................................. 
           ................................. 
-----------------------------以上为具体内容-------------------------------*/
:stExit
  [Return 0 ]
}  

/*************************************************
函数说明: 
检查电信不允许播打的电话号码
返回0为正常用户,返回其它请退出流程。
*************************************************/
funcCheckLaw		
{
#declare IR m_nRet = 0							//返回值

:stWait
  [Assign  m_nRet, 1 ]	
  [Assign  SR5,$CallerID ]
 	[StrSub  SR5,1,1 ]                
  [Equal  SR0,"0" ]
 	Passed ->stchecklen
 	Failed ->stCheckMob
       	
:stchecklen
 	[StrLen  SR5 ]   
 	[Less  IR0,10 ]
 	Passed ->stExit
 	Failed ->stCheckMob 

:stCheckMob
  [Assign  SR16,$callerid ]
  [StrSub  SR16,1,2 ]
  [Equal  SR0,"13" ]
	Passed	->stExit
	Failed	-> stCheckMob1

:stCheckMob1
  [StrSub  SR16,1,3 ]
  [Equal  SR0,"013" ]
  Passed ->stExit
  Failed ->st_normalsuccess

:st_normalsuccess
	[Assign  m_nRet, 0]
	->stExit

:stExit
	[ Return  m_nRet]
}

⌨️ 快捷键说明

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