Sign in to follow this  
Followers 0
WannaBeGut

Skype - Call Check

1 post in this topic

Hey,

I want to make a application which calls a User and returns the error / status of the call. I don't think it works, the status stays "routing". Not 100% sure what that means for me.

$oSkype = ObjCreate("Skype4COM.Skype")
$oUser = $oSkype.User("User")
$oSkypeEvent = ObjEvent($oSkype,"Skype_")
$oError = ObjEvent("AutoIt.Error","MyErrFunc")
$cUserStatus_Offline = $oSkype.Convert.TextToUserStatus("OFFLINE")
$cUserStatus_Online = $oSkype.Convert.TextToUserStatus("ONLINE")
$cCallStatus_Ringing = $oSkype.Convert.TextToCallStatus("RINGING")
$cCallStatus_Inprogress = $oSkype.Convert.TextToCallStatus("INPROGRESS")
$cCallStatus_Failed = $oSkype.Convert.TextToCallStatus("FAILED")
$cCallStatus_Refused = $oSkype.Convert.TextToCallStatus("REFUSED")
$cCallStatus_Cancelled = $oSkype.Convert.TextToCallStatus("CANCELLED")
$cCallStatus_Finished = $oSkype.Convert.TextToCallStatus("FINISHED")
$cCallStatus_Busy = $oSkype.Convert.TextToCallStatus("BUSY")
$cAttachmentStatus_Available = $oSkype.Convert.TextToAttachmentStatus("AVAILABLE")

If Not $oSkype.Client.IsRunning Then
    $oSkype.Client.Start()
 EndIf

 Func Skype_AttachmentStatus($aStatus)
    MsgBox(0,"","Attachment status " & $oSkype.Convert.AttachmentStatusToText($aStatus))
    If $aStatus = $oSkype.Convert.TextToAttachmentStatus("AVAILABLE") Then
        $oSkype.Attach()
    EndIf
 EndFunc

While 1
    If $oSkype.CurrentUserStatus = $oSkype.Convert.TextToUserStatus("ONLINE") Then
        ExitLoop
    Else
        $oSkype.ChangeUserStatus($oSkype.Convert.TextToUserStatus("ONLINE"))
    EndIf
    Sleep(1000)
 WEnd

 If $cUserStatus_Offline = $oSkype.CurrentUserStatus Then
    $oSkype.ChangeUserStatus($cUserStatus_Online)
 EndIf

   $oCall = $oSkype.PlaceCall($oUser.Handle); Start Call
   $callstatusraw = $oCall.Status;Raw Call Status
   $callstatus = $oSkype.Convert.CallStatusToText($callstatusraw);Call Status converted to Text
   While $callstatusraw <> $cCallStatus_Inprogress
     MsgBox(0, "", ""&$callstatus);Displays the Call Status
  WEnd

The part until the $oCall Variable is from Andy Flesner (Airwolf123). But works fine.

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • ur
      By ur
      There is a build machine in the network where it will automatically download the code from source repository and compile using visual studio and compresses the complete code in a zip file.
      I have added a line at the end of the build script(written in python on that machine) to copy that zip file to my ESX Virtual machine.
      Where I kept a AutoIT exe to wait for the zip file, once it is copied then I will extract the contents and find only the dll files in the extracted folder and do the Install creation using Installshield silently and copy the created setup files to anther machine.
      I wrote the script till the setup files creation.
       
      But now the problem is, when the zip file is copying through network, the autoit script is detecting it even the copy is still in progress and trying to extract the zip file and failing.
      Even when I am checking whether the file in use is not working.
       
      Any suggestion on how to check whether the copy is completed.?
    • blumi
      By blumi
      I found a website where it is explained how to use wmi to check the tpm status of the tmp security chip.
      http://windowsitpro.com/security/checking-status-trusted-platform-module-command-line
      I tried this with autoit, but had no success.
      Anyone here who can give little support to me?
      Thanks
      #include <Array.au3> $ScriptName = "TPM Status" Dim $sResult $strComputer = "lapxxx" $objWMIService = ObjGet("wmic /namespace:\\.\root\cimv2\security\microsofttpm") ;$objWMIService = ObjGet("wmic /namespace:\\" & $strComputer & "\root\cimv2\security\microsofttpm") ;$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2") $colItems = $objWMIService.InstancesOf("Select * from Win32_Tpm") For $objItem In $colItems $IsActivated = $objItem.IsActivated_InitialValue $IsEnabled = $objItem.IsEnabled_InitialValue MsgBox(0, $ScriptName, "IsActivated: " & $IsActivated & @CRLF & _ "IsEnabled: " & $IsEnabled & @CRLF & _ "x: " ) Next $oMTpm = ObjGet("winmgmts:\\.\root\cimv2\Security\MicrosoftTpm") $oCol = $oMTpm.InstancesOf("Win32_Tpm") For $oObj In $oCol ConsoleWrite($oObj.IsActivated_InitialValue & @CRLF) ConsoleWrite($oObj.IsEnabled_InitialValue & @CRLF) ConsoleWrite($oObj.IsOwned_InitialValue & @CRLF) ConsoleWrite($oObj.SpecVersion & @CRLF) ConsoleWrite($oObj.ManufacturerVersion & @CRLF) ConsoleWrite($oObj.ManufacturerVersionInfo & @CRLF) ConsoleWrite($oObj.ManufacturerId & @CRLF) ConsoleWrite($oObj.PhysicalPresenceVersionInfo & @CRLF) Next  
       
    • parrishjason
      By parrishjason
      I want an AutoIT script to be able to open a given page, but also be able to check the HTTP status of the page and print out the status code in a message box. Looking through some of the documentation, I've found how to open a page in Internet Explorer and keep it as an object by doing this:
      $IE = _IECreate($google_url)
      ^^^ but how would I find the HTTP status 200 from here?
    • christian11
      By christian11
      I just wanted to return back to the main function if pixelgetcolor did not matched  similiar to goto, but it gaves me error whenever there's no pixelgetcolor matched 
      any suggestions?
      Func main() Local $RandomNumber = Random(1,3,1) If $RandomNumber == 1 Then Local $click1= PixelGetColor ( 458 , 163 ) If $click1 = (0x55556b) then MouseClick("primary",458,163, 10 , 0) else call ("main") EndIF EndIF If $RandomNumber == 2 Then Local $click2= PixelGetColor ( 668 , 349 ) If $click2 = (0x55556b) then MouseClick("primary",668,349, 10, 0) else call ("main") EndIF EndIF If $RandomNumber == 3 Then Local $click3= PixelGetColor ( 520 , 449 ) If $click3 = (0x55556b) then MouseClick("primary",520,449, 10, 0) else call ("main") EndIF EndIF EndFunc  
    • WannaBeGut
      By WannaBeGut
      Hey,
      I want the program to make different Actions when some persons come online, depending on the priority you choose in the GUI (1-3). It does not seem to work:
      #include <Skype.au3> #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region --- GUI START --- $mainwin = GUICreate("Skype Notifier", 290, 186, 899, 341) $label_user1 = GUICtrlCreateLabel("User1:", 16, 16, 63, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $label_user2 = GUICtrlCreateLabel("User2:", 16, 48, 39, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $label_user3 = GUICtrlCreateLabel("User3:", 16, 112, 36, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $label_user4 = GUICtrlCreateLabel("User4:", 16, 80, 34, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $label_user5 = GUICtrlCreateLabel("User5:", 160, 80, 49, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $label_user6 = GUICtrlCreateLabel("User6:", 160, 48, 45, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $label_user7 = GUICtrlCreateLabel("User7:", 160, 16, 32, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $input_priority1 = GUICtrlCreateInput("0", 104, 16, 17, 21) $input_priority2 = GUICtrlCreateInput("0", 104, 48, 17, 21) $input_priority3 = GUICtrlCreateInput("0", 104, 80, 17, 21) $input_priority4 = GUICtrlCreateInput("0", 104, 112, 17, 21) $label_user8 = GUICtrlCreateLabel("User8:", 160, 112, 61, 18) GUICtrlSetFont(-1, 9, 400, 0, "Verdana") $input_priority5 = GUICtrlCreateInput("0", 240, 16, 17, 21) $input_priority6 = GUICtrlCreateInput("0", 240, 48, 17, 21) $input_priority7 = GUICtrlCreateInput("0", 240, 80, 17, 21) $input_priority8 = GUICtrlCreateInput("0", 240, 112, 17, 21) $button_arrowleft1 = GUICtrlCreateButton("<", 86, 16, 16, 22, $WS_GROUP) $button_arrowright1 = GUICtrlCreateButton(">", 123, 16, 16, 22, $WS_GROUP) $button_arrowleft2 = GUICtrlCreateButton("<", 86, 48, 16, 22, $WS_GROUP) $button_arrowright2 = GUICtrlCreateButton(">", 123, 48, 16, 22, $WS_GROUP) $button_arrowleft3 = GUICtrlCreateButton("<", 86, 80, 16, 22, $WS_GROUP) $button_arrowright3 = GUICtrlCreateButton(">", 123, 80, 16, 22, $WS_GROUP) $button_arrowleft4 = GUICtrlCreateButton("<", 86, 112, 16, 22, $WS_GROUP) $button_arrowright4 = GUICtrlCreateButton(">", 123, 112, 16, 22, $WS_GROUP) $button_arrowleft5 = GUICtrlCreateButton("<", 222, 16, 16, 22, $WS_GROUP) $button_arrowright5 = GUICtrlCreateButton(">", 259, 16, 16, 22, $WS_GROUP) $button_arrowleft6 = GUICtrlCreateButton("<", 222, 48, 16, 22, $WS_GROUP) $button_arrowright6 = GUICtrlCreateButton(">", 259, 48, 16, 22, $WS_GROUP) $button_arrowleft7 = GUICtrlCreateButton("<", 222, 80, 16, 22, $WS_GROUP) $button_arrowright7 = GUICtrlCreateButton(">", 259, 80, 16, 22, $WS_GROUP) $button_arrowleft8 = GUICtrlCreateButton("<", 222, 112, 16, 22, $WS_GROUP) $button_arrowright8 = GUICtrlCreateButton(">", 259, 112, 16, 22, $WS_GROUP) $button_apply = GUICtrlCreateButton("Apply", 176, 144, 103, 25, $WS_GROUP) GUICtrlSetFont(-1, 8, 400, 0, "Verdana") $checkbox_busy = GUICtrlCreateCheckbox("Busy Mode", 16, 144, 89, 25) GUICtrlSetFont(-1, 8, 400, 0, "Verdana") $checkbox_logfile = GUICtrlCreateCheckbox("Log File", 112, 144, 65, 25) GUISetState(@SW_SHOW) #EndRegion --- GUI END --- Global $oSkype = ObjCreate("Skype4COM.Skype") Global $oUser1 = $oSkype.User("User1") Global $oUser2 = $oSkype.User("User2") Global $oUser3 = $oSkype.User("User3") Global $oUser4 = $oSkype.User("User4") Global $oUser5 = $oSkype.User("User5") Global $oUser6 = $oSkype.User("User6") Global $oUser7 = $oSkype.User("User7") Global $oUser8 = $oSkype.User("User8") Global $SkypeStatus_Offline = $oSkype.Convert.TextToUserStatus("OFFLINE") Global $SkypeStatus_Online = $oSkype.Convert.TextToUserStatus("ONLINE") Global $SkypeStatus_Ringing = $oSkype.Convert.TextToCallStatus("RINGING") Global $SkypeStatus_Inprogress = $oSkype.Convert.TextToCallStatus("INPROGRESS") Global $SkypeStatus_Failed = $oSkype.Convert.TextToCallStatus("FAILED") Global $SkypeStatus_Refused = $oSkype.Convert.TextToCallStatus("REFUSED") Global $SkypeStatus_Cancelled = $oSkype.Convert.TextToCallStatus("CANCELLED") Global $SkypeStatus_Finished = $oSkype.Convert.TextToCallStatus("FINISHED") Global $SkypeStatus_Busy = $oSkype.Convert.TextToCallStatus("BUSY") Global $SkypeStatus_Available = $oSkype.Convert.TextToAttachmentStatus("AVAILABLE") Global $SkypeStatus_Invisible = $oSkype.Convert.TextToAttachmentStatus("AVAILABLE") Global $mutestatus = $oSkype.Mute Global $inputnumber1 = 0 Global $inputnumber2 = 0 Global $inputnumber3 = 0 Global $inputnumber4 = 0 Global $inputnumber5 = 0 Global $inputnumber6 = 0 Global $inputnumber7 = 0 Global $inputnumber8 = 0 Global $readpriority1 = GUICtrlRead($input_priority1) Global $readpriority2 = GUICtrlRead($input_priority2) Global $readpriority3 = GUICtrlRead($input_priority3) Global $readpriority4 = GUICtrlRead($input_priority4) Global $readpriority5 = GUICtrlRead($input_priority5) Global $readpriority6 = GUICtrlRead($input_priority6) Global $readpriority7 = GUICtrlRead($input_priority7) Global $readpriority8 = GUICtrlRead($input_priority8) Global $readcheckboxbusy = GUICtrlRead($checkbox_busy) Global $readcheckboxlogfile = GUICtrlRead($checkbox_logfile) Global $checkboxbusy = 0 Global $applystart = 0 Global $checkdone1 = 0 If Not $oSkype.Client.IsRunning Then $oSkype.Client.Start() EndIf $oSkype.Attach(5) If $SkypeStatus_Offline = $oSkype.CurrentUserStatus Then $oSkype.ChangeUserStatus($SkypeStatus_Online) EndIf While 1 $nMsg = GUIGetMsg() CheckingProcess() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $button_apply Global $readpriority1 = GUICtrlRead($input_priority1) Global $readpriority2 = GUICtrlRead($input_priority2) Global $readpriority3 = GUICtrlRead($input_priority3) Global $readpriority4 = GUICtrlRead($input_priority4) Global $readpriority5 = GUICtrlRead($input_priority5) Global $readpriority6 = GUICtrlRead($input_priority6) Global $readpriority7 = GUICtrlRead($input_priority7) Global $readpriority8 = GUICtrlRead($input_priority8) Global $readcheckboxbusy = GUICtrlRead($checkbox_busy) Global $readcheckboxlogfile = GUICtrlRead($checkbox_logfile) Global $applystart = 1 Case $button_arrowleft1 $inputnumber1 = $inputnumber1 - 1 If $inputnumber1 < 0 then $inputnumber1 = 0 GUICtrlSetData($input_priority1, $inputnumber1) Case $button_arrowright1 $inputnumber1 = $inputnumber1 + 1 If $inputnumber1 > 3 then $inputnumber1 = 3 GUICtrlSetData($input_priority1, $inputnumber1) Case $button_arrowleft2 $inputnumber2 = $inputnumber2 - 1 If $inputnumber2 < 0 then $inputnumber2 = 0 GUICtrlSetData($input_priority2, $inputnumber2) Case $button_arrowright2 $inputnumber2 = $inputnumber2 + 1 If $inputnumber2 > 3 then $inputnumber2 = 3 GUICtrlSetData($input_priority2, $inputnumber2) Case $button_arrowleft3 $inputnumber3 = $inputnumber3 - 1 If $inputnumber3 < 0 then $inputnumber3 = 0 GUICtrlSetData($input_priority3, $inputnumber3) Case $button_arrowright3 $inputnumber3 = $inputnumber3 + 1 If $inputnumber3 > 3 then $inputnumber3 = 3 GUICtrlSetData($input_priority3, $inputnumber3) Case $button_arrowleft4 $inputnumber4 = $inputnumber4 - 1 If $inputnumber4 < 0 then $inputnumber4 = 0 GUICtrlSetData($input_priority4, $inputnumber4) Case $button_arrowright4 $inputnumber4 = $inputnumber4 + 1 If $inputnumber4 > 3 then $inputnumber4 = 3 GUICtrlSetData($input_priority4, $inputnumber4) Case $button_arrowleft5 $inputnumber5 = $inputnumber5 - 1 If $inputnumber5 < 0 then $inputnumber5 = 0 GUICtrlSetData($input_priority5, $inputnumber5) Case $button_arrowright5 $inputnumber5 = $inputnumber5 + 1 If $inputnumber5 > 3 then $inputnumber5 = 3 GUICtrlSetData($input_priority5, $inputnumber5) Case $button_arrowleft6 $inputnumber6 = $inputnumber6 - 1 If $inputnumber6 < 0 then $inputnumber6 = 0 GUICtrlSetData($input_priority6, $inputnumber6) Case $button_arrowright6 $inputnumber6 = $inputnumber6 + 1 If $inputnumber6 > 3 then $inputnumber6 = 3 GUICtrlSetData($input_priority6, $inputnumber6) Case $button_arrowleft7 $inputnumber7 = $inputnumber7 - 1 If $inputnumber7 < 0 then $inputnumber7 = 0 GUICtrlSetData($input_priority7, $inputnumber7) Case $button_arrowright7 $inputnumber7 = $inputnumber7 + 1 If $inputnumber7 > 3 then $inputnumber7 = 3 GUICtrlSetData($input_priority7, $inputnumber7) Case $button_arrowleft8 $inputnumber8 = $inputnumber8 - 1 If $inputnumber8 < 0 then $inputnumber8 = 0 GUICtrlSetData($input_priority8, $inputnumber8) Case $button_arrowright8 $inputnumber8 = $inputnumber8 + 1 If $inputnumber8 > 3 then $inputnumber8 = 3 GUICtrlSetData($input_priority8, $inputnumber8) EndSwitch WEnd Func CheckingProcess() If $applystart = 0 then return Global $userstatus1 = $oSkype.Convert.OnlineStatusToText($oUser1.OnlineStatus) If $readpriority1 = 1 and $userstatus1 = "Online" or "Busy" then GUICtrlSetData($input_priority1, "!") If $readpriority1 = 2 and $userstatus1 = "Online" or "Busy" then ChatAlert() If $readpriority1 = 3 and $checkboxbusy = 0 and $userstatus1 = "Online" or "Busy" then MsgBox(0, "User Online!", "User1 ist Online!"&Chr(10)) If $readpriority1 = 3 and $checkboxbusy = 1 and $userstatus1 = "Online" or "Busy" then ChatAlert2() If $userstatus1 = "Do not Disturb" then $userstatus1 = "Busy" If $readcheckboxlogfile = 1 and $userstatus1 = "Online" or "Busy" then FileWrite("SkypeLog.txt", @MDAY&"/"&@MON&"/"&@YEAR&"/"&@HOUR&":"&@MIN&":"&@SEC&": "&"User1"&" is "&$userstatus1) Global $userstatus2 = $oSkype.Convert.OnlineStatusToText($oUser2.OnlineStatus) If $readpriority2 = 1 and $userstatus2 = "Online" or "Busy" then GUICtrlSetData($input_priority1, "!") If $readpriority2 = 2 and $userstatus2 = "Online" or "Busy" then ChatAlert() If $readpriority2 = 3 and $checkboxbusy = 0 and $userstatus2 = "Online" or "Busy" then MsgBox(0, "User Online!", "User2 ist Online!") If $readpriority2 = 3 and $checkboxbusy = 1 and $userstatus2 = "Online" or "Busy" then ChatAlert2() If $readcheckboxlogfile = 1 and $userstatus2 = "Online" or "Busy" then FileWrite("SkypeLog.txt", @MDAY&"/"&@MON&"/"&@YEAR&"/"&@HOUR&":"&@MIN&":"&@SEC&": "&"User2"&" is "&$userstatus2) EndFunc Func ChatAlert() EndFunc Func ChatAlert2() EndFunc I hope you can help me! =)
      Edit: I will make it a bit more neat when I get it to work ^^