Jump to content

tapi control via dll or activex pbx


OmarOrn
 Share

Recommended Posts

Hi i am trying to program a tool to control my pbx with tapi, i found an dll\ocx but am not sure how to implement it.

 

i wil include the code and my progress so far i now i have taken this example from a html sample and am trying to convert it.

and here is where i am at with the script im not sure how to imblement the ocx file.

 

; ----------------------------------------------------------------------------
;
; VBScript to AutoIt Converter v0.4
;
; ----------------------------------------------------------------------------

#include <date.au3>
$topTapi1 = ObjCreate("c:\windows\toptapi2.ocx")
dim $ThisForm 
dim $Document

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("phonetest", 379, 445, 193, 125)
$comb_taeki = GUICtrlCreateCombo("comb_taeki", 32, 32, 145, 25)
$btn_dial = GUICtrlCreateButton("Dial", 32, 80, 75, 25, 0)
$inp_dial = GUICtrlCreateInput("inp_dial", 120, 80, 121, 21)
$Btn_drop = GUICtrlCreateButton("Drop", 24, 120, 75, 25, 0)
$btn_answer = GUICtrlCreateButton("Answer", 104, 120, 75, 25, 0)
$btn_hold = GUICtrlCreateButton("Hold", 184, 120, 75, 25, 0)
$Button4 = GUICtrlCreateButton("unhold", 264, 120, 75, 25, 0)
$Trace = GUICtrlCreateLabel("Trace", 24, 168, 32, 17)
$btn_del = GUICtrlCreateButton("del", 8, 192, 27, 25, 0)
$tra_box = GUICtrlCreateEdit("", 8, 224, 297, 201)
GUICtrlSetData(-1, "tra_box")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

;-- Flags for TapiLineOpen --;
 Const $FL_ACCBEFOREALERT = 1     
 Const $FL_DROPONDISCONNECT = 2   
 Const $FL_DROPONBUSY = 4
 Const $FL_AUTODEALLOC = 8
 Const $FL_AUTOOWNER = 10
 Const $FL_PHONEOPEN = 20
;-- MediaModes --;
 Const $LINEMEDIAMODE_UNKNOWN = 2
 Const $LINEMEDIAMODE_INTERACTIVEVOICE = 4
 Const $LINEMEDIAMODE_AUTOMATEDVOICE = 8
 Const $LINEMEDIAMODE_DATAMODEM = 10
 Const $LINEMEDIAMODE_G3FAX = 20
 Const $LINEMEDIAMODE_TDD = 40
 Const $LINEMEDIAMODE_G4FAX = 80
 Const $LINEMEDIAMODE_DIGITALDATA = 100
 Const $LINEMEDIAMODE_TELETEX = 200
 Const $LINEMEDIAMODE_VIDEOTEX = 400
 Const $LINEMEDIAMODE_TELEX = 800
 Const $LINEMEDIAMODE_MIXED = 1000
 Const $LINEMEDIAMODE_ADSI = 2000
 Const $LINEMEDIAMODE_VOICEVIEW = 4000
 Const $LINEMEDIAMODE_VIDEO = 8000
;-- Call privilegs --;
 Const $LINECALLPRIVILEGE_NONE = 1
 Const $LINECALLPRIVILEGE_MONITOR = 2
 Const $LINECALLPRIVILEGE_OWNER = 4

DIM $nDeviceID
$nDeviceID=0


;-------------------------------------------------------------------------
Func window_onunload()
   $topTapi1.TapiLineClose(int($nDeviceID))
   $topTapi1.TapiLineShutdown()
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func window_onload()
     $topTapi1.TapiLineInitEx(0,0)
    $ThisForm.textfield.Value = $ThisForm.textfield.Value  &  "TapiLineInitEx found: " &  $topTapi1.DeviceCount & " lines" & @CRLF
    FillDeviceList()
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func cmdDial_onclick()
     $topTapi1.TapiLineDial(int($nDeviceID),$ThisForm.ctlNumber.value,0)
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func cmdDrop_onclick()
     $topTapi1.TapiLineDrop(int($nDeviceID))
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func cmdAnswer_onclick()
     $topTapi1.TapiLineAnswer(int($nDeviceID),0)
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func cmdHold_onclick()
     $topTapi1.TapiLineHold(int($nDeviceID),0)
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func cmdUnHold_onclick()
     $topTapi1.TapiLineUnHold(int($nDeviceID),0)
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func selDevices_onchange()
     $topTapi1.TapiLineClose(int($nDeviceID))
    $nDeviceID=$ThisForm.selDevices.Value
     $topTapi1.TapiLineOpen(int($nDeviceID), $LINEMEDIAMODE_INTERACTIVEVOICE, $LINECALLPRIVILEGE_OWNER or $LINECALLPRIVILEGE_MONITOR, $FL_AUTODEALLOC or  $FL_ACCBEFOREALERT)
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func FillDeviceList()
  Dim $x  

  For $x = 0 To $topTapi1.DeviceCount -1
     $ListItem = $document.createElement("OPTION")
    $ListItem.Text = $topTapi1.getDeviceName(int($x))
    $ListItem.Value = $x
    $ThisForm.selDevices.add ($ListItem)
  Next

EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func cmdDelTrace_onclick()
    $ThisForm.textfield.Value = ""
EndFunc
;-------------------------------------------------------------------------


;##  begin topTapi events  ###############

;-------------------------------------------------------------------------
Func topTapi1_OnTapiMessage($CDeviceId, $CCallHandle, $CMessage, $CfromProc, $CErrNumber)
  $ThisForm.textfield.Value = $ThisForm.textfield.Value  & $CfromProc & " -> " & $CMessage & @CRLF 
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func topTapi1_OnCallState($CDeviceId, $CCallHandle, $CCallId, $CCallState)
Dim $strCallState
  $strCallState= $topTapi1.getStrFromValue(1, int($CCallState))
  $ThisForm.textfield.Value = $ThisForm.textfield.Value & "OnCallState DeviceId: " & $CDeviceId & " CallHandle: " & $CCallHandle & " -> " & $strCallState & @CRLF 
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func topTapi1_OnCallerID($CDeviceId, $CCallHandle, $CCallId, $CNumber, $CName, $CPartyId)
  $ThisForm.textfield.Value = $ThisForm.textfield.Value & "OnCallerId DeviceId: " & $CDeviceId & " CallHandle: " & $CCallHandle & " -> " & $CNumber & @CRLF 
EndFunc
;-------------------------------------------------------------------------


;-------------------------------------------------------------------------
Func topTapi1_OnConnectedID($CDeviceId, $CCallHandle, $CCallId, $CNumber, $CName, $CPartyId)
 $ThisForm.textfield.Value = $ThisForm.textfield.Value & "OnConnectedId DeviceId: " & $CDeviceId & " CallHandle: " & $CCallHandle & " -> " & $CNumber & @CRLF 
EndFunc
;-------------------------------------------------------------------------




;##  end topTapi Events  #################

 

i am useing the activex feture from Toptapi

 

with thanks in advance

 

Omar

Edited by Jos
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...