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

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security 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]
}
//★★★★★★★★★★★★收听语音留言部分结束★★★★★★★★★★★★