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

推荐订阅源

Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
J
Java Code Geeks
L
LangChain Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
B
Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog

博客园 - Sandy

外贸网站 Jmail邮件发送程序... - Sandy - 博客园 windows错误代码详解 VIVR 主源程... VIVR 转人工函数 - Sandy - 博客园 VIVR 语音留言函数 - Sandy - 博客园 VIVR 发送传真函数 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


//★★★★★★★★★★★★收听语音留言★★★★★★★★★★★★
Funclistenvoice
{
#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,"$6"]
    [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]
}
//★★★★★★★★★★★★收听语音留言部分结束★★★★★★★★★★★★