[asterisk-users] branching in extensions.conf?

John Kiniston johnkiniston at gmail.com
Wed Feb 20 13:38:45 CST 2019


I don't see any other messages in this thread other than your initial one
and my response, perhaps the listserv hasn't relayed it to me yet.

I switch between ExecIf/GotoIf/GosubIf and the IF function as needed in my
dialplan design, if It's just a one liner I'll usually use either the IF
function or the ExecIf, When I need to handle multiple different lines I
either Gosub to a different context to handle things and return or use a
priority label in the same context.

I've not run into any problem with colons in my IF statements but I don't
think that's something I've had to work with/around before.

Shoot, I must have erased the colon when I was trying to fix the
parentheses.

It seems like these days everyone wants to use ARI, You could always send
the call into Stasis and handle your logic in a language of your choice but
that's a whole different discussion.

On Wed, Feb 20, 2019 at 12:14 PM Brian J. Murrell <brian at interlinx.bc.ca>
wrote:

> On Wed, 2019-02-20 at 11:46 -0700, John Kiniston wrote:
> > Use the IF function to evaluate and change the dial command directly.
>
> Thanks for taking the time, but that doesn't actually answer the
> question I asked.  It in fact answers the caveat I specifically
> mentioned:
>
> > Granted the particular above example could probably be better
> > written to simply modify $ARG2 based on ${SIP} rather than having two
> > Dial() branches
>
> But I also stated that I was just using it as example of a need to
> branch and how cumbersome using Goto[If] makes it.
>
> Again, appreciate that you took the time, but really looking for an
> answer to the "better way to branch" question.
>
> > My braces and parens may be off in this example sorry if it doesn't
> > work
> > out of the box.
> > exten => s,n,Dial(${IF($["${SIP}" = "PJSIP"]?
> > ${PJSIP_DIAL_CONTACTS(${STRREPLACE(ARG2,"PJSIP/","")})}{ARG2})},20,Tt
> > Ww)
>
> Hah.  This won't work either, for the reason I asked about in my
> followup question about where the "true" value of an ${IF ...}has a
> colon in it and is taken to be the end of the true value and the start
> of the false value.
>
> And your ${IF ...} is missing the colon between the true and false
> values but I still understood what you were getting at.
>
> Cheers,
> b.
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> Check out the new Asterisk community forum at:
> https://community.asterisk.org/
>
> New to Asterisk? Start here:
>       https://wiki.asterisk.org/wiki/display/AST/Getting+Started
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users



-- 
A human being should be able to change a diaper, plan an invasion, butcher
a hog, conn a ship, design a building, write a sonnet, balance accounts,
build a wall, set a bone, comfort the dying, take orders, give orders,
cooperate, act alone, solve equations, analyze a new problem, pitch manure,
program a computer, cook a tasty meal, fight efficiently, die gallantly.
Specialization is for insects.
---Heinlein
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20190220/245326d2/attachment.html>


More information about the asterisk-users mailing list