недосмотрел, что уже есть ответ. если вопрос уже решен - отмечайте его!!!!
alphil ( 2012-04-19 22:52:00 +0400 )редактироватьДень добрый. Задача стоит такая: при поступлении звонка на вторую линию аппарата (при занятой первой) необходимо проиграть звуковой файл и продолжить гудки абоненту. Т.е. фактически необходимо проверить занятость 1 линии на аппарате. Как сие сделать?
А чего вам не подходит вариант с SIPPEER(${EXTEN},curcalls)?
недосмотрел, что уже есть ответ. если вопрос уже решен - отмечайте его!!!!
alphil ( 2012-04-19 22:52:00 +0400 )редактироватьА вот нифига. Что сделал я: Установил call-limit для внутренних sip пиров и макросом получаю количество занятых линий:
exten => s,1,Set(peercallscount=${SIPPEER(${ARG1},curcalls)})
exten => s,n,NoOp(${peercallscount})
Если peercallscount равен нулю, то абонент не разговаривает.
Если в аппарате многолинейность, то никак. Единственный способ: подсчитывать функцией GROUP количество звонков на этот номер и если больше одного - проигрывать сообщение.
http://voip.rus.net/tiki-index.php?page=Asterisk%20func%20group
http://voip.rus.net/tiki-index.php?page=Asterisk%20func%20group_count
только с использованием групп можно будет на любых каналах работать, не только на SIP
switch ( 2012-04-19 13:44:26 +0400 )редактироватьУчтем. Просто сейчас у меня кроме SIP пока ничего нету.
andy-none ( 2012-04-19 13:47:03 +0400 )редактироватьЗадан: 2012-04-19 09:45:17 +0400
Просмотрен: 276 раз
Обновлен: Apr 19 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.