Re: Индикация занятости пользователя при включеном Call Waiting
ded, человек ведет блог! Т.е. возвращает в ноосферу полученные знания в удобном для переваривания виде. Таким людям я готов отвечать на любые вопросы, а не посылать в гугл.
Как показать звонящему, что у абонента поднята трубка и включен call waiting? Хочется месседж поставить - "абонент разговаривает по телефону, пожалуйста подождите".
При чем тут call waiting? Он есть на 2-х уровнях:
1) телефона - при отключенном CW телефон вернет BUSY HERE, а при включенном CW, начнет индикацию второго входящего пиканием.
2) астериск (вернее, FreePbx) - при отключенном CW даже не направит второй вызов.
Если хочешь проговаривать сообщение о занятости, есть много путей:
Перед вызовом анализировать DEVICE_STATE(Chan/Name), или вызывать ChanIsAvail, или делать Dial с параметром j, или анализировать переменную DIALSTATUS...
Неважно какой способ будет выбран, главное, что если абонент не доступен, проговорить фразу. Ах да! Можно еще использовать GROUP()! :-))
Удачи!
P.S. Я бы для этих целей использовал DEVICE_STATE (DEVSTATE). Это новейшее изобретение в Asterisk по сравнению с другими, и дает четкое состояние: INUSE или RINGING. А это основание для проговаривания фразы.
|