[Frage] Macros schließen

FridolinBayern

Neuer User
Mitglied seit
19 Okt 2011
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo..
ich habe mein Makro mit einem anderen Makro gekoppelt.
ist es nun möglich beide Makros zu schließen so dass wieder auf den ursprünglichen context zugreifen kann.

[macro-jabberphone1]
exten => s,1,GotoIf($[${CALLERID(num)} > 10000]?ok:nein)
exten => s,n(ok),Set(CallTime=${STRFTIME("%M"):11:8})
exten => s,n,Set(DB(gciTK/call/callerid/CallTime)=${CALLERID(num)})
exten => s,n,set(DB(gciTK/${ARG1})=${ARG1})
exten => s,n,set(DB(gciTK/${ARG1})=${CALLERID(num)})
exten => s,n,set(DB(gciTK/${ARG1}/caller)=${CALLERID(num)})
exten => s,n,set(DB(gciTK/exten)=${ARG1})
exten => s,n,System(echo ${STRFTIME("%M"):11:8})
exten => s,n,System(/etc/asterisk/gci_xmpp/gci/gci_jabber_caller ${DB(gciTK/${ARG1}/caller)} ${ARG1})
exten => s,n,Dial(SIP/${ARG1},${timout},M(jabberphone^${DB(gciTK/${ARG1}/caller)}^${ARG1})tw)
exten => s,n,MacroExit()
exten => s,n,Answer()
exten => s,n(nein),GotoIf($[${DB(gciTK/${CALLERID(num)})}]?ja:hangup)
exten => s,n(ja),System(/etc/asterisk/gci_xmpp/gci/gci_jabber_colleague ${CALLERID(num)} ${ARG1})
exten => s,n,dbdel(gciTK/${ARG1})
exten => s,n,dbdel(gciTK/${CALLERID(num)})
exten => s,n,Dial(SIP/${ARG1},${timeout},M(jabberphone^${ARG2}^${ARG1})tw)
exten => s,n,MacroExit()
exten => s,n,Hangup()
exten => s,n(hangup),System(/etc/asterisk/gci_xmpp/gci/gci_jabber_colleague ${CALLERID(num)} ${ARG1})
exten => s,n,dbdel(gciTK/${ARG1})
exten => s,n,dbdel(gciTK/${CALLERID(num)})
exten => s,n,Dial(SIP/${ARG1})
exten => s,n,Hangup()

[macro-jabberphone]
exten => s,1,GotoIf($[${ARG2} = ${CHANNEL:4:4}]?ok:nein)
exten => s,n(ok),System(/etc/asterisk/gci_xmpp/gci/gci_jabber_customer ${ARG1} ${ARG2} )
exten => s,n,hangup()
exten => s,n(nein),System(/etc/asterisk/gci_xmpp/gci/gci_jabber_customer ${ARG1} ${CHANNEL:4:4} )
 
R

rentier-s

Guest
http://www.das-asterisk-buch.de/applications-macro.html schrieb:
Falls die Goto()-Anwendung aus dem Makro heraus aufgerufen wird, wird das Makro enden und die Kontrolle an das Ziel von Goto() gehen.
Oder Du verwendest statt Macros besser gleich Gosub.