SIP Header von einem Modul auslesen, nur Wie?

  • Hallo zusammen,


    ich kann ja per SIPAddHeader(X-BLA-BLUBB:WERT) ganz fleißig SIP Header bei einem Call hinzufügen.
    Wie kann ich diesen jetzt per Modul am besten auslesen (z.B. beim Anlagenverbund in der anderen Starface)?


    Ich sehe meinen eigenen Header in der SIP Kommunikation im INVITE - soweit alles Top!
    In Asterisk direkt kann man ja einen Header mit der Funktion SIP_HEADER() auslesen, also habe ich veruschen dieses in ein Modul zu verpflanzen:

    1. einen EXECUTE mit dem Befehl "Set(TEMP=${SIP_HEADER(X-BLA-BLUBB)})"


    Dieser sollte den Header ja in die Channelvariable TEMP schreiben...


    2. GetVariableValue um die Channelvariable in eine Modulariable zu überführen.


    Am Ende wird aber die Asterisk Funktion nicht aufgerufen, sondern beim EXECUTE Befehlt das ganze wie ein String behandelt.
    Das Ergebnis lautet also "${SIP_HEADER(X-BLA-BLUBB)}" und nicht der Wert des Headers.


    Ich habe auch schon andere Varianten probiert z.B. als Asterisk Command "NoOp(${SIP_HEADER(X-BLA-BLUBB)})"
    Im Log steht dann aber auch nur diese Zeichenfolge und kein Wert.


    Andere Asterisk Variablen / Funktionen verhalten sich bei mir genauso wie z.B. CALLERID(name)

    mfg, winnme

  • Zitat aus der Doku:

    Zitat

    Asterisk Application Commands (ex: MeetMe(ConfRoomNum|1dxA)) require an active channel and have no output


    Das wird also leider nix :(

    Viele Grüße,


    Andreas Stein
    IT Fabrik Systemhaus GmbH & Co. KG


    STARFACE Excellence PLUS Partner

  • Seht euch mal die AGI Funktion von Asterisk an.


    Damit könnt ihr mit externen Scripts ausführen, und aktive Channelvariablen mitgeben.


    Z.b., Beim Anruf per Agi einem Script sagen, er soll deine Channelvariable in ein Textfile schreiben. Dieses kannst du dann aus dem Modulsystem einlesen.


    MfG


    Fabian

Jetzt mitmachen!

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