📄 电信168流程整体例子.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 + -