ChanIsAvail( )

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

 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 .

ChanIsAvail( ) sets the following channel variables :


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


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


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.

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) 

Asterisk. The Future of Telephony
Asterisk: The Future of Telephony: The Future of Telephony
Year: 2001
Pages: 380 © 2008-2017.
If you may any questions please contact us: