sk4r
Goto Top

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

Content-ID: 41821

Url: https://administrator.de/contentid/41821

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

Supaman
Supaman 10.10.2006 um 10:39:49 Uhr
Goto Top
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.
Ragazzo
Ragazzo 10.10.2006 um 10:41:23 Uhr
Goto Top
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
sk4r
sk4r 10.10.2006 um 10:44:23 Uhr
Goto Top
WOW, das ist ne super Idee. Ich bin wirklich schon seit 2 oder 3 Monaten am Nachdenken. Warum bin ich denn nicht selbst auf diese Idee gekommen. Vielen Vielen DANK.

Aber nun noch etwas. Mit welcher Sprache sollte ich das denn rogrammieren? Delphi? C? C++? PureBasic?

Bin mir nicht im Klaren, ob der S= Bus von jeder dieser Programmiersprachen unterstützt wird.
sk4r
sk4r 10.10.2006 um 10:45:49 Uhr
Goto Top
Leider bin ich momentan nicht in der Nähe der Anlage. Heute Abend werde ich die Anlagen spezifischen Daten hier posten.
29633
29633 11.10.2006 um 18:04:58 Uhr
Goto Top
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.
sk4r
sk4r 11.10.2006 um 23:04:42 Uhr
Goto Top
Also das ist ein ASCOTEL 2030
29633
29633 12.10.2006 um 16:01:31 Uhr
Goto Top
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