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-Key: 41821

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

Printed on: April 19, 2024 at 18:04 o'clock

Member: Supaman
Supaman Oct 10, 2006 at 08:39:49 (UTC)
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.
Member: Ragazzo
Ragazzo Oct 10, 2006 at 08:41:23 (UTC)
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
Member: sk4r
sk4r Oct 10, 2006 at 08:44:23 (UTC)
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.
Member: sk4r
sk4r Oct 10, 2006 at 08:45:49 (UTC)
Goto Top
Leider bin ich momentan nicht in der Nähe der Anlage. Heute Abend werde ich die Anlagen spezifischen Daten hier posten.
Mitglied: 29633
29633 Oct 11, 2006 at 16:04:58 (UTC)
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.
Member: sk4r
sk4r Oct 11, 2006 at 21:04:42 (UTC)
Goto Top
Also das ist ein ASCOTEL 2030
Mitglied: 29633
29633 Oct 12, 2006 at 14:01:31 (UTC)
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