Habe mir jetzt einen Asterisk 1.4.6 mit freepbx 2.3 auf Ubuntu installiert. Klappt eigentlich ganz wunderbar. Ich habe jetzt nur ein kleines Problem (hat unter Asterisk 1.2.X hervorragend funktioniert).
Hier ein Ausschnitt aus meiner extensions.conf
In dieser Form funktioniert alles bestens; möchte ich aber Zeilen 7 und 8 über einen Makro (Zeile 6) aufrufen, bricht der Wählvorgang genau beim Aufruf des Makros stehen. Der Makro befindet sich in extensions_custom.conf und das ist wiederum in der extensions.conf inkludiert. Ich habe schon feststellen müssen, dass DB-Aufrufe in 1.4 anders gemacht werden als in 1.2 damit sie funktionieren. Gibt es etwas, was sich bei den Makros geändert hat, oder was muss ich sonst noch ändern, damit es wieder über den Makro funktioniert?
Hier ein Ausschnitt aus meiner extensions.conf
Code:
exten => s,n,Set(AMPUSERCID=${IF($["${DB_EXISTS(AMPUSER/${AMPUSER}/cidnum)}" = "1"]?${DB_RESULT}:${AMPUSER})})
exten => s,n,Set(CALLERID(all)=${AMPUSERCIDNAME} <${AMPUSERCID}>)
exten => s,n,Set(REALCALLERIDNUM=${DB(DEVICE/${REALCALLERIDNUM}/user)})
exten => s,n(report),Noop(TTL: ${TTL} ARG1: ${ARG1})
exten => s,n,GotoIf($[ "${ARG1}" = "SKIPTTL" ]?continue)
;exten => s,n,Macro(notify)
exten => s,n,Set(IP=${DB(clientip/${CDR(dst)})})
exten => s,n,Notify(${CALLERID(number)}|${CALLERID(name)}|${DB(AMPUSER/${CDR(dst)}/cidname)}/${IP})
exten => s,n(report2),Set(__TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])})
exten => s,n,GotoIf($[ ${TTL} > 0 ]?continue)
exten => s,n,Wait(${RINGTIMER}) ; wait for a while, to give it a chance to be picked up by voicemail
exten => s,n,Answer()
exten => s,n,Wait(2)
exten => s,n,Playback(im-sorry&an-error-has-occured&with&call-forwarding)