Voicent Gateway Tcl/Tk Simple
Interface
In addition to the basic Voicent Tcl/Tk Simple Interface class, the extended API contains the following functions.
The extended Tcl/Tk interface source code is
included at the end of this section.
SYNOPSIS
-
callIvr phoneno appname selfdelete gateway
DESCRIPTION
- Make a phone call to the specified number and use the IVR application to interact and control the phone call.
- The options are:
-
phoneno |
The phone number to call |
appname |
The name of the deployed IVR application |
selfdelete |
The name of the deployed IVR application |
gateway |
Installed Voicent Gateway. Defaults to
'http://localhost:8155' |
The return value is the call request id <reqId>.
EXAMPLE
- set reqId [callIvr "123-4567" "reminderApp" "0")]
- Make a call to phone number '123-4567' and use 'reminderApp'
on the gateway for call interaction. You can use
CallStatusResponse to get the call status and responses, or use
CallRemove to remove the call record.
SYNOPSIS
-
callStatusResponse reqId responses gateway
DESCRIPTION
- Check the call status and responses of the call with reqId. The second parameter is a reference to a dictionary and is used to collect responses. So if you have an element named
AttendMeeting, the response
can be accessed as responses["AttendMeeting"]. Please note
that you can have multiple IVR elements that collect responses.
EXAMPLE
- set status
[callStatus "11234035434" responses]
-
package require http
......
proc callIvr
{ phoneno appname selfdelete {gateway "http://localhost:8155"} } {
set url "$gateway/ocall/callreqHandler.jsp"
set plist [list info "simple text call" \
phoneno $phoneno \
firstocc 10 \
startapp $appname \
selfdelete $selfdelete]
set param [eval ::http::formatQuery $plist]
set token [::http::geturl $url -query $param]
set rcstr [::http::data $token]
::http::cleanup $token
return [getReqId $rcstr]
}
proc callStatus
{reqId responses {gateway "http://localhost:8155"}} {
set url "$gateway/ocall/callstatusHandler.jsp"
set plist [list reqid $reqId]
set param [eval ::http::formatQuery $plist]
set token [::http::geturl $url -query $param]
set rcstr [::http::data $token]
::http::cleanup $token
// the responses is the 9th field // the status is the 3rd field
return ""
}
|