48. GosubIf()

Springt bedingt zu der angegebenen Priorität (mit der Möglichkeit der Rückkehr).

GosubIf(Bedingung?PrioWahr:PrioFalsch)

Springt wie GotoIf() unter einer bestimmten Bedingung im Dialplan, erlaubt es dem Unterprogramm aber, mit Return() zurückzukehren.

Gibt 0 zurück oder -1, wenn das Sprungziel ungültig ist.

exten => telcid,1,Set(CALLERID(all)=Apfelmus <0123456780>)
exten => telcid,n,Return()
exten => faxcid,1,Set(CALLERID(all)=Apfelmus <0123456785>)
exten => faxcid,n,Return()

exten => _0.,1,GosubIf($[${CHANNEL:4:2} = 43]?faxcid,1:telcid,1)
exten => _0.,n,Dial(${TRUNK}/${EXTEN:1},,T)
[Anmerkung]Anmerkung

Interner Hilfetext zu dieser Applikation in Asterisk 1.4: 

  -= Info about application 'GosubIf' =- 

[Synopsis]
Conditionally jump to label, saving return address

[Description]
GosubIf(condition?labeliftrue[:labeliffalse])
  If the condition is true, then jump to labeliftrue.  If false, jumps to
labeliffalse, if specified.  In either case, a jump saves the return point
in the dialplan, to be returned to with a Return.

Differenz zum internen Hilfetext in Asterisk 1.2: 

5c5
< Conditionally jump to label, saving return address
---
> Jump to label, saving return address

Siehe auch. Abschnitt 47, „Gosub(), Abschnitt 49, „Goto(), Abschnitt 50, „GotoIf(), Abschnitt 99, „Return(), Abschnitt 58, „Macro()


$Revision:473 $

Beta-Version!

2.0 Entwickler-Version des Asterisk Buches. Die 1.0 stabile Version ist natürlich noch online. Die 2.0er Version enthält viele Neuerungen, ist aber noch nicht 100% fehlerfrei. Im Zweifelsfall bitte auf die 1.0er Version gehen.

Bitte melden Sie Fehler und Feedback zur neuen 2.0er Version per E-Mail an den Autor.

Asterisk-Tag.org 2008

Auf der Asterisk-Tag.org Webseite finden Sie die Folien und Videos der Vorträge.

Werbung