Jump to content

User Status abfragen (2)


Zeking

Recommended Posts

Hi zusammen,

auch ich habe in Archiv diese Funktion entdeckt mit User Status.

Leider komme ich gar nicht mal weiter damit.

Ich habe zum testen einen User ausgewählt mit der Durchwahl 12 bzw. Ziel wäre dass der Status abgefragt wird und bei allen zuständen bis auf angemeldet Weiterleitung stattfindet zu der Nebenstelle 653.

Egal was ich versuche, es gelingt mir nicht.

Folgende Vorgehensweise habe ich eingerichtet:

 

-User in der NetPhone-Administration geöffnet(Durchwahl 12)

-Call Routing Manager gestartet

-Mittels Grafischen Skript Editor neue Regel erstellt.

Gleich oben in den Block(siehe Anhang)unter Start den Skript von Herr Welling eingefügt(Skript siehe unten)

Danach Skript Block erstellt Namens "Skript 12"

-Unter Parameter folgendes eingefügt UseExit = UserStatus (12)

Hier kommt schon die Erste Frage an der Stelle ob ich hier richtig bin...Ich habe weitern Block eingeführt Namens "Skript 653" damit ich ebenfalls Status von Durchwahl 635 erfassen kann(muss ich das tun Überhaupt?)Ebenfalls unter Parameter folgendes eingefügt UseExit = UserStatus (635)

Nächstes Block wäre bei mir "635" sozusagen mein Ziel, wenn Nebenstelle 12 ein anderen Zustand als Angemeldet hat soll der Anruf zu der Nebenstelle 635 durchgestellt werden.

Eigentlich relativ einfache Sache aber für mich nicht Lösbar.

Ich habe so viel versucht ohne Erfolg sobald ich Regel aktiviere bekommt die Nebenstelle 12 gar keine Anrufe mehr.

Anbei oben erwähnte Skript den ich unter "Start" einkopiert habe von Herr Wellige

 

Skript Anfang:

 

1.'----------------------------------------------------------------
2.' UserStatus
3.'
4.' Returns the current status of the given user.
5.'
6.' Parameter
7.'    sNumber        user name or extension
8.'
9.' Return
10.'     integer       0 - State Unavailable (no status signalling configured!)
11.'                   1 - Logged Off
12.'                   2 - Logged On (no speaking)
13.'                   3 - Speaking External
14.'                   4 - Alerting
15.'                   5 - Speaking Internal
16.'                   6 - Away (from SwyxWare 2011 on)
17.'                   7 - Do not Disturb (from SwyxWare 2011 on)
18.'----------------------------------------------------------------
19.Function UserStatus(ByVal sNumber)
20.
21.    PBXScript.OutputTrace("-------------> UserStatus ( sNumber = " & sNumber & " )")
22.
23.    Dim nReturn
24.    nReturn = 0
25.
26.    Dim Users
27.    Set Users = g_PBXConfig.GetUserByAddress(sNumber)
28.
29.    Dim User
30.    For Each User In Users
31.
32.        PBXScript.OutputTrace("Found user " & User.Name & " with current state " & User.State)
33.        nReturn = User.State
34.
35.    Next
36.
37.    UserStatus = nReturn
38.
39.    PBXScript.OutputTrace("nReturn = " & nReturn)
40.    PBXScript.OutputTrace("<------------- UserStatus")
41.
42.End Function

 

Skript Ende!

 

Ich hoffe irgendjemand kann mir sagen wo ich Fehler gemacht habe.....

Danke in Voraus für Hilfestellung.

 

Test_Regel.PNG

Link to comment
Share on other sites


Start Block sieht genauso so aus wie oben abgebildet mit Zeilennummer von 1 bis 42(hier noch mal)

1.'----------------------------------------------------------------
2.' UserStatus
3.'
4.' Returns the current status of the given user.
5.'
6.' Parameter
7.'    sNumber        user name or extension
8.'
9.' Return
10.'     integer       0 - State Unavailable (no status signalling configured!)
11.'                   1 - Logged Off
12.'                   2 - Logged On (no speaking)
13.'                   3 - Speaking External
14.'                   4 - Alerting
15.'                   5 - Speaking Internal
16.'                   6 - Away (from SwyxWare 2011 on)
17.'                   7 - Do not Disturb (from SwyxWare 2011 on)
18.'----------------------------------------------------------------
19.Function UserStatus(ByVal sNumber)
20.
21.    PBXScript.OutputTrace("-------------> UserStatus ( sNumber = " & sNumber & " )")
22.
23.    Dim nReturn
24.    nReturn = 0
25.
26.    Dim Users
27.    Set Users = g_PBXConfig.GetUserByAddress(sNumber)
28.
29.    Dim User
30.    For Each User In Users
31.
32.        PBXScript.OutputTrace("Found user " & User.Name & " with current state " & User.State)
33.        nReturn = User.State
34.
35.    Next
36.
37.    UserStatus = nReturn
38.
39.    PBXScript.OutputTrace("nReturn = " & nReturn)
40.    PBXScript.OutputTrace("<------------- UserStatus")
41.
42.End Function

 

 

Sobald ich diese Regel aktiviere dann bin ich mit der Durchwahl 12 gar nicht mehr zu erreichen unabhängig ob NetPhone Cleint angemeldet wäre oder nicht.

VIELEN DANK für Ihre Mühe.

Link to comment
Share on other sites


Hallo Tom,

vorab vielen Dank für Deine Hilfestellung(solche User braucht diese Welt).

Ich habe es direkt getestet egal welchen Zustand meine Nebenstelle 12 gerade hat es klingelt aktuell trotzdem am Endgerät.

Mein Export habe ich drangehängt. Bin jetzt wirklich am ende.....

Danke vielmals!

Expot angepasst.rse

Link to comment
Share on other sites


Der gesamte Ansatz sieht irgendwie merkwürdig aus:

 

Capture.PNG

 

- wenn die 12 angemeldet und frei ist wird der Ruf beendet! (der Ausgang "Regel ausgeführt" führt zu diesem Ergebnis)

- in allen anderen Fällen klingelt die 635

 

Das macht die Analyse etwas schwierig. Wenn Du sagst, dass in jedem Fall die 635 erreicht wird, heisst dass, dass Du den Ausgang 2 nicht erreichst, wenn die 12 angelmedet und frei ist.

 

Vermutlich kommst du in dem Fall (und ALLEN anderen Fällen) nicht aus den Ausgängen 1-7 heraus, sondern aus Ausgang 0.

 

Dies bedeutet, dass der Status des Benutzer 12 von dem aktuellen Skript Benutzer nicht abgefragt werden kann, d.h. es ist keine Status Signalisierungs Beziehung zwischen dem Sktipt Benutzer und Bentzer 12 konfiguriert.

 

Auszug aus dem oben verlinkten Topic:

 

Quote

Make sure to have mutual status signalling configured between the call routing script user and the user you request the status from

 

 

Sobald das richtig konfiguriert ist (entweder auf Benutzer oder Gruppen Ebene) sollte die Statusabfrage funktionieren.

 

Allerdings musst Du Dir dann noch einmal gründlich Gedanken machen, ob Du wirklich auflegen willst, wenn der Benzuer 12 frei ist.

 

 

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.