Sign in to follow this  
Followers 0
Logty

Calling phone numbers in Autoit?

13 posts in this topic

Is there any way in autoit3 to call a phone number from your computer, kind of like skype? I know there probably is, but I have been having a difficult time finding out how.

Share this post


Link to post
Share on other sites



Maybe there is a Skype UDF in the Example Forums, but I don't know of any way to call a Phone Number using the Native AutoIt Functions.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

Maybe there is a Skype UDF in the Example Forums, but I don't know of any way to call a Phone Number using the Native AutoIt Functions.

Is there any way to call a phone number without using the skype UDF though? Like isn't there a dll or something you could use?

Share this post


Link to post
Share on other sites

No, there is no Microsoft API that comes built into Windows for calling a phone. You will need to use a 3rd party VOIP service like skype for sure.

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

In my company we use TAPI with a Siemens HiPath telephone system to dial a number when people click on an entry in the telephone directory.

Something like:

; Setup TAPI
Global $bLineFound = False
Const $LINEADDRESSTYPE_PHONENUMBER = 0x1;
Const $LINEMEDIAMODE_INTERACTIVEVOICE = 0x4;
Global $oTAPI = ObjCreate("TAPI.TAPI")
If IsObj($oTAPI) Then
    $oTAPI.Initialize
    Global $oAddresses = $oTAPI.Addresses
    Global $bLineFound = False
    For $oAddress In $oAddresses
        If $oAddress.AddressName = "CAP TAPI" Then
            $bLineFound = True
            ExitLoop
        EndIf
    Next
EndIf
; Make a call
$oMyCall = $oAddress.CreateCall($sNumber, $LINEADDRESSTYPE_PHONENUMBER, $LINEMEDIAMODE_INTERACTIVEVOICE)
$oMyCall.Connect (false)
Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

If your intentions are to call numbers not using any 3rd party service, no you cant.

Either use a service(like skype) or whatever other service that has an api available, or start your own telecom service :-p

perhaps skype has an api available somewherwe over here http://developer.skype.com/

Share this post


Link to post
Share on other sites

If your intentions are to call numbers not using any 3rd party service, no you cant.

Either use a service(like skype) or whatever other service that has an api available, or start your own telecom service :-p

perhaps skype has an api available somewherwe over here http://developer.skype.com/

Cool! I will try it later, are there any other options though?

Share this post


Link to post
Share on other sites

Cool! I will try it later, are there any other options though?

i did say "perhaps" ;-) i didnt check, actually looking at it it seems to be an api for making extensions.

Im not sure but isnt msn able to make phone calls to these days? i believe they do have an API available somewhere.

If its for bussiness use, Water's solution would be perfect.

Share this post


Link to post
Share on other sites

If you just want a script to dial the number and allow the converstaion to be carried on afterwards then a modem and some simple commands to the modem would be all you need. If the modem is on a COM port the udf in my signature would be able to dial for you.

1 person likes this

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites

If you just want a script to dial the number and allow the converstaion to be carried on afterwards then a modem and some simple commands to the modem would be all you need. If the modem is on a COM port the udf in my signature would be able to dial for you.

Which UDF? do you mean the Serial Port communications one? also, could you post a small example code?

Thanks!!

Share this post


Link to post
Share on other sites

Which UDF? do you mean the Serial Port communications one? also, could you post a small example code?

Thanks!!

Yes, the serial port communication one. Google "AT Command Set". These are simple codes you can send to the modem. If you use the example program I include in the download then you can just type the codes in by hand to try them out. When you see how it works you can write a script to do it for you.


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites

In my company we use TAPI with a Siemens HiPath telephone system to dial a number when people click on an entry in the telephone directory.

Something like:

; Setup TAPI
Global $bLineFound = False
Const $LINEADDRESSTYPE_PHONENUMBER = 0x1;
Const $LINEMEDIAMODE_INTERACTIVEVOICE = 0x4;
Global $oTAPI = ObjCreate("TAPI.TAPI")
If IsObj($oTAPI) Then
    $oTAPI.Initialize
    Global $oAddresses = $oTAPI.Addresses
    Global $bLineFound = False
    For $oAddress In $oAddresses
        If $oAddress.AddressName = "CAP TAPI" Then
            $bLineFound = True
            ExitLoop
        EndIf
    Next
EndIf
; Make a call
$oMyCall = $oAddress.CreateCall($sNumber, $LINEADDRESSTYPE_PHONENUMBER, $LINEMEDIAMODE_INTERACTIVEVOICE)
$oMyCall.Connect (false)

One quick question about your script, what is variable $sNumber?

Share this post


Link to post
Share on other sites

It's the number you want to call.

But there is more to be done to make it work.

The telephone system (in our case Siemens HiPath) has to be connected to the IT network. The TAPI driver (provided by Siemens) has to be installed on the local computer and you have to provide the information which computer is related to which telephone so that your telephone rings when you dial.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

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