Durchwahlschalter zu einer bestimmten Zeit aktivieren

Hallo,

gibt es die Möglichkeit Zeitgesteuert einen Durchwahlschalter zu aktivieren (z.B. per Skript?).

Der Kunde möchte das um spätestens 17:30 automatisch die Nachtschaltung angeht aber auch die Möglichkeit haben diese schon vorher manuell zu aktivieren. Morgens soll sie immer manuell deaktiviert werden.

Das kannst Du über die REST-Schnittstelle regeln:
Beispiel mit CURL: (620 ist die Nummer des DWS, cloudstack dein Cloudstack und meinepascom Deine Anlage))
curl -X POST “https://cloudstack/meinepascom/services/condition/switch/620” -H “accept: /” -H “Content-Type: application/json” -d "{“039swi_state”:false}"

Den zu übergebenden Inhalt der JSON kriegst Du mit:
curl -X GET “https://cloudstack/meinepascom/services/condition/switch/620” -H "accept: /"

Das Ganze geht natürlich auch über Invoke-Webrequest der Powershell.

(Mir scheint, hier hat eine Autokorrektur zugeschlagen. Die genaue Syntax holst du dir am besten über die interaktive REST-Doku in deiner pascom.)

Das geht auch ganz ohne Skript.
Du machst eine Zeitsteuerung für den Automatismus und zusätzlich einen Durchwahlschalter für die manuelle Umstellung bei Bedarf, um das früher zu aktivieren.

Falls Du den AB mal nach 17:30 ausschalten möchtest, könnte man hier einen weiteren Durchwahlschalter konfigurieren.

Hi noses,

ich hab ein ähnliches Problem, nur soll bei mir, sobald die Aktionsbedingung Zeitschema “Tagesbetrieb negativ” aktiv ist, den Durchwahlschalter deaktivieren, kann ich das auch in der Richtung lösen?

Gruß Anton

Den Anwendungsfall müsstest Du bitte noch einmal etwas genauer beschreiben. Was genau soll wann passieren? Und welche Ausnahmen davon gibt es ggf.?

Wenn Personalmangel oder verfrüht Feierabend ist, wird ein Durchwahlschalter am Telefon Namens “Feierabend” aktiviert. Dann kommt eine Sonderansage, dass heute niemand mehr erreichbar ist.
Dieser Durchwahlschalter soll sich aber mit Einsetzen des echten Feierabends wieder automatisch deaktivieren, sonst bleibt die Ansage bis zum nächsten Deaktivieren per Hand aktiv. Ausnahmen: keine.

anrufverteiler nach Feiertage, Urlaubstage, zeitsteuerung und duwa Schalter anlegen.
Wird ja von oben nach unten abgearbeitet.
Duwa Schalter muss halt in der Früh wieder deaktiviert werden…

Nuja, genau das hab ich ja bis jetzt. Nur soll der DuWa-Schalter eben automatisch zurückgesetzt werden.
Gerne auch per Skript, aber da ich das noch gar nicht gemacht habe, weiß ich auch noch nicht wo ich genau ansetzen soll. (Programmiererfahrung vorhanden, aber nicht bei asterisk).
Evtl. wäre ein Inlineskript schon ausreichend, gibts da bei asterisk möglichkeiten? (z.B. AMI Actions?)

1 Like

Ungetestete Idee:

  1. Wenn die Bedigung “echter Feierabend” erfüllt ist, ein (Inline-)Skript, welches per REST-API den Durchwahlschalter deaktiviert. Wird dann halt jedes mal ausgeführt, wenn innerhalb dieser Zeit ein Anruf erfolgt. Abhängig vom Anrufaufkommen könnte jedoch ggf. die REST-API an ihre Grenzen kommen?

alternativ

  1. über ein Powershell-Skript (welches über die Aufgabenplanung 1x täglich aufgerufen wird), zur entsprechenden Zeit per REST-API den Durchwahlschalter deaktivieren.

Hinweise dazu in der Doku: pascom API Documentation

Leider kann man derzeit noch keine Durchwahlschalter über die Client-Profile setzen, sonst wäre auch das noch eine interessanten Option. Vllt. kommt das ja mal irgendwann.

2 Likes

dafür sollten wir mal eine umfrage starten… das fänge ich extrem cool… da wir mittels Durchwahlschalter z.b. die gefühlten 100 AB Ansagen der Arztpraxen schalten

1 Like

Blockzitat[quote=“noses, post:9, topic:8726, full:true”]
Ungetestete Idee:

  1. Wenn die Bedigung “echter Feierabend” erfüllt ist, ein (Inline-)Skript, welches per REST-API den Durchwahlschalter deaktiviert. Wird dann halt jedes mal ausgeführt, wenn innerhalb dieser Zeit ein Anruf erfolgt. Abhängig vom Anrufaufkommen könnte jedoch ggf. die REST-API an ihre Grenzen kommen?

alternativ
[/quote]

Den Ansatz finde ich Mega, leider fehlt mir das Wissen wie ich über ein (Inline-)Skript genau den Befehl absetze. Hatte es mit
curl -X POST “pascom Status” -H “accept: /” -H “Content-Type: application/json” -d “{"039swi_state":false,"byuid":101}”

als Inline-Skript getestet, Leider ist die Reaktion gleich null. Es passiert gar nichts. (yourpbx ist angepasst)
Triggern würde ich den Befehl mit einem Zeitbasierten Inline-Skript, da Feierabend eigentlich immer gleich ist.

Nun funktionierts :slight_smile: Authorisierung fehlte noch. Die dazu benötigten Daten findet man im Webinterface → Informationen → Entwickler

Hier noch der Codeschnipsel für alle:


curl --header "Authorization: Basic hier-die-Basic-Auth-info-einsetzen=" -X POST “https://pascom.cloud/deineInstanz/services/condition/switch/504" -H “accept: /" -H “Content-Type: application/json" -d "{\"039swi_state\": false, \"byuid\" : 101"}"

Die 504 hinter dem Link muss gegen die Durchwahl des zu schaltenden Durchwahlschalters angepasst werden.

Achtung, die Anführungszeichen werden vom Forum aus möglicherweise falsch wiedergegeben und können nicht in der Konsole genutzt werden. Klingt komisch, ist aber so.

1 Like

So, hier gabs eine Änderung in der REST-API, dadurch funktioniert der oben gezeigte Aufruf nicht mehr. Statt der BYuid muss nun die useid angegeben werden. Die UserID findet man in der Adresszeile (im Browser) wenn man in der PBX den User bearbeitet.

curl -v --header "Authorization: Basic <hierdieAuth>" -X POST "https://pascom.cloud/deineInstanz/services/condition/switch/504" -H "accept: /" -H "Content-Type: application/json" -d "{\"039swi_state\": false, \"003use_id\" : 006"}"
1 Like

Noch ne Frage: wie führst du das Script wo aus ;)?
Würd mir das gerne mal anschauen und testen. Danke

Hi, das Script läuft als geplanter Task von einem Server, bzw. von einem Rechner der 24/7läuft, aus. Test ist ganz einfach, erstell Dir in Deiner Cloud-Appliance einen Testschalter, und switche diesen von der Eingabeaufforderung aus aus.
Funktioniert das ganze, siehst Du an einem aktivierten bzw. deaktivierten Schalter in der Cloud.
Gruß

1 Like