[gelöst] Rufumleitung per Tastendruck

Jarris

Neuer User
Mitglied seit
30 Sep 2008
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
ich nochmal ^^

ich würde bei uns gerne in die laufende Asteriskanlage eine Rufumleitung auf andere mitarbeite bei abwesenheit einbauen. diese sollte man möglichst einfach per tasten kombination auf dem telefonaktivieren und deaktivieren
(wenn aktiv sollte es auch auf dem display angezeigt werden)

hat jemand anregungen, verweise oder direckte vorschläge?

zur info:
Asteriskversion ist 1.2 (unter linux)
telefon ist Grandstream GXP 2000, sip-client


Danke schonmal im vorraus

lg. Jarris
 
Zuletzt bearbeitet:
ok, ich bin der anleitung gefolgt und hab ein fatales problem ^^

die umleitungs nummer in die DB zu schreiben klapt super aber die vorgestellte abfrage bei einem eingehenden anruf funktioniert nicht -.-

sieht in etwa so aus :

Code:
exten => _xxxxxxx,1,Set(num = ${EXTEN:-1})
exten => _xxxxxxx,n,Set(rufumlnum = ${DB(rufuml/${num})}) 
exten => _xxxxxxx,n,GotoIF($[ ${rufumlnum} = 0 ]?10:20)

als CLI ausgabe kommt dann:

Code:
-- Executing Set("SIP/xxxx", "num = 4") in new stack
-- Executing Set("SIP/xxxx", "rufumlnum = ") in new stack
-- Executing GotoIf("SIP/xxxx", "0?5:10") in new stack

warum wird der variable "rufumlnum" kein wert aus der DB zugewiesen
(und da ist auf jeden fall ein eintrag für DB(rufuml/4) )

danke schonmal für jegliche anregungen !

lg. Jarris
 
Oh, da bin ich offensichtlich nicht der Einzige, der noch auf 1.2 läuft... Egal. Zur Frage:

bei mit lautet die fragliche Zeile

Code:
exten => _*21*.,n,Set(DB(CFW/${CALLERID(num)}) = ${EXTEN:4})

Das "Set (variablenname = DB(usw.))" ist, glaube ich, erst ab Asterisk 1.4 gefordert. Die Abfrage würde ich sowieso per ausgelagertem Makro machen:

input: die Extension, die ursprüinglich angerufen wurde
output: eine Extension, die das Ende einer Rufumleitung(-skette) ist

Code:
exten => s,1,Set(FINAL_EXT=${ARG1})
exten => s,n,NoOP(${DB_EXISTS(CFW/${FINAL_EXT})})
exten => s,n,Set(i=1)
exten => s,n,While($[${i} < 6])

exten => s,n,GotoIf($[${DB_EXISTS(CFW/${FINAL_EXT})} = 0]?EndOfChain)
exten => s,n,Set(FINAL_EXT=${DB(CFW/${FINAL_EXT})})
exten => s,n,GotoIf($[${FINAL_EXT} = ""]?EndOfChain)
exten => s,n,Set(i=$[${i} + 1])
exten => s,n,EndWhile()
exten => s,n,NoOp("Call forwarding chain is too long (${i})")
exten => s,n(EndOfChain),GotoIf($[${ARG1} = ${FINAL_EXT}]?EndOfCFWMacro)
exten => s,n,... noch anderes Zeugs ...
exten => s,n(EndOfCFWMacro),NoOp("End Of Macro")

Das Makro wird dann kurz vor dem Durchstellen aufgerufen:

Code:
exten => s,n,Macro(CFwdPruefung, ${CALLERID(num)})

und dann das eigentliche "Durchstellen" natürlich mit ${FINAL_EXT}
 
mir geht es wirklich nur um das auslesen der DB

Code:
exten => _xxxxxxx,n,Set(rufumlnum = ${DB(rufuml/${num})})

was stimmt daran nicht ???
 
Ermm. Du hast recht, die entscheidende Zeile zum Auslesen sieht bei mir genauso aus:

Code:
exten => s,n,Set(FINAL_EXT=${DB(CFW/${FINAL_EXT})})

Da muss ich passen.

Auch wenns doof klingt: Klein-/Großschreibung variieren? Länge des Family-Begriffs?
 
evtl die Leerzeichen bei dem =-Zeichen?
Andere Unterschiede kann ich auch nicht feststellen.
 
was sagt * an der CLI bei "database show rufuml" und in der Shell bei "asterisk -rx 'database show' |grep rufuml"?
 
die rufumleitung läuft nun einwandfrei ^^

jedoch wird eine aktive rufumleitung noch nicht auf dem display angezeigt,
generel weiß ich nicht wie ich etwas auf dem telefon anzeigen lasse :(

könnte mir da jemand helfen ?

lg. Jarris
 
Per sipsak eine Message auf Display schicken (geht bei snom aber m.w. nicht beim GXP 2000).
 
es lag wirklich nur an den leerzeichen -.-
übrigens danke !


Per sipsak eine Message auf Display schicken (geht bei snom aber m.w. nicht beim GXP 2000).

dann bringt mir das leider wenig ^^
aber es muss doch auch für die grandsteams irgendwie möglich sein, oder ?

lg. Jarris
 
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.