惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
A
About on SuperTechFans
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 叶小钗
博客园 - 聂微东
博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
量子位
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
The GitHub Blog
The GitHub Blog
B
Blog RSS Feed
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - Sandy

外贸网站 Jmail邮件发送程序... - Sandy - 博客园 windows错误代码详解 VIVR 主源程... VIVR 转人工函数 - Sandy - 博客园 VIVR 发送传真函数 VIVR 接受传真函数 - Sandy - 博客园 VIVR 收听语音留言函数 - Sandy - 博客园 asp函数表 地道英国习语50条 Money can buy happiness, up to a point 得到星期的sql语句和得到月末的sql语句 C#版,冒泡排序-----C#,BubbleSort Who Is Going to Eat It? 建立一个传表名参数的存储过程 北京今天中午感觉到地震 相信自己... 服务器控件和客户端控件的区别 Ajax原理详细说明(转自ibm开发者网站)
VIVR 语音留言函数 - Sandy - 博客园
Sandy · 2006-10-12 · via 博客园 - Sandy


//★★★★★★★★★★★★语音留言部分★★★★★★★★★★★★
FuncLeaveTone
{
#declare SR cmessage//给数据库网关发送的参数
#declare SR Tonghuabianma//通话编码,用来确定打长途还是市话
:stWait
    [Assign cmessage,""]
    [STRCAT cmessage,ServerID]
    [STRCAT cmessage,"&9&"]
    [STRCAT cmessage,Calltelephone1]
    [STRCAT cmessage,"$"]
    [STRCAT cmessage,quhao]
    [STRCAT cmessage,"$"]
    [STRCAT cmessage,CallerID] 
    [Assign Callerid,CallerID]
    [STRCAT cmessage,"$"]
    [STRCAT cmessage,VMCodify] //功能键编号,存放在全局变量VMCodify
    [STRCAT cmessage,"$1"]
    [ASSIGN SR1,cmessage]
    [directrequestdata NETW,1020,SR1]  
    DataReceived -> stRecievedData
    TimeOut -> stBaseError
    GatewayNotExist->stBaseError//注意别丢了这一行
    Failed->stBaseError//注意别丢了这一行

:stRecievedData
      [Assign SR10,FD0]
      [StrLen SR10]
      [Great IR0,3]
      Passed -> stJudgeMessage
      Failed -> stJudgereason_1

:stJudgereason_1
 [StrSub SR10,1,2]
 [Assign SR10,SR0]
 [Equal SR10,"-1"]
 Passed -> stBaseerror                                //数据库错误,谢谢使用,再见
 Failed -> stJudgereason0

:stBaseerror                               
      [SetDTMF "?"]
      [Assign SR1,SR29]
      [StrCat SR1,"Baseerror.vox"]        
      [PlayFile SR1]                                  //数据库错误,谢谢使用,再见
      StopPlayBack->stExit
      DialTerminate-> stBaseerror                               
      Failed->stExit

:stJudgereason0
     [StrSub SR10,1,1]
     [Assign SR10,SR0]
     [Equal SR10,"0"]
     Passed -> stRemainMoney                            //余额不足,谢谢使用
     Failed ->stJudgereason1

:stRemainMoney                           
      [SetDTMF "?"]
      [Assign SR1,SR29]
      [StrCat SR1,"RemainMoney.vox"]        
      [PlayFile SR1]                                  //余额不足,谢谢使用,再见
      StopPlayBack->stExit
      DialTerminate-> stBaseerror                               
      Failed->stExit

:stJudgereason1
      [Equal SR10,"1"]
      Passed -> stNoAccess
      Failed -> stJudgeMessage

:stNoAccess
      [SetDTMF "?"]
      [Assign SR1,SR29]
      [StrCat SR1,"NoAccess.vox"]        
      [PlayFile SR1]                                  //没有空闲通道,谢谢使用,再见
      StopPlayBack->stWait
      DialTerminate-> stWait
      Failed->stExit

:stJudgeMessage
      [STRSTR SR10,";"]
      [Dec IR0]
      [StrSub SR10,1,IR0]
      [Assign Seatdataid,SR0]  
      [Add IR0,2]
      [Add IR2,IR0]
      [Add IR2,9]
      [StrSub SR10,IR0,IR2]
      [Assign Tonghuabianma,SR0]
      [STRSTR SR10,"*"]
      [Inc IR0]
      [Assign IR1,IR0]
 [StrStr SR10,"!"]
 [Dec IR0]
      [StrSub SR10,IR1,IR0]
      [Assign SR21,SR0] 
 [Add IR0,2]
 [Assign IR3,IR0]
 [Strlen SR10]
 [StrSub SR10,IR3,IR0]
 [Assign SR22,SR0]
      -> stBillBegin
:stBillBegin
 [BillBegin 2,0,Tonghuabianma]
       Verify(0) -> stmakecall
       Verify(-1) -> stExit

:stmakecall
       [Assign cmessage,""]
 [Strcat cmessage,SR22]
 [MakeCall200 SR21,cmessage,""]
 callterm(1)->stNoPerson
 callterm(2)->stBusyPhone
 callterm(3)->stBusyPhone
 callterm(5)->stNoNum
 callterm(0)->stDirect1

:stDirect1
    [Assign cmessage,""]
    [STRCAT cmessage,ServerID]
    [STRCAT cmessage,"&3&"]
    [STRCAT cmessage,Calltelephone1]
    [STRCAT cmessage,"$"]
    [STRCAT cmessage,quhao]
    [STRCAT cmessage,"$"]
    [STRCAT cmessage,Callerid] 
    [STRCAT cmessage,"$"]
    [STRCAT cmessage,Seatdataid]
    [ASSIGN SR1,cmessage]
    [directrequestdata NETW,1020,SR1]  
    DataReceived -> sttimer
    TimeOut -> stBaseError
    GatewayNotExist->stBaseError//注意别丢了这一行
    Failed->stBaseError//注意别丢了这一行

:stNoPerson
      [SetDTMF "?"]
      [Assign SR1,SR29]
      [StrCat SR1,"NoPerson.vox"]        
      [PlayFile SR1]                                  //无人接听,请您稍候,结束请挂机,按任意键继续拨打
      StopPlayBack->stmakecall
      DialTerminate-> stmakecall
      Failed->stExit

:stBusyPhone
      [SetDTMF "?"]
      [Assign SR1,SR29]
      [StrCat SR1,"BusyPhone.vox"]        
      [PlayFile SR1]                                  //用户繁忙,继续等待请您稍候,结束请挂机    
      StopPlayBack->stmakecall
      DialTerminate-> stBusyPhone
      Failed->stExit

:stNoNum
      [SetDTMF "?"]
      [Assign SR1,SR29]
      [StrCat SR1,"NoNum.vox"]        
      [PlayFile SR1]                                  //客户号码为空,请查证再拨 
      StopPlayBack->stExit
      DialTerminate->stExit
      Failed->stExit 
:sttimer
       [TIMER 999]
       timeout -> stExit
       Failed -> stExit
:stBaseError
 [SetDTMF "?"]
 [Assign SR1,SR29]
 [StrCat SR1, "BaseError.vox"]                          //
 [PlayFile SR1] 
 StopPlayBack  -> stExit
 DialTerminate -> stExit
 Failed        -> stExit

:stExit
     [Return 0]
}
//★★★★★★★★★★★★语音留言部分结束★★★★★★★★★★★★