Asterisk und Variablen

Tagamoga

Neuer User
Mitglied seit
12 Sep 2008
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo allerseits,

leider habe ich eine kleines Problem mit dem Scripting von asterisk.
Folgende Zeilen:
Code:
 exten => s,1,NoOp(${ARG1})
 exten => s,n,NoOp(${CALLERID(name)})
 exten => ${ARG1},hint,SIP/${CALLERID(name)}

Ausgabe:
Code:
    -- Executing [[email protected]:1] NoOp("SIP/T001-089d64f8", "1004") in new stack
    -- Executing [[email protected]:2] NoOp("SIP/T001-089d64f8", "T001") in new stack

Also die beiden Variablen sind correkt gesetzt und gefüllt. Doch wenn ich mir die Hits ansehe sehe ich folgendes:
Code:
   @macro-set-hints     : SIP/
anstatt:
Code:
   [email protected]     : SIP/T001

Wieso? und wie bekomme ich es hin in der LAUFZEIT die hints neu zu setzen?

Danke im vorraus,
Taggi
 

laureen

Mitglied
Mitglied seit
17 Okt 2004
Beiträge
369
Punkte für Reaktionen
0
Punkte
0
du musst unterscheiden zwischen dialplan-variablen (werden im [globals] abschnitt definiert) und channel variablen (die sind nur während des anrufes gültig, also zur laufzeit)

wenn asterisk (oder respektive du) den dialplan reloadest, versucht die asterisk sämtliche variablen zu parsen, die nicht innerhalb der applikations-parameter der einzelnen extensions stehen. zu diesem zeitpunkt gibt es aber noch keine channel-variablen.

ausserdem kannst diese quasi-dynamischen hints oder extensions nur mit einem script generieren, das du mittels "#exec ..." in den dialplan einbindest, z.b.:
Code:
...
[context]
#exec wget -q -O - http://localhost/asterisk/createhints.php
...

wobei das script dann die eintrage so ausgeben muss, wie wenn du sie im dialplan einfügst.

und wie bekomme ich es hin in der LAUFZEIT die hints neu zu setzen?
kann es sein, dass du die sache mit den hints etwas falsch verstehst? warum willst du denn die hints während der laufzeit des anrufes setzen? die sind doch in erster linie für subscriptions da!
wenn du den status eines hints meinst, musst du einen hint mit einem channeltype "DS" (DeviceState) setzen, den kannst du dann mit der dialplan applikation "DevState" umsetzen. kann sein, dass du da eine bristuff-gepatchte asterisk brauchst.

im übrigen rate ich davon ab, denn CALLERID(name) auf den namen des sip peers zu setzen, das ist im produktiv-betrieb nicht wirklich verwendbar, da man ja (wie auch das feld schon sagt) dort den namen sehen soll...

grüße,
laureen
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

3CX

Neueste Beiträge

Statistik des Forums

Themen
239,029
Beiträge
2,121,210
Mitglieder
362,093
Neuestes Mitglied
kupplepa

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.
oder via

IPPF im Überblick

Neueste Beiträge

Website-Sponsoren


Kontaktieren Sie uns bei Interesse