qpanel icon indicating copy to clipboard operation
qpanel copied to clipboard

[Feature] Conference Stats

Open DoM1niC opened this issue 10 years ago • 6 comments

Hey Bro ;)

A nice Feature will to view Members / Extentsions usw. in a Conference.

DoM1niC avatar Feb 14 '16 22:02 DoM1niC

Hello @DoM1niC

Can you do it a conference and paste here the debug of CLI?

roramirez avatar Feb 15 '16 00:02 roramirez

-- Executing [9000@from-internal:1] Macro("SIP/1337-000001ac", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/1337-000001ac", "TOUCH_MONITOR=1455545587.478") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/1337-000001ac", "AMPUSER=1337") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/1337-000001ac", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/1337-000001ac", "1?Set(REALCALLERIDNUM=1337)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/1337-000001ac", "AMPUSER=1337") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/1337-000001ac", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/1337-000001ac", "AMPUSERCIDNAME=DoM!niC") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/1337-000001ac", "0?report") in new stack
-- Executing [s@macro-user-callerid:9] Set("SIP/1337-000001ac", "AMPUSERCID=1337") in new stack
-- Executing [s@macro-user-callerid:10] Set("SIP/1337-000001ac", "__DIAL_OPTIONS=Ttr") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/1337-000001ac", "CALLERID(all)="DoM!niC" <1337>") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/1337-000001ac", "0?limit") in new stack
-- Executing [s@macro-user-callerid:13] ExecIf("SIP/1337-000001ac", "0?Set(GROUP(concurrency_limit)=1337)") in new stack
-- Executing [s@macro-user-callerid:14] GotoIf("SIP/1337-000001ac", "0?continue") in new stack
-- Executing [s@macro-user-callerid:15] Set("SIP/1337-000001ac", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:16] GotoIf("SIP/1337-000001ac", "1?continue") in new stack
-- Goto (macro-user-callerid,s,27)
-- Executing [s@macro-user-callerid:27] Set("SIP/1337-000001ac", "CALLERID(number)=1337") in new stack
-- Executing [s@macro-user-callerid:28] Set("SIP/1337-000001ac", "CALLERID(name)=DoM!niC") in new stack
-- Executing [s@macro-user-callerid:29] Set("SIP/1337-000001ac", "CDR(cnum)=1337") in new stack
-- Executing [s@macro-user-callerid:30] Set("SIP/1337-000001ac", "CDR(cnam)=DoM!niC") in new stack
-- Executing [s@macro-user-callerid:31] Set("SIP/1337-000001ac", "CHANNEL(language)=en") in new stack
-- Executing [9000@from-internal:2] Set("SIP/1337-000001ac", "MEETME_ROOMNUM=9000") in new stack
-- Executing [9000@from-internal:3] Set("SIP/1337-000001ac", "MAX_PARTICIPANTS=0") in new stack
-- Executing [9000@from-internal:4] Set("SIP/1337-000001ac", "MEETME_MUSIC=") in new stack
-- Executing [9000@from-internal:5] ExecIf("SIP/1337-000001ac", "1?Set(MAX_PARTICIPANTS=0)") in new stack
-- Executing [9000@from-internal:6] ExecIf("SIP/1337-000001ac", "0?Set(MEETME_MUSIC=inherit)") in new stack
-- Executing [9000@from-internal:7] GotoIf("SIP/1337-000001ac", "0?ANSWERED") in new stack
-- Executing [9000@from-internal:8] Answer("SIP/1337-000001ac", "") in new stack
   > 0x7ff82c1465a0 -- Probation passed - setting RTP source address to 192.168.0.2:4004
-- Executing [9000@from-internal:9] Wait("SIP/1337-000001ac", "1") in new stack
   > 0x7ff82c1465a0 -- Probation passed - setting RTP source address to 192.168.0.2:4004
-- Executing [9000@from-internal:10] GotoIf("SIP/1337-000001ac", "1?USER:CHECKPIN") in new stack
-- Goto (from-internal,9000,28)
-- Executing [9000@from-internal:28] Gosub("SIP/1337-000001ac", "sub-conference-options,s,1(9000,USER)") in new stack
-- Executing [s@sub-conference-options:1] NoOp("SIP/1337-000001ac", "Setting options for Conference 9000") in new stack
-- Executing [s@sub-conference-options:2] ExecIf("SIP/1337-000001ac", "1?Set(CONFBRIDGE(bridge,language)=en):Set(CONFBRIDGE(bridge,language)=)") in new stack
-- Executing [s@sub-conference-options:3] Goto("SIP/1337-000001ac", "USER") in new stack
-- Goto (sub-conference-options,s,4)
-- Executing [s@sub-conference-options:4] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,wait_marked)=yes)") in new stack
-- Executing [s@sub-conference-options:5] ExecIf("SIP/1337-000001ac", "1?Set(CONFBRIDGE(user,end_marked)=yes)") in new stack
-- Executing [s@sub-conference-options:6] ExecIf("SIP/1337-000001ac", "0?Set(MENU_PROFILE=user_menu)") in new stack
-- Executing [s@sub-conference-options:7] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,startmuted)=yes)") in new stack
-- Executing [s@sub-conference-options:8] Goto("SIP/1337-000001ac", "RETURN") in new stack
-- Goto (sub-conference-options,s,13)
-- Executing [s@sub-conference-options:13] NoOp("SIP/1337-000001ac", "Setting Additional Options:") in new stack
-- Executing [s@sub-conference-options:14] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,quiet)=yes)") in new stack
-- Executing [s@sub-conference-options:15] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,announce_user_count)=yes)") in new stack
-- Executing [s@sub-conference-options:16] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,announce_join_leave)=yes)") in new stack
-- Executing [s@sub-conference-options:17] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,dsp_drop_silence)=yes)") in new stack
-- Executing [s@sub-conference-options:18] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,talk_detection_events)=yes)") in new stack
-- Executing [s@sub-conference-options:19] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,music_on_hold_when_empty)=yes)") in new stack
-- Executing [s@sub-conference-options:20] Return("SIP/1337-000001ac", "") in new stack
-- Executing [9000@from-internal:29] Gosub("SIP/1337-000001ac", "sub-record-check,s,1(conf,9000,never)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("SIP/1337-000001ac", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("SIP/1337-000001ac", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("SIP/1337-000001ac", "NOW=1455545588") in new stack
-- Executing [s@sub-record-check:4] Set("SIP/1337-000001ac", "__DAY=15") in new stack
-- Executing [s@sub-record-check:5] Set("SIP/1337-000001ac", "__MONTH=02") in new stack
-- Executing [s@sub-record-check:6] Set("SIP/1337-000001ac", "__YEAR=2016") in new stack
-- Executing [s@sub-record-check:7] Set("SIP/1337-000001ac", "__TIMESTR=20160215-151308") in new stack
-- Executing [s@sub-record-check:8] Set("SIP/1337-000001ac", "__FROMEXTEN=1337") in new stack
-- Executing [s@sub-record-check:9] Set("SIP/1337-000001ac", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("SIP/1337-000001ac", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("SIP/1337-000001ac", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("SIP/1337-000001ac", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("SIP/1337-000001ac", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("SIP/1337-000001ac", "4?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("SIP/1337-000001ac", "1?sub-record-check,conf,1") in new stack
-- Goto (sub-record-check,conf,1)
-- Executing [conf@sub-record-check:1] NoOp("SIP/1337-000001ac", "Conference Recording Check 1337 to 9000") in new stack
-- Executing [conf@sub-record-check:2] Gosub("SIP/1337-000001ac", "recconf,1(9000,9000,never)") in new stack
-- Executing [recconf@sub-record-check:1] NoOp("SIP/1337-000001ac", "Setting up recording: 9000, 9000, never") in new stack
-- Executing [recconf@sub-record-check:2] Set("SIP/1337-000001ac", "__CALLFILENAME=9000-9000-never-20160215-151308-1455545587.478") in new stack
-- Executing [recconf@sub-record-check:3] ExecIf("SIP/1337-000001ac", "1?Set(DB(RECCONF/9000)=9000-9000-never-20160215-151308-1455545587.478)") in new stack
-- Executing [recconf@sub-record-check:4] Set("SIP/1337-000001ac", "CONFBRIDGE(bridge,record_file)=2016/02/15/9000-9000-never-20160215-151308-1455545587.478.wav") in new stack
-- Executing [recconf@sub-record-check:5] ExecIf("SIP/1337-000001ac", "1?Return()") in new stack
-- Executing [conf@sub-record-check:3] Return("SIP/1337-000001ac", "") in new stack
-- Executing [9000@from-internal:30] ExecIf("SIP/1337-000001ac", "0?Playback()") in new stack
-- Executing [9000@from-internal:31] Goto("SIP/1337-000001ac", "STARTMEETME,1") in new stack
-- Goto (from-internal,STARTMEETME,1)
-- Executing [STARTMEETME@from-internal:1] ExecIf("SIP/1337-000001ac", "0?Set(CONFBRIDGE(user,music_on_hold_class)=)") in new stack
-- Executing [STARTMEETME@from-internal:2] ExecIf("SIP/1337-000001ac", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [STARTMEETME@from-internal:3] Set("SIP/1337-000001ac", "GROUP(meetme)=9000") in new stack
-- Executing [STARTMEETME@from-internal:4] GotoIf("SIP/1337-000001ac", "0?MEETMEFULL,1") in new stack
-- Executing [STARTMEETME@from-internal:5] ConfBridge("SIP/1337-000001ac", "9000,,,") in new stack
-- <SIP/1337-000001ac> Playing 'conf-onlyperson.gsm' (language 'en')

DoM1niC avatar Feb 15 '16 14:02 DoM1niC

Can you paste the debug CLI of QPanel too?

roramirez avatar Feb 15 '16 14:02 roramirez

DEBUG in app [app.py:117]: {'CryexX-Home': {'ServicelevelPerf': '0.0', 'TalkTime': '0', 'Calls': '0', 'Max': '0', 'Completed': '0', 'ServiceLevel': '60', 'Strategy': 'ringall', 'Weight': '0', 'members': {'Local/100@from-queue/n': {'Status': '1', 'Name': 'CryexX', 'StateInterface': 'hint:100@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'static', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}}, 'entries': {}, 'Holdtime': '0', 'Abandoned': '0'}, 'Privat': {'ServicelevelPerf': '0.0', 'TalkTime': '0', 'Calls': '0', 'Max': '0', 'Completed': '0', 'ServiceLevel': '60', 'Strategy': 'ringall', 'Weight': '0', 'members': {'Local/1337@from-queue/n': {'Status': '2', 'Name': 'DoM!niC', 'StateInterface': 'hint:1337@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'static', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}, 'Local/220@from-queue/n': {'Status': '5', 'Name': 'DoM!niC @Home', 'StateInterface': 'hint:220@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'static', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}, 'Local/200@from-queue/n': {'Status': '5', 'Name': 'DoM!niC-Mobile', 'StateInterface': 'hint:200@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'static', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}}, 'entries': {}, 'Holdtime': '0', 'Abandoned': '0'}, 'Technik': {'ServicelevelPerf': '0.0', 'TalkTime': '0', 'Calls': '0', 'Max': '0', 'Completed': '0', 'ServiceLevel': '60', 'Strategy': 'fewestcalls', 'Weight': '0', 'members': {'Local/100@from-queue/n': {'Status': '1', 'Name': 'CryexX', 'StateInterface': 'hint:100@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'dynamic', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}}, 'entries': {}, 'Holdtime': '0', 'Abandoned': '0'}, 'Service': {'ServicelevelPerf': '0.0', 'TalkTime': '0', 'Calls': '0', 'Max': '0', 'Completed': '0', 'ServiceLevel': '60', 'Strategy': 'fewestcalls', 'Weight': '0', 'members': {'Local/1337@from-queue/n': {'Status': '2', 'Name': 'DoM!niC', 'StateInterface': 'hint:1337@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'dynamic', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}, 'Local/500@from-queue/n': {'Status': '5', 'Name': 'HyperTraxX', 'StateInterface': 'hint:500@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'dynamic', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}, 'Local/300@from-queue/n': {'Status': '5', 'Name': 'Marcus', 'StateInterface': 'hint:300@ext-local', 'LastPause': '0', 'Penalty': '0', 'LastCallAgo': u'0 Sekunden', 'Membership': 'dynamic', 'LastCall': '0', 'LastPauseAgo': u'0 Sekunden', 'PausedReason': '', 'Paused': '0', 'CallsTaken': '0'}}, 'entries': {}, 'Holdtime': '0', 'Abandoned': '0'}}

DoM1niC avatar Feb 16 '16 13:02 DoM1niC

@DoM1niC

The member in conference is Local/1337@from-queue/n ?

Where/How do you would like represent conference state?

roramirez avatar Mar 12 '16 04:03 roramirez

A Conference could showable as Queue in QPanel but without any detailed stats, only the current numbers of members like Agents. If you click in the Conference Details you could see the Member like Queue Details.

DoM1niC avatar Jul 19 '16 21:07 DoM1niC