Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

TAPI Schnittstelle ansprechen, Sonderzeichen trimmen

Frage Entwicklung VB for Applications

Mitglied: cmeese

cmeese (Level 1) - Jetzt verbinden

01.02.2012 um 15:26 Uhr, 7448 Aufrufe, 2 Kommentare

Hallo zusammen, im Internet habe ich ein VBS Script gefunden welches die TAPI Schnittstelle ansprechen kann...

... dies funktioniert ganz gut, hier der Quellcode:
01.
Option Explicit 
02.
 
03.
Dim strFilter, strNumber 
04.
strFilter = "" 
05.
 
06.
If (Wscript.Arguments.Count < 1) Then   
07.
  	Wscript.Echo "Make a call via TAPI" & vbcrlf & vbcrlf & "cti.vbs Number StringToSearchForInTapi" 
08.
  	Wscript.Quit   
09.
Else 
10.
	' Retrieve the first argument (index 0).   
11.
	strNumber = Wscript.Arguments(0) 
12.
	If Wscript.Arguments.Count > 1 Then 
13.
		' Retrieve the second argument.   
14.
		strFilter = Wscript.Arguments(1)   
15.
	End If 
16.
End If 
17.
 
18.
 
19.
If Wscript.Arguments(0) = "-list" Then 
20.
	Call ListTAPI() 
21.
Else 
22.
	Call MakeCall(strNumber, strFilter) 
23.
End If 
24.
 
25.
 
26.
Sub MakeCall(strNumber, strFilter) 
27.
	Dim lAddressType, objTapi, objCollAddresses, objCrtAddress, lLoop, NewCall, gobjAddress 
28.
 
29.
	Const LINEADDRESSTYPE_PHONENUMBER = 1 
30.
	Const LINEMEDIAMODE_INTERACTIVEVOICE = 4 
31.
	 
32.
	lAddressType = LINEADDRESSTYPE_PHONENUMBER 
33.
	Set objTapi = CreateObject("TAPI.TAPI.1") 
34.
	objTapi.Initialize 
35.
	Set objCollAddresses  = objTapi.Addresses 
36.
 
37.
	For lLoop = 1 To objCollAddresses.Count 
38.
		Set objCrtAddress = objCollAddresses.Item(lLoop)  
39.
		If Instr(objCrtAddress.AddressName, "EXT00") > 0 Then 
40.
				If Instr(objCrtAddress.AddressName, strFilter) Then 
41.
					Set gobjAddress = objCrtAddress 
42.
					Exit For 
43.
				End If 
44.
		End If 
45.
		If lLoop = objCollAddresses.Count Then 
46.
			Msgbox "TAPI Provider Not Found" 
47.
			WScript.quit(-1) 
48.
		End If 
49.
	Next 
50.
 
51.
	Set NewCall = gobjAddress.CreateCall(strNumber, lAddressType, LINEMEDIAMODE_INTERACTIVEVOICE) ',lMediaTypes)'Set 
52.
	NewCall.connect(False) 
53.
 
54.
End Sub 
55.
 
56.
Sub ListTAPI() 
57.
	Dim strAddressList, lAddressType, objTapi, objCollAddresses, objCrtAddress, lLoop 
58.
	 
59.
	Const LINEADDRESSTYPE_PHONENUMBER = 1 
60.
 
61.
	lAddressType = LINEADDRESSTYPE_PHONENUMBER 
62.
	Set objTapi = CreateObject("TAPI.TAPI.1") 
63.
	objTapi.Initialize 
64.
	Set objCollAddresses  = objTapi.Addresses 
65.
 
66.
	For lLoop = 1 To objCollAddresses.Count 
67.
		Set objCrtAddress = objCollAddresses.Item(lLoop)  
68.
		strAddressList = strAddressList & objCrtAddress.AddressName & vbCrLf 
69.
	Next 
70.
	Wscript.echo strAddressList 
71.
End Sub
Die Datei habe ich als "cti.vbs" gespeichert und nach C:\Windows kopiert. Wenn ich nun in einer CMD "cti.vbs 123456789" tippe fängt mein Telefon an zu wählen und alles ist super. Um das ganze nun zu verfeinern habe ich nun noch ein AutoHotkey Script geschrieben welches mir markierte Nummern an die cti.vbs übergibt. Funktioniert auch super.

Es geht aber um den Fall der eintrifft wenn ich Rufnummern von Webseiten markiere, diese entahlten oft Sonderzeichen wie /, (, oder .
Durch die Sonderzeichen ist es naütlrich nicht möglich das VBS Script auszuführen.
Da ich von VBS überhaupt keine Ahnung habe, suche ich jemand der mir helfen kann und mir erklärt wie ich diese Sonderzeichen heraustrimme. Vielleicht ist dies auch der falsche Ansatz und man muss die Sonderzeichen schon im AutoHotkey Script raustrimmen.

Ich bin für jede Hilfe dankbar! Vielen Dank im Voraus!
Mitglied: rubberman
01.02.2012 um 19:47 Uhr
Hallo cmeese.

Um die numerische Essenz aus einem String zu filtern, bietet sich ein regulärer Ausdruck an.
Beispiel:
01.
strNumber = "0123 / 456-789" 
02.
 
03.
Set objRegex = New RegExp 
04.
objRegex.Global = True 
05.
objRegex.Pattern = "\d+" 
06.
Set colNums = objRegex.Execute(strNumber) 
07.
strNumber = "" 
08.
For Each objNum In colNums 
09.
  strNumber = strNumber & objNum.Value 
10.
Next 
11.
Set objNum = Nothing 
12.
Set colNums = Nothing 
13.
Set objRegex = Nothing 
14.
 
15.
WScript.Echo strNumber
Als Orientierungshilfe: Die erste Zeile im Beispielcode entspricht dem
strNumber = Wscript.Arguments(0)
in deinem Script. Die letzte Zeile ist nur zur Ausgabe des Resultats.

Brain.exe solltest du trotzdem mitlaufen lassen Einfach Irgendetwas übergeben zu wollen, schlägt im Zweifelsfall natürlich fehl. Oft schon gesehen:
+49 (0) 123 / 456789
... was soviel bedeutet, wie wahlweise 0049123... bzw. 0123... Du kannst dir vorstellen was passiert, wenn aus diesem String einfach alle Ziffern extrahiert werden...

Grüße
rubberman
Bitte warten ..
Mitglied: derLenhart
07.02.2012 um 12:29 Uhr
Hallo,

zunächsteinmal danke, ich habe auch ein ähnliches Problem, welches super dadurch gelöst werden konnte. Eine Frage habe ich jedoch, da ich kein vbs Crack bin.

Zeile 51 - Set NewCall = gobjAddress.CreateCall(strNumber, lAddressType, LINEMEDIAMODE_INTERACTIVEVOICE) ',lMediaTypes)'Set

Da ich ganz speziell eine definierte TapiVerbindung eingetragen habe, bei der ein Softphone die Verbindung aufbaut. Gibt es eine Möglichkeit/Trick um den Fehler abzufangen?

Error:
Line: 52
Position: 2
OK
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Anruf aus Outlook über TAPI Schnittstelle starten
gelöst Frage von RobgroOutlook & Mail2 Kommentare

Hallo Community, wir haben bei uns im Büro unsere Telefonanlage an das Netzwerk angeschlossen. Damit konnten wir die Windows ...

Netzwerke
Dedizierter Win Server 2003 als TAPI Schnittstelle
Frage von sven784230Netzwerke1 Kommentar

Hallo zusammen, wir upgraden demnächst auf Windows Server 2012 R2 (ich weiß wir sind sehr spät dran), allerdings ist ...

CPU, RAM, Mainboards
Was ist das für eine Schnittstelle ?
gelöst Frage von GrissiniCPU, RAM, Mainboards4 Kommentare

Ich habe hier einen Neuen Bastel PC gekauft für 13 € und habe eine Schnitstelle entdeckt die ich nicht ...

TK-Netze & Geräte
TAPI und Wählhilfe
Frage von oldi1106TK-Netze & Geräte7 Kommentare

Hi, ich habe folgendes Problem: Auf einen Windows Server 2012 Std. habe ich einen Telefonieserver eingerichtet. Dialogic Diva BRI-2 ...

Neue Wissensbeiträge
Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 19 MinutenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 14 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 18 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 18 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...