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

推荐订阅源

Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
腾讯CDC
D
Docker
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
The Cloudflare Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
量子位
美团技术团队
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 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]
}
//★★★★★★★★★★★★收听语音留言部分结束★★★★★★★★★★★★