O'Reilly logo

Asterisk: The Future of Telephony by Leif Madsen, Jared Smith, Jim Van Meggelen

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

ChanIsAvail() — Finds out if a specified channel is currently available

Synopsis

    ChanIsAvail(technology1/resource1[&technology2/resource2...][,option])

Checks to see if any of the requested channels are available. If none of the requested channels are available, the new priority will be n+101 (where n is the current priority), unless that priority does not exist or an error occurs, in which case ChanIsAvail() will exit and return -1.

If any of the requested channels are available, the next priority will be n+1 and ChanIsAvail() will return 0.

ChanIsAvail() sets the following channel variables:

${AVAILCHAN}

The name of the available channel, including the call session number used to perform the test.

${AVAILORIGCHAN}

The canonical channel name that was used to create the channel—that is, the channel name without any session number.

${AVAILSTATUS}

The status code for the channel.

If the option s (which stands for “state”) is specified, Asterisk will consider the channel unavailable whenever it is in use, even if it can take another call.

Tip

This application does not work correctly on MGCP channels.

    ; check both Zap/1 and Zap/2 to see if they're available
    exten => 123,1,ChanIsAvail(Zap/1&Zap/2) ; if we go to priority 2, then one of the channels is available ; in priority 2, we'll dial our number on the available channel exten => 123,2,NoOp(${AVAILORIGCHAN}) exten => 123,3,Dial(${AVAILORIGCHAN}/5551212) ; if we go to priority 101, then neither Zap/1 nor Zap/2 is available exten => 123,3,Playback(all-circuits-busy-now) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required