Всем привет.
Подскажите, как можно посмотреть состояние SIP клиента: занят или нет? Ситуация следующая: SIP клиент принимает звонки, поступающие из очереди. И иногда возникает ситуация, когда предыдущий звонок уже завершился, а следующий звонок из очереди дозванивается только со 2-й попытки (в логах * говорит, что никто не поднял трубку, играет периодическое сообщение и запускает новый цикл дозвона), хотя по идее должен почти сразу соединить. Вот и хотим посмотреть, в каком состоянии в этот момент находится SIP клиент.
Поступил новый звонок [Nov 7 11:02:00] VERBOSE[18885] sig_analog.c: -- Starting simple switch on 'DAHDI/6-1' [Nov 7 11:02:01] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:1] Wait("DAHDI/6-1", "1") in new stack [Nov 7 11:02:02] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:2] Answer("DAHDI/6-1", "") in new stack [Nov 7 11:02:02] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:3] NoOp("DAHDI/6-1", "CALLER_ID === "" <89212209138>") in new stack [Nov 7 11:02:02] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:4] NoOp("DAHDI/6-1", "2011-11-07") in new stack [Nov 7 11:02:02] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:5] Set("DAHDI/6-1", "RECORD_FILE_POSTFIX=89212209138") in new stack [Nov 7 11:02:02] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:6] Set("DAHDI/6-1", "RECORDS_DIRNAME=/var/spool/asterisk/records/2011-11-07") in new stack [Nov 7 11:02:02] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:7] System("DAHDI/6-1", "mkdir -p /var/spool/asterisk/records/2011-11-07") in new stack [Nov 7 11:02:02] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:8] Wait("DAHDI/6-1", "1") in new stack [Nov 7 11:02:03] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:9] Playback("DAHDI/6-1", "taxisounds/hello") in new stack [Nov 7 11:02:03] VERBOSE[18885] file.c: -- <dahdi 6-1=""> Playing 'taxisounds/hello.gsm' (language 'ru') [Nov 7 11:02:07] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:10] Set("DAHDI/6-1", "MONITOR_FILENAME=/var/spool/asterisk/records/2011-11-07/11-02-07_89212209138") in new stack [Nov 7 11:02:07] VERBOSE[18885] pbx.c: -- Executing [s@incoming-from-pstn2:11] Queue("DAHDI/6-1", "taxi-operators2,tr,,,180") in new stack [Nov 7 11:02:07] VERBOSE[18885] netsock2.c: == Using SIP RTP CoS mark 5 [Nov 7 11:02:07] VERBOSE[18885] app_queue.c: -- SIP/101-00002afe is ringing [Nov 7 11:02:07] VERBOSE[18873] pbx.c: == Spawn extension (incoming-from-pstn2, s, 11) exited non-zero on 'DAHDI/7-1' Закончился предыдущий звонок [Nov 7 11:02:07] VERBOSE[18873] sig_analog.c: -- Hanging up on 'DAHDI/7-1' [Nov 7 11:02:07] VERBOSE[18873] chan_dahdi.c: -- Hungup 'DAHDI/7-1' [Nov 7 11:02:07] VERBOSE[18879] app_mixmonitor.c: == MixMonitor close filestream [Nov 7 11:02:07] VERBOSE[18879] app_mixmonitor.c: == End MixMonitor Recording DAHDI/7-1 [Nov 7 11:02:23] VERBOSE[18885] app_queue.c: -- Nobody picked up in 15000 ms [Nov 7 11:02:28] VERBOSE[18885] app_queue.c: -- Playing periodic announcement [Nov 7 11:02:28] VERBOSE[18885] file.c: -- <dahdi 6-1=""> Playing 'ru/queue-periodic-announce.gsm' (language 'ru') [Nov 7 11:02:36] VERBOSE[18885] netsock2.c: == Using SIP RTP CoS mark 5 Начало второй попытки дозвона [Nov 7 11:02:36] VERBOSE[18885] app_queue.c: -- SIP/101-00002aff is ringing Никто не взял трубку [Nov 7 11:02:51] VERBOSE[18885] app_queue.c: -- Nobody picked up in 15000 ms [Nov 7 11:02:57] VERBOSE[18885] app_queue.c: -- Playing periodic announcement [Nov 7 11:02:57] VERBOSE[18885] file.c: -- <dahdi 6-1=""> Playing 'ru/queue-periodic-announce.gsm' (language 'ru') [Nov 7 11:03:04] VERBOSE[18885] netsock2.c: == Using SIP RTP CoS mark 5 Начало 3-й попытки [Nov 7 11:03:04] VERBOSE[18885] app_queue.c: -- SIP/101-00002b00 is ringing Ответили [Nov 7 11:03:08] VERBOSE[18885] app_queue.c: -- SIP/101-00002b00 answered DAHDI/6-1
call-limit=1 для пира этого в sip.conf, хотя это для астеров 1.4/1.6. В новых через группы..
Использование в дипалане фукнций DEVSTATE и QUEUE_MEMBER
позволит избежать такой проблемы. Но для этого придется изменить схему дозвона на операторов. Заводить их в очередь лучше будет через Local
интерфейс.
Может быть дело в параметре wrapuptime queues.conf?
Задан: Nov 8 '11
Просмотрен: 738 раз
Обновлен: Nov 09 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.