Hallo zusammen,
kurz vor dem sonnigen Wochenende, was ich vermutlich durchgehend am Grill verbringen werde anstatt am Computer, noch einen Post zum Thema DoorPi EVents. Welche Ereignisse werden vom DoorPi denn genau unterstützt und welche verwendet man am besten für die weiter unten beschriebenen Aufgaben?
Aber von vorne. Im Admin Interface bei mir gibt es ja die Liste aller Events Unter anderem steht dort bei mir: "OnKeyUp_onboardpins.133 -> MailtoAction with args () and kwargs {'smtp_text': 'OnKeyPressed', 'smtp_subject':'DoorPi', 'smtp_snapshot': 'True', 'smtp_to': '********'}"
In dieser Liste sind also alle von mir verwendeten Events, die ich mir in der DoorPi.ini konfiguriert habe.
Im Web habe ich diese Aufstellung von linphone Events gefunden, wo auch andere Ereigbnisse auftauchen. Lassen sich diese Events auch im DoorPi verwenden?
OnSipPhoneCreate | Das SIP-Phone wurde erstellt und kann gestartet werden. |
OnSipPhoneStart | Das SIP-Phone wurde gestartet und ist jetzt einsatzbereit. |
OnSipPhoneDestroy | Das SIP-Phone soll beendet werden. |
OnSipPhoneRecorderCreate | Es wurde eine Recorder erstellt wurde und bereit ist Anrufe aufzuzeichnen. |
OnSipPhoneRecorderDestroy | Es wurde ein Recorder gestoppt und es sind keine weiteren Aufnamen . |
BeforeSipPhoneMakeCall | Kurz bevor ein Gespräch von DoorPi aus gestartet wird. |
OnSipPhoneMakeCall | Es wird ein Gespräch von DoorPi aus gestartet. |
OnSipPhoneMakeCallFailed | Es ist ein Fehler aufgetreten, als ein Gespräch von DoorPi aus gestartet werden sollte. |
AfterSipPhoneMakeCall | Das Gespräch wurde hergestellt und es klingelt an der Gegenstelle |
OnSipPhoneCallTimeoutNoResponse | Das Gespräch wurde beendet, da die Gegenstelle nicht abgenommen hat (Parameter call_timeout) |
OnSipPhoneCallTimeoutMaxCalltime | Das Gespräch wurde beendet, da das Gespräch länger als erlaubt lief (Parameter max_call_time) |
OnPlayerCreated | Es wurde ein Player erstellt und es kann beim nächsten Anruf eine Sounddatei als Wartemusik abgespielt werden (Parameter dialtone) |
OnCallMediaStateChange | Die Nutzung der Ein- un Ausgabegeräte (Audio und Video) hat sich geändert. |
OnMediaRequired | Es existiert ein Call und es wird das Media-Gerät benötigt. Kann z.B. genutzt werden um Verstärker zu aktivieren. |
OnMediaNotRequired | Es existiert kein Call (mehr) und es wird das Media-Gerät nicht (mehr) benötigt. Kann z.B. genutzt werden um Verstärker zu deaktivieren. |
OnCallStateChange | Der Status eines Anrufs hat sich verändert |
OnCallStateConnect | Der Stauts eines Gespräches ist jetzt wieder auf verbunden (Connected, Resuming oder Updating) |
AfterCallStateConnect | Das Gespräch wurde aufgebaut, die Media-Verbindung besteht |
OnCallStateDisconnect | Das Gespräch wurde beendet |
AfterCallStateDisconnect | [nicht mehr belegt] |
OnCallStateDismissed | Es sollte angerufen werden, jedoch sit die Gegenstelle besetzt. |
OnCallStateReject | Das Gespräch wurde von der Gegenstelle abgelehnt. |
OnCallStart | Initialisierung der Call-Back Funktionen |
BeforeCallIncoming | Wenn ein Gespräch ankommt, und noch nicht weiter bearbeitet wurde |
OnCallReconnect | Wenn bereits ein Gespräch exisitert und ein Gespräch zur gleichen Nummer erneut aufgebaut wird. |
AfterCallReconnect | Nachdem bereits ein Gespräch exisitert hat und ein Gespräch zur gleichen Nummer erneut aufgebaut wurde. |
OnCallBusy | Wenn DoorPi gerade beschäftigt ist und kein weitere Gespräch annehmen kann. |
AfterCallBusy | Nachdem DoorPi ein ankommendes Gespräch abgelehnt hat, da bereits ein anderes Gespräch geführt wird. |
OnCallIncoming | Bevor ein ankommendes Gespräch angenommen wird (ist eine Admin-Nummer) |
AfterCallIncoming | Nachdem ein ankommendes Gespräch angenommen wurde (ist eine Admin-Nummer) |
OnCallReject | Bevor ein ankommendes Gespräch abgelehnt wird (keine Admin-Nummer) |
AfterCallReject | Nachdem ein ankommendes Gespräch abgelehnt wurde (keine Admin-Nummer) |
OnPlayerStarted | Die Wiedergabe vom DialTone wurde gestartet |
OnPlayerStopped | Die Wiedergabe vom DialTone wurde gestoppt |
OnRecorderStarted | Die Aufnahme des Gespräches wurde gestartet |
OnRecorderStopped | Die Aufnahme des Gespräches wurde gestoppt |
OnRecorderCreated | Es wurde eine Recorder erstellt wurde und bereit ist Anrufe aufzuzeichnen.') |
Ich frage das aus folgendem Hintergrund. Aktuell würde ich gerne einen sauberen Ablauf verschiedener Aktionen definieren.
Beispiel:
A: Es klingelt
1. mjpg-streamer starten
2. Verstärker einschalten
3. interner Gruppenruf
4. Push Nachricht verschicken
B: Gespräch wurde beendet:
1. mjpg-streamer stoppen
2. Verstärker ausschalten
C: Es klingelt und keiner geht ran nach "T"
1. Audiodatei abspielen oder Handy anrufen
D: Ich lehne das Klingeln ab
1. Audiodatei abspielen
Zu diesen Schritten suche ich aktuell die richtigen Events.
das könnten neben OnKeyPressed auch die Events "OnCallIncoming", "BeforeCallIncoming " oder "onCallRejected" aus der Liste sein
Bei Schritt B wäre das "OnCallStateDisconnect "
Wie macht ihr denn das?
grüße
Marcus