Telefonnummern aus einer Anlage herauslesen
Hallo liebe Admins,
hoffe es geht euch allen gut.
So nun zu meiner Frage. Ich habe eine Telefonanlage, an der 8 Telefone angeschlossen sind. Auch habe ich eine Software, die dies alles verwaltet. Nun will ich jedoch eine eigene Software schreiben bzw. ich hab die schon geschrieben. Jedoch fehlt mir nun eins. Wie kann ich die gewählten Telefonnummern aus der Anlage herauslesen? Geht das überhaupt? Habe mir überlegt dies mit PureBasic oder Delphi zu realisieren. Das Grundgerüst steht bereits. Leider hänge ich wie gesagt daran, dass ich die gewählten Telefonnummern nicht auslesen kann.
Im Klartext: Ich muss auf meinem Bildschirm angezeigt bekommen, welche Telefonnummern an diesen Telefon gewählt wurden, um die Kosten dafür berechnen lassen zu können.
Freue mich sehr auf eure Antworten.
Mit freundlichen Grüßen
Faruq
hoffe es geht euch allen gut.
So nun zu meiner Frage. Ich habe eine Telefonanlage, an der 8 Telefone angeschlossen sind. Auch habe ich eine Software, die dies alles verwaltet. Nun will ich jedoch eine eigene Software schreiben bzw. ich hab die schon geschrieben. Jedoch fehlt mir nun eins. Wie kann ich die gewählten Telefonnummern aus der Anlage herauslesen? Geht das überhaupt? Habe mir überlegt dies mit PureBasic oder Delphi zu realisieren. Das Grundgerüst steht bereits. Leider hänge ich wie gesagt daran, dass ich die gewählten Telefonnummern nicht auslesen kann.
Im Klartext: Ich muss auf meinem Bildschirm angezeigt bekommen, welche Telefonnummern an diesen Telefon gewählt wurden, um die Kosten dafür berechnen lassen zu können.
Freue mich sehr auf eure Antworten.
Mit freundlichen Grüßen
Faruq
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 41821
Url: https://administrator.de/forum/telefonnummern-aus-einer-anlage-herauslesen-41821.html
Ausgedruckt am: 23.12.2024 um 10:12 Uhr
7 Kommentare
Neuester Kommentar
ich würde mal sagen, das jede telefonanlage ein propritäres protokoll für sowas hat, ohne das du dazu schriebst um welche anlage es sich handelt, wird dir dazu keiner was sagen können. grosse hoffnungen würde ich mir da aber nicht machen, da solche anlagen wie gesagt geschlossene systeme sind.
genrell würde ich aber einen anderen weg einschlagen: verbinde den rechner über eine isdn karte mit der isdn leitung und hör den S= bus ab, da werden alle infos übertragen die du brauchst. vorteil dabei: es ist nicht anlagenspezifisch.
genrell würde ich aber einen anderen weg einschlagen: verbinde den rechner über eine isdn karte mit der isdn leitung und hör den S= bus ab, da werden alle infos übertragen die du brauchst. vorteil dabei: es ist nicht anlagenspezifisch.
Vielleicht gibst Du uns mal Info, welche TK-Anlage mit welcher Software auf welchem System verwendet wird ....
@Supaman:
Das Problem mit dem S0-Bus hängt aber von der Konfig der Anlage ab.
Wenn nicht alle Nummern auf dem ISDN-Bus signalisiert werden können (z.B. Tür oder analog Tels) bringt das auch nix.
-> Daher die Frage nach der TK: Vielleicht gibt es dort ja ein SDK
@Supaman:
Das Problem mit dem S0-Bus hängt aber von der Konfig der Anlage ab.
Wenn nicht alle Nummern auf dem ISDN-Bus signalisiert werden können (z.B. Tür oder analog Tels) bringt das auch nix.
-> Daher die Frage nach der TK: Vielleicht gibt es dort ja ein SDK
Versuche es mit Toptapi:
http://www.toptapi.de/
Habe damit eine Applikation geschrieben, die nicht nur die Telefonnumern ausliest, sondern auch bei Anruf die Kundendaten anzeigt, wenn die Rufnummer des Anrufers in der Datenbank ist.
Auch das Weiterverbinden des Anrufers an die benötigte Nebenstelle ist durchaus möglich.
Programmiert in VB6, VB.NET ist ebenso möglich.
http://www.toptapi.de/
Habe damit eine Applikation geschrieben, die nicht nur die Telefonnumern ausliest, sondern auch bei Anruf die Kundendaten anzeigt, wenn die Rufnummer des Anrufers in der Datenbank ist.
Auch das Weiterverbinden des Anrufers an die benötigte Nebenstelle ist durchaus möglich.
Programmiert in VB6, VB.NET ist ebenso möglich.
Der erste Teil betraf das Formular, welches im Bedarfsfall aufgerifen wird.
Nun alles, was die Telefonanlage betrifft:
rivate Sub toptapi1_OnCallState(CCallstate As String, CCallHandle As Long, CCallID As Long)
If CCallstate = "IDLE" Then
ActiveCall = False
Tapilinedrop
End If
End Sub
Public Sub Tapilinedrop()
' bei Auflegen: TAPI-Element-Shutdown
Me.topTapi1.Tapilinedrop
' Gesprächsstatus umstellen
CallStatus = "Ankommend"
Telnummer = ""
frmTelefoninfo.Hide
frmTelefoninfo.txtRufnummer.Text = ""
frmTelefoninfo.txtNummer.Text = ""
End Sub
Private Sub toptapi1_OnConnectedID(CNumber As String, CCallID As Long, CCallHandle As Long)
ActiveCall = True
' Telefoninfo nur anzeigen, wenn ankommender Ruf
If CallStatus = "Ankommend" Then
If Len(CNumber) > 0 Then
Telnummer = CNumber
frmTelefoninfo.txtRufnummer.Text = Telnummer
frmTelefoninfo.txtRufnummer_KeyPress (13)
' frmTelefoninfo.Show
Telnummer = ""
End If
End If
End Sub
Private Sub toptapi1_OnDisconnected(CDisconnectedMode As String, CCallHandle As Long)
Tapilinedrop
End Sub
With topTapi1
.lizenzschluessel = "XXXXXXXXXXXXXXXX"
.SN = "XX-XXX-XXX-XX"
.TapiLineInit
'die richtige DeviceId herausfinden, indem ich nach
'dem Device suche, dessen Name mit "ALCATEL" beginnt
For i = 0 To topTapi1.DeviceCount - 1
DeviceName = topTapi1.getDeviceName(i)
If Left(DeviceName, 7) = "ALCATEL" Then
.DeviceId = i
Alcateltreiber = True
Exit For
End If
Next
End With
Alcateltreiber = True
If Alcateltreiber = True Then
mediaMode = &H4&
callPriv = &H2&
Me.topTapi1.TAPI_LINEMEDIAMODE = mediaMode
Me.topTapi1.TAPI_LINECALLPRIVILEGE = callPriv
Me.topTapi1.TAPI_LINEBEARERMODE = &H1&
Me.topTapi1.TAPI_LINEADDRESSMODE = &H1&
Me.topTapi1.TapiLineOpen
End If
End If
Private Sub mnuEnde_Click()
If WordOffen = False Then
' Ist noch ein Telefongesrpäch offen?
If ActiveCall = False Then
Unload frmTelefoninfo
topTapi1.TapiLineClose
topTapi1.TapiLineShutdown
' Hotkey_entladen
End
Else
MsgBox "Sie haben noch ein aktives Telefongespräch!", vbExclamation
Exit Sub
End If
Else
MsgBox "Sie haben noch einen Brief geöffnet, bitte beenden Sie diesen Brief zuerst!", vbCritical
Exit Sub
End If
End Sub
Nun alles, was die Telefonanlage betrifft:
rivate Sub toptapi1_OnCallState(CCallstate As String, CCallHandle As Long, CCallID As Long)
If CCallstate = "IDLE" Then
ActiveCall = False
Tapilinedrop
End If
End Sub
Public Sub Tapilinedrop()
' bei Auflegen: TAPI-Element-Shutdown
Me.topTapi1.Tapilinedrop
' Gesprächsstatus umstellen
CallStatus = "Ankommend"
Telnummer = ""
frmTelefoninfo.Hide
frmTelefoninfo.txtRufnummer.Text = ""
frmTelefoninfo.txtNummer.Text = ""
End Sub
Private Sub toptapi1_OnConnectedID(CNumber As String, CCallID As Long, CCallHandle As Long)
ActiveCall = True
' Telefoninfo nur anzeigen, wenn ankommender Ruf
If CallStatus = "Ankommend" Then
If Len(CNumber) > 0 Then
Telnummer = CNumber
frmTelefoninfo.txtRufnummer.Text = Telnummer
frmTelefoninfo.txtRufnummer_KeyPress (13)
' frmTelefoninfo.Show
Telnummer = ""
End If
End If
End Sub
Private Sub toptapi1_OnDisconnected(CDisconnectedMode As String, CCallHandle As Long)
Tapilinedrop
End Sub
With topTapi1
.lizenzschluessel = "XXXXXXXXXXXXXXXX"
.SN = "XX-XXX-XXX-XX"
.TapiLineInit
'die richtige DeviceId herausfinden, indem ich nach
'dem Device suche, dessen Name mit "ALCATEL" beginnt
For i = 0 To topTapi1.DeviceCount - 1
DeviceName = topTapi1.getDeviceName(i)
If Left(DeviceName, 7) = "ALCATEL" Then
.DeviceId = i
Alcateltreiber = True
Exit For
End If
Next
End With
Alcateltreiber = True
If Alcateltreiber = True Then
mediaMode = &H4&
callPriv = &H2&
Me.topTapi1.TAPI_LINEMEDIAMODE = mediaMode
Me.topTapi1.TAPI_LINECALLPRIVILEGE = callPriv
Me.topTapi1.TAPI_LINEBEARERMODE = &H1&
Me.topTapi1.TAPI_LINEADDRESSMODE = &H1&
Me.topTapi1.TapiLineOpen
End If
End If
Private Sub mnuEnde_Click()
If WordOffen = False Then
' Ist noch ein Telefongesrpäch offen?
If ActiveCall = False Then
Unload frmTelefoninfo
topTapi1.TapiLineClose
topTapi1.TapiLineShutdown
' Hotkey_entladen
End
Else
MsgBox "Sie haben noch ein aktives Telefongespräch!", vbExclamation
Exit Sub
End If
Else
MsgBox "Sie haben noch einen Brief geöffnet, bitte beenden Sie diesen Brief zuerst!", vbCritical
Exit Sub
End If
End Sub