Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / ChanIsAvail дает 0

ChanIsAvail дает 0

ChanIsAvail всегда дает 0
Avatara of leonid_mak
Откуда: KAZAN
Сообщений: 100

ChanIsAvail дает 0

Добрый вечер,
хочу получить состояние таким образом
exten => _X.,n,ChanIsAvail(SIP/115)

в ответ получаю AVAILSTATUS =0 всегда для любого пира в сети

в чем может быть причина?
2009-12-03 00:18

Сообщений: 6521

Re: ChanIsAvail дает 0

Сначала смотрим синтаксис
Synopsis]
Check channel availability

[Description]
ChanIsAvail(Technology/resource[&Technology2/resource2...][,options][,context]):
This application will check to see if any of the specified channels are
available.
Options:
s - Consider the channel unavailable if the channel is in use at all.
t - Simply checks if specified channels exist in the channel list
(implies option s).
n - checks for the logical not of a context (implies there is a context).
Does nothing otherwise.
This application sets the following channel variable upon completion:
AVAILCHAN - the name of the available channel, if one exists
AVAILORIGCHAN - the canonical channel name that was used to create the channel
AVAILSTATUS - the status code for the available channel
Потом понимаем, что сравнивать надо как минимум два канала.
Команда ChanIsAvail возвращает в ${AVAILCHAN} первый доступный канал
- примерчики -
; Проверяем занятость линии 2. Если она занята, используем линию 1.
exten => s,1,ChanIsAvail(Zap/2&Zap/1)

; ${AVAILCHAN} может теперь содержать значение: Zap/2-1
; Нам необходимо отрезать идентификатор сессии.
exten => s,2,Cut(theChannel=AVAILCHAN,,1)

; переменная ${theChannel} должна теперь иметь значение: Zap/2
; Набираем через этот канал номер '12345678'
exten => s,3,Dial(${theChannel}/12345678)
exten => s,4,Hangup

; Если все линии заняты, проигрываем сообщение
exten => s,102,Playback(all-circuits-busy-now)
exten => s,103,Hangup

Разъяснения - http://asterisk.ru/knowledgebase/Asterisk+cmd+ChanIsAvail

Прверять статус одинокого номера SIP/115 не нужно с помощью ChanIsAvail, это ж не транк. Для него лучше включить qualify=yes
2009-12-03 01:30

Avatara of leonid_mak
Откуда: KAZAN
Сообщений: 100

Re: ChanIsAvail дает 0

Спасибо за пост! я просто немного ступил...
2009-12-03 02:58

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru