Используется следующая схема:
Cisco - используется для перенаправления звонков с E1 на Asterisk
Asterisk - рулит звонками.На астериске некоторое количество SIP-клиетов представляют собой коллцентр.
Задача стоит следующая - получать информацию вида Количество разговоров / Количество ожидающих соединения абонентов. Получать программно, например опрашивать циску (Telnet или SNMP) или астериск (AMI) за очень короткие интервалы (1-2 сек).
Циска (show voice call status, show call active voice, show isdn active, ...) и астериск (sip show channels) могут показывать только общее количество звонков на данный момент.
При этом, например, при дебаге ISDN на циске - можно получить информацию о состоянии звонка (о передаваемых алертах и прочее). А в CDR астериск пишет не только время разговора, но и т.н. billsec - время разговора. Это значит что оба они "знают" состояние звонка, но не признаются)
Вопрос в следующем - возможно ли вообще это, и если да - то как сделать? (интересует не реализация, а "что и как спрашивать").
Есть, конечно, вариант парсить CDR астериска (у ожидающего звонка будет 0 секунд billsec), но, в таком случае, получается не совсем realtime информация, так как CDR запись откладывается по завершении звонка.