calling

CISCO xAPI - Making a call from VBScript

I love using a CISCO DX80 but one of my pet peeves are the on-screen menus.

I use my DX80 as my primary computer display. It never fails - when I open a calendar invitation and ready myself to dial-in to a meeting, the on-screen menu pops up over top of my calendar invite. I then have to move my calendar invitation to my other display so I can see the dial-in instructions. (no comments about the one-button-to-push please).

My solution was to write a little VBScript that will prompt me for the dial-in information and then use the CISCO xAPI (api) to have my DX80 make the call. It uses the same logic as outlined in my previous post just fronts it with the user prompts for the dial string.

IMPORTANT NOTE - Don’t use administrator credentials in your script. Create a user account for this.

The top of the script has 3 variables:

  • user - set this variable to the username that should be used to authenticate to the endpoint.

  • pass - you really shouldn’t really include the password in the script file. If you set this to ““ - the script will prompt you for the password. If you really must - set this variable to the password for the user.

  • IPAddressFixed - if you are going to use this script to make calls from different endpoints - set this variable to ““ and the script will prompt you for the IP address of the endpoint you want to make the call. If you are always going to use this script to make calls on a single endpoint - set this variable to the IP Address of the endpoint and the script will not ask you for this information.

Please forgive the lack of error checking after it sends the Dial command…

This script has been tested with EX90s and some of the SX line as well.

Hope this helps…

Set xmlHTTP = CreateObject("Msxml2.ServerXMLHTTP.6.0")

Dim user
Dim pass
'SET PASS to blank if you want the script to prompt for password
user="" ' or "supersecretpassword" if you must enter the password
user="apiuser"
'SET IPAddressFixed to blank if you want the script to prompt for IP address of Endpoint
IPAddressFixed = "10.0.0.10"

'GET CISCO ENDPOINT IP
If IPAddressFixed = "" then
    IPAddress=inputbox("Enter IP of SYSTEM","CISCO CALL SCRIPT")
    if IPAddress = "" then
        msgbox "Call Cancelled"
        Wscript.quit
    end if
end if

'GET PASSWORD
if pass="" then
    pass=inputbox("Enter Password","CISCO CALL SCRIPT")
    if pass = "" then   
        msgbox "Call Cancelled"
        Wscript.Quit
    end if
end if

'GET SIP DIAL STRING
sipDial = inputbox ("Enter SIP Dial String","CISCO CALL SCRIPT")
if sipDial= "" then
    msgbox "Call Cancelled"
    Wscript.Quit
end if

'MAKE XML POST
'== uncomment the next line if need to ignore certificate errors 
xmlHTTP.setOption 2, 13056
'== uncomment the next line if you need to bypass the system proxy 
xmlHTTP.SetProxy 1

if IPAddress = "" then
    xmlHttp.Open "POST", "https://" & IPAddressFixed & "/putxml", False, user, pass
else
    xmlHTTP.Open "POST", "https://" & IPAddress & "/putxml", false, user, pass
end if
xmlHTTP.setRequestHeader "Content-Type", "text/xml"
'xmlHTTP.setRequestHeader "Authorization", "Basic " & Base64Encode(user & ":" & pass)

xmlHTTP.send "<Command><Dial><Number>"&sipDial&"</Number><Protocol>SIP</Protocol></Dial></Command>"
msgbox "CALLING NOW"

'DONE