If Function When The True Value Has A Colon In It?

Home » Asterisk Users » If Function When The True Value Has A Colon In It?
Asterisk Users 1 Comment

Following up on my previously asked question if I rewrite the branching example (not that it negates the more general branching question) I was using as such:

exten => s,n,Set(EXT=${IF($[${SIP}=PJSIP]?${PJSIP_DIAL_CONTACTS(${STRREPLACE(ARG2,PJSIP/,)})}:${ARG2})})
exten => s,n,Dial(${EXT},20,TtWw)
exten => s,n,Goto(s-${DIALSTATUS},1)

But that ${IF expression?tval:fval} doesn’t work because tval has a :
in it which the if function is taking as the terminator for the tval.

How can I deal with that? Double quoting the tval doesn’t seem to work as it introduces an unwanted close-double-quote into EXT which Dial()
barfs at.

Cheers, b.

One thought on - If Function When The True Value Has A Colon In It?

  • As workaround you could use ExecIf:

    ExecIF($[${SIP}=PJSIP]?Set(EXT=…..):Set(EXT=…))


    Stefan Tichy ( asterisk3 at pi4tel dot de )