AGI: CallerID setzen: Was ist hier falsch?!

divB

Mitglied
Mitglied seit
14 Jul 2006
Beiträge
324
Punkte für Reaktionen
0
Punkte
0
Hi,

Ich hab vor langer Zeit einmal ein AGI Script in Perl geschrieben das mir Nummern zu Namen übersetzt. Dazu verwende ich folgenden Befehl:

Code:
$name = "Heinz Mustermann";
$AGI->exec('Set', "CALLERID(name)=\"$name\"");

Früher hat das funktioniert aber irgendwann im Laufe des Jahres hat es angefangen zu spinnen und zwar immer dann wenn der Name mehrteilig ist (also z.B. Vorname Nachname). Angenommen der Name ist Heinz Mustermann dann wird die Callerid auf einmal NUR mehr auf Heinz gesetzt und nicht auf Heinz Mustermann! Ich wüsste allerdings nicht, was ich an meiner Config geändert haben könnte...

So verhält sich das Script, wenn ich es manuell aufrufe:

Code:
asterisk:~# /usr/local/agi-bin/cidlookup.agi
agi_callerid: 067634857646

Callerid: 067634857646
So, our CID now is: 067634857646
Starting SQL backend
Yeah, found lookop. Name is: Heinz Mustermann
EXEC Set "CALLERID(name)="Heinz Mustermann""

asterisk:~#

(logischerweise wird nur die EXEC Zeile über STDOUT ausgegeben, der Rest ist Debug über STDERR).

Wenn das Script Asterisk aufruft, macht es aber folgendes draus:

Code:
    -- Executing AGI("CAPI/ISDN1#02/-146", "cidlookup.agi") in new stack
    -- Launched AGI Script /usr/local/agi-bin/cidlookup.agi
Mar 28 16:05:17 WARNING[15448]: channel.c:1638 ast_waitfor_nandfds: Thread 1089264560 Blocking 'CAPI/ISDN1#02/-146', already blocked by thread 0 in procedure
(null)
    -- AGI Script Executing Application: (Set) Options: (CALLERID(name)=Heinz)
    -- AGI Script cidlookup.agi completed, returning 0

Wie man sieht: Auf einmal steht in er Callerid nur mehr Heinz und nicht Heinz Mustermann!!

Ich bin mir relativ sicher dass das Script damals funktioniert hat und ich glaube dran nichts geändert zu haben; umso ratloser bin ich jetzt wo der Fehler liegt...

Kann mir wer helfen?

Besten Dank!
divB
 
Hat wirklich keiner so ein Script am Laufen?

Ich verstehs einfach nicht wo der Fehler liegt.

Ich habs jetzt mit einfachem Anführungszeichen (') gequotet, aber das nimmt er mir nun in den String auf :(
 
Dein Script muss die Variable wie folgt setzen (jedenfalls mit 1.4):
Code:
SET VARIABLE CALLERID(name) Heinz[B][COLOR=Red]\[/COLOR][/B] Mustermann
Gruss,
Sachmet.
 
Juhuu, scheint so zu gehen, danke!

Bleiben nur 3 Fragen für mich:
1.) Wieso hat es früher funktioniert bzw. geht es jetzt nicht mehr?
2.) Wieso steht das nirgends?
3.) Ich hab aber Asterisk 1.2 - und das schon seit langem ;-)

lg,
divB
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

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.