[STARFACE 7.x] Ersatz für Call Listener?

  • Hallo Miteinander


    Ich bin die Module für die 7.x am Upgraden, bin jedoch bei einem Modul auf ein grösseres Problem gestossen.


    Ich habe ein Modul, welches Anrufe aktiv in ein zweites System abbildet.
    Das Zweitsystem benötigt diese Informationen Live, weshalb ich div. Listener verwendet habe.


    In der 6.x gab es dafür:


    Call.CallChangesUuidEvent
    Call.StateChangedEvent
    Call.ParticipantInfoChangedEvent
    Call.CallTypeChangedEvent


    Mit der 7.x sind diese Verschwunden, und ich konnte bis jetzt keinen Weg finden in der 7.x eigene Listener für die Calls zu registrieren.


    Ich habe es mit dem "NewCallStateEvent" Event versucht.


    Code
    @EventSubscriber(eventServiceName = "CallProcessingEventService")
    	  public void onNewCallState(Event.NewCallStateEvent Event) 
    	{
    
    
    		log.debug(Event);
    	}


    Diesen habe ich via: context.getEventService().subscribe(Listener); registriert.


    Aber ich erhalte keine Events.
    Ich habe den Eventservice vom der 6.x übernommen. Es kann gut sein, dass sich dieser geändert hat.
    Wenn es so währe, weiss ich aber aktuell nicht, wo ich suchen müsste...


    Ich würde mich freuen, wenn mir hier jemand helfen könnte.


    MfG


    Fabian

  • Hallo Fabian,


    der Event Bus wurde von uns nicht verändert.
    Versuch vlt dich am externen Eventbus zu registrieren für das NewCallStateEvent ( CallBusinessObjectEvents feuert das Event ab ).
    In diesem sind Uci Calls vorhanden.


    Ich hoffe das hilft dir weiter :).


    Liebe Grüße
    Dirk

    Dirk Wendland

    Development


    STARFACE GmbH | Adlerstraße 61 | 76137 Karlsruhe | www.starface.com

  • Hallo Dirk


    Ja, der Eventbus funktioniert noch gleich, jedoch gibt's die Events selbst nicht mehr.
    Diese Event existierten auf der 6.7.3 im CallProcessingEventService noch:


    Call.StateChangedEvent
    Call.ParticipantInfoChangedEvent
    Call.CallChangesUuidEvent
    Call.CallTypeChangedEvent


    Danke für den Hinweis mit dem BusinessObject, ich werde mal Probieren meinen Listener auf dem CallBusinessObjectEvents zu registrieren, um zu sehen, ob ich dann Events empfange.


    MfG


    Fabian

  • Als Feedback für andere, die eventuell mit den Listener Arbeiten.


    Ich verwende nun den Folgenden Listener:


    Zum Registrieren:

    Code
    OnUciCallEvent Listener = new OnUciCallEvent(context.getLog());
    		
    		StarfaceEventService SES = context.provider().fetch(StarfaceEventService.class);
    		SES.subscribe(Listener);



    Dieses Liefert ein Event zurück welches u.a. folgende Daten enthält:


    QuellAccount
    ZielAccount
    GruppenID
    CallerName
    CallerNUmber
    Calledname
    CalledNumber
    CallState (CCBS, CONFERENCE_ACTIVE,CONFERENCE_CONSULT,CONFERENCE_INACTIVE,CONNECTED,CONSULT,HANGUP,INCOMING,LOGIN_LOGOUT,MUSICONHOLD_TEST,OUTGOING,PARKED,RINGBACK,RINGING,VOICEMAIL_LINKED,VOICEMAIL_MAIN)
    IsInternalCall


    MfG


    Fabian

  • Noch ein Nachtrag hierzu.


    Ich habe ein Problem mit beiden Events.


    Weder beim CallContainer.UciCallEvent, noch beim NewCalLStateEvent wird mir beim CONNECTED mitgeteilt, wer mit wem genau am Telefonieren ist.
    Ausserdem werden diese Events nicht einmal pro Call, sondern pro CallLeg gefeuert.
    Bedeutet, dass wenn ich eine Gruppe mit 3 Personen habe, erhalte ich für den gleichen Anruf 3 Events.
    Wenn das der neue Weg ist kann ich damit Leben.


    Aber ich müsste immer noch wissen, wie ich an die Anrufinformationen komme, wenn ein Anruf verbunden ist.
    Ich habe jetzt knapp 2 Wochen nach einer Lösung gesucht, und nichts gefunden.


    Der UCICall enthält immer eine AccountID, aber das ist immer die AccountID, des entsprechend Users.
    Jedoch bekommen auch alle ein UCIEvent "Connected", wenn einer der Anruf abgenommen hat.


    Der Call vom NewCallEvent hat eine AccountID, die ist aber immer leer.


    Ich hoffe ihr könnt mir da noch irgendwelche Informationen liefern.
    Ich wüsste nicht, bei welchem Businessobject ich diese infos jetzt bekommen kann.


    MFG


    Fabian


    MfG


    Fabian

  • Hallo Fabian,


    der Task ist bei uns durch die ENtwicklung. ABER er hat Auswirkungen auf alle Calls und Events aller Teilnehmer potenziell. Wir werden die nächste große QA nutzen müssen, da es in einem Service-Release nur unvollständig getestet ist.
    Es tut mir leid, dass wir nicht kurzfristig helfen können. Aber unser nächster Release kommt geplant in den nächsten Wochen in die QA .

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!