Jump to content

Anzeige der original angerufenen Rufnummer bei Weiteleitungen


PeterK

Recommended Posts

Hallo,

heute habe ich mal ein einfaches Problem - hoffe ich ?

Bei uns im Haus werden alle externen Anrufe bei einzelnen Mitarbeitern zur Zentrale durchgestellt, falls der jeweilige Teilnehmer nicht ans Telefon geht. Falls in der Zentrale auch niemand rangeht, wird eine Email an die Zentrale verschickt (z.B. für Rückrufe). Diese beinhaltet die Rufnummer des Anrufenden sowie Datum und Uhrzeit.
(z.B. es wird bei +49 XXX 27 angerufen, 27 geht nicht ran, damit wird auf die +49 XXX 0 weitergeleitet)

Gern hätten wir auch die Nummer, die original angerufen wurde, in die Email eingetragen (im obigen Beispiel also +49 XXX 27), damit die Zentrale weiß, wer wirklich angerufen wurde.

Leider finde ich aber in den vordefinierten Variablen keine, die die original gewählte Rufnummer beinhaltet. Wenn ich IpPbx.CallingNumber oder CalledNumber verwende, bekomme ich im obeigen Beispiel immer die 0, nicht jedoch die 27. Wenn man in die Einzelverbindungsliste schaut, sieht man auch, warum. Es sind 2 Einträge, der erste beinhaltet den Anruf auf der 27, während die zweite den weitergeleiteten Ruf zeigt. Und alle vordefinerten Variablen scheinen sich auf diesen zweiten Eintrag zu beziehen...

Ein Weg wäre, über SQL-Scripte dies abzufragen. Aber vielleicht geht es auch ganz einfach???

Peter

Link to comment
Share on other sites


  • Most Valued User

Das löse ich meist wie folgt, Am Teilnehmer der Umleitet setze ich einen CallingName.

 

if callingname = „“ then callingname = „Bei Maier von :“ &callingnumber else callingname = „Bei Maier von :“&callingname

 

Die Korrekte Schreibweise musst du dir raus suchen oder ich tippe es dir am Laptop nochmal zusammen.

Damit hast du alle Informationen im CallingName und kannst diese Übergeben.

 

Hilft dir das so schön weiter ?

 

gruss Sven 

Link to comment
Share on other sites


Hallo,

 

ich denke, ich habe eine andere Lösung gefunden. Und diese könnte vielleicht auch für andere interessant sein...

 

Es scheint, dass CallId() immer die ID des originalen Anrufs enthält (und nicht die des weitergeleiteten Gesprächs). Damit vereinfacht sich ein VB-Script, dass die entsprechenden Daten aus der IpPbxCDR-Tabelle ausliest, stark:

 

    ' CursorTypeEnum Values
    Const adOpenForwardOnly = 0
    Const adOpenKeyset = 1
    Const adOpenDynamic = 2
    Const adOpenStatic = 3

 

    ' LockTypeEnum Values
    Const adLockReadOnly = 1
    Const adLockPessimistic = 2
    Const adLockOptimistic = 3
    Const adLockBatchOptimistic = 4

 

    ' CommandTypeEnum Values
    Const adCmdUnknown = &H8
    Const adCmdText = &H1
    Const adCmdTable = &H2
    Const adCmdStoredProc = &H4


    Function GetCalledNameFromCallId(ByVal callId)
        Dim sDsn
        Dim sSQL2
        Dim rs
        Dim db
        Dim TNr
        Dim sReturn
        sReturn = ""
        sDsn = "Provider=SQLOLEDB;Data Source=<MySource>;Initial Catalog=CDR;User ID=<MyUsername>;Password=<MyPassword>"
    Set db = CreateObject("ADODB.Connection")
    db.Open sDsn
    sSQL2 = "SELECT CalledName FROM IpPbxCDR WHERE (CallId = '" & callId & "')"
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open sSQL2, db, adOpenDynamic, adLockOptimistic, adCmdText
    If Not rs.eof = True Then
            sReturn = Trim(rs("CalledName"))
        End If
        rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Set sSQL2 = Nothing    
    GetCalledNameFromCallId = sReturn
    End Function

 

(ersetzt man alle "CalledNme" durch "CalledNumber" kann man sich auch die Telefonnummer zurückgeben lassen)

 

Und hier die Zuweisung einer Variable:

image.png.5cf2f743ef6566d396a42f9acf5c5b98.png

 

Peter

Link to comment
Share on other sites


Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and have taken note of our Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.