[Gelöst] Per Modul die Sprache für Channel Festlegen (Asterisk agi_language) keine Wirkung?

  • Hallo Miteinander


    Ich hoffe hier auf etwas hilfe von Seiten STARFACE


    Ich versuche gerade ein Proof of Concept für ein Modul zu bauen, habe aber das Problem, dass das Ändern der Sprache für einen Channel anscheinend keine Wirkung hat.


    Beim Asterisk Playback wird jeweils die Sprache des Users berücksichtig.Z.b. wenn die Aufzeichnung gestartet wird, spielt die STARFACE ein monitor_announce ab.

    Welches Monitor_announce genommen wird, hängt von der Sprache des Channels ab.


    Er nimmt den entsprechenden sound von /var/lib/asterisk/sounds/[Lang]/[Name].

    Wenn also der Channel auf "de" steht und ich die Datei monitor_annoucne abspiele, so wird /var/lib/asterisk/sounds/de/monitor_announce abgespielt.


    Bei internen Anrufen funktioniert dies auch Ordnunsgemäss. wenn Benutzer A dessen Systemsprache auf Deutsch eingestellt hat, einen STARFACE Benutzer B anruft, welcher English als Sprache drinn hat, und das Gespräch mit *1 aufzeichnet, so bekommt Benutzer A, die Deutsche ansage, und Benutzer B die Englische ansage, dass der Anruf aufgezeichnet wird.


    In dem Fall war der Channel von Benutzer A "de" und Channel von Benutzer B "en"


    Wenn aber ein Kunde nun Benutzer B anruft, und Benutzer B startet die Aufzeichnung, so erhält Benutzer B die Ansage in Englisch, und der Kunde diese in Deutsch.

    Externe Teilnehmer erhalten die Ansage immer in der Systemstandardsprache der STARFACE.


    Der Kunde hat Deutsche, Englische und Französisch sprechende STARFACE Benutzer auf einer Anlage, und wenn ein Franzose beim Franzosen Anruft, so soll auch ein Französischer Text kommen, und nicht ein Deutscher Text.


    Ich habe nun im ModuleBusinessObject eine Funktion "SetChannelLanguage" entdeckt, diese scheint aber keine Wirkung zu haben.


    Modulbaustein:

    Ich habe versucht Mithilfe des dieser Funktion den Channel von Hand auf "en" umzustellen, jedoch bleibt der Ansagetext trotzdem auf Deutsch/Systemsprache.

    Im Asterisk Log sieht man nichts dazu, und es wirft auch keine Exception


    Download Modul: https://module.si-solutions.ch…SetChannelLanguage_v2.sfm


    Log: [2023-10-10T10:41:47,640] [DEBUG] [] [] [SetChannelLanguage] Setting: SIP/[Zensiert]_obproxy0-0000000a to: fr


    1.png


    Danach habe ich es direkt mit Asterisk Befehlen versucht, jedoch bleibt auch dann der Ansagetext Deutsch.

    Per Execute as "Asterisk Application Command" SET(CHANNEL(language)=fr)


    Z.b. hier habe ichs mit dem Asterisk Befehl versucht den Channel auf Französisch umzustellen.



    Hier ein Beispiel, wenn zwei interne Teilnehmer Telefonieren.


    Teilnehmer A ist auf Deutsch eingestellt

    Teilnehmer B ist auf Englisch eingestellt

    Per Asterisk soll es auf Französisch eingestellt werden.



    Irgendwoher muss man doch die Sprache für einen Channel definieren können, oder ist das ein Bug?


    Ich hoffe jemand kann mir hier Behilflich sein, ansonsten muss ich wohl auf Asterisk Ebene die features.conf überkehren und eine Custom Function für die Aufzeichnung bauen, um das Playback zu fixen.


    MfG


    Fabian

  • Ich habe dazu noch etwas Weitergeforscht, und folgendes Herausgefunden.


    • Wenn bei internen Teilnehmern die Sprache auf "Systemvoreinstellungen" eingestellt ist, lässt sich deren Sprache via dem AGI Befehl setzen, und es wird die Sprache entsprechend abgespielt.
    • Durch *1 wird ein AMI UserEvent ausgelöst, welches wiederum das Monitoringevent auslöst.
    • In diesem Event werden neue Channels erzeugt, welche bei externen Teilnehmern vermutlich einfach die Systemvoreinstellung für die Sprache verwenden.


    Eine lösung ist noch nicht in Sicht.


    Mfg


    Fabian

    • Official Post

    Hallo Fabian,


    ich habe unseren Entwicklungsleiter gebeten, dass sich das ein Kollegen aus dem Development anschaut. Im Moment sind die Kollegen aber sehr stark eingebunden in Fertigstellung des nächsten Releases.


    Hat das noch ein wenig Zeit oder ist das sehr dringend für dich?

    Viele Grüße


    Daniel Mauritz

    Head of Customer Care


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

  • FabianZ

    Changed the title of the thread from “Per Modul die Sprache für Channel Festlegen (Asterisk agi_language) keine Wirkung?” to “[Gelöst] Per Modul die Sprache für Channel Festlegen (Asterisk agi_language) keine Wirkung?”.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!