Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - tank30

Pages: 1 2 [3] 4
31
General Asterisk configuration / Re: Qloader upload interval
« on: February 13, 2008, 10:17:44 »
OK, thank you for the reply!   :)

32
General Asterisk configuration / Qloader upload interval
« on: February 11, 2008, 14:21:14 »
Hi,
  What exactly is the time interval that qloader parses the queue.log and uploads into mysql? Im guessing
$log_every_num is relevant but I need to be sure.
 I have searched the site but found nothing.

Thank you
Kyriakos

33
Running QueueMetrics / Re: ACD attempts clarification
« on: February 11, 2008, 11:14:26 »
Hi.
I am using Asterisk 1.4.17.

34
Running QueueMetrics / Re: ACD attempts clarification
« on: February 10, 2008, 23:18:00 »
OK, lets see an example.
I see that i have Total 30 answered calls by agent in total (Sunday is slow day,  ;D ).
Total unanswered calls 3.
On Att. tab i see only 2 inbound ACD attempts and 2 agents.  Agent 1 has had 2 lost attempts and 0 taken.
Agent 2 had 0 lost attempts and 1 taken.
For ACD attempts by queue on queue A i have 1 lost  0 taken  and for queue B i have 1 lost and 1 taken.

Can you please explain how these numbers fit together? I mean 33 total calls but only 2 inbound ACD attempts?

Thanks
KM


35
Running QueueMetrics / Re: ACD attempts clarification
« on: February 07, 2008, 16:43:54 »
Exactly!
This is why i had the same question.
N taken is way off the number of calls answered.

36
Outbound and QueueMetrics / Re: queueDial.agi not working
« on: February 04, 2008, 15:47:49 »
dos2unix actually made the script being executed, thank you!

I missed this in the faq... ::)

37
Running QueueMetrics / ACD attempts clarification
« on: February 04, 2008, 15:45:57 »
Hi,
  I am a bit confused regarding what "Lost"  and "Taken' actually means in the reports.

OK,  lost means call was sent to agent but it was not answered. So if we had 2 calls in a queue with 3 lost attempts then in total we should have 6 lost attempts for this queue, am i right?

Taken Im not sure what it means. Is is a succesful attempt after a lost attempt? On ACD by terminal what does it mean exactly when an agent has 5 lost and 1 taken?

Documentation is not exactly rich on description for these so it would be nice to give me some details.
 :) :) :)
Thanks!






38
Outbound and QueueMetrics / queueDial.agi not working
« on: January 31, 2008, 16:46:34 »
I am using Asterisk 1.4.11 on Debian etch. I am trying to implement outbound queue but it seems that agi is not executing succesfully:

    -- Executing [dial-SIP@macro-KM-Dialout-base:5] DeadAGI("SIP/391-b5766b60", "queueDial.agi|22693314|SIP/22693314@PRDSER|Outbound|Agent/392") in new stack
[Jan 31 17:15:26] WARNING[19519]: res_agi.c:2089 deadagi_exec: Running DeadAGI on a live channel will cause problems, please use AGI
    -- Launched AGI Script /var/lib/asterisk/agi-bin/queueDial.agi
    -- AGI Script queueDial.agi completed, returning 0


I do not see anything on asterisk console being executed by the agi script.  Script is the untouched file that i got from qm.


cassius:/var/lib/asterisk/agi-bin# cat queueDial.agi
#!/usr/bin/perl
$|=1;

print STDERR "started agi script \n"

#
# Outbound call queue events generator
#      (c) 2006, 2007 Loway - All rights reserved.
#          This software is a part of QueueMetrics.
#          http://queuemetrics.com
#
# $Id: queueDial.agi,v 1.5 2007/04/18 12:07:46 lenz Exp $
#
# This script emulates queue_log events for outgoing calls.
# Use:
# exten => 426,1,DeadAGI(queueDial.agi|34|SIP/34|queue-dps|Agent/101)
#
# The following params must be passed:
# - the caller*ID of the number you are trying to dial. Usually the number itself.
# - the actual dial string, like SIP/34, or IAX2/usr:pass@iax.server/34
# - the outbound queue to be used for accounting. Must be defined in QueueMetrics
# - the agent placing the call. Like Agent/123
#
# RESULTS
# If the call can go through, the events ENTERQUEUE, CONNECT and COMPLETEAGENT or
# COMPLETECALLER will be generated on the system queue_log file.
# If the call is not answered, the events ENTERQUEUE and ABANDON are generated.
#
# Extensive debugging output available at $logfile
#

my $logfile  = "/var/log/asterisk/agi-log.txt";
my $queuelog = "/var/log/asterisk/queue_log";

# Entering the program
logit(0,  "QueueDial ---- " . $ARGV[0] . "- " . $ARGV[1] ."----" . (scalar localtime) );

my $NUMBER  = $ARGV[0];
my $CHANNEL = $ARGV[1];
my $QUEUE   = $ARGV[2];
my $AGENT   = $ARGV[3];

logit( 0, "Dial Num: '$NUMBER' Chan: '$CHANNEL' on Queue: '$QUEUE' Agent: '$AGENT'");

#legge stdin
my %AGI_IN;
while ( my $rl = <STDIN>  ){
        chomp $rl;
        $AGI_IN{$1} = $2 if $rl =~ /^(.+?): (.+)/;
#       logit(0, "In:   $1: '$2'");
        last if length( $rl ) == 0;
}
#logit( 0, "-fine args-");
my $callId = $AGI_IN{'agi_uniqueid'};

#imposta le variabili del canale che saranno lette dal manager
setVar( "QDIALER_NUMBER" , $NUMBER );
setVar( "QDIALER_CHANNEL", $CHANNEL);
setVar( "QDIALER_QUEUE"  , $QUEUE  );
setVar( "QueueName"      , $QUEUE  );
setVar( "QDIALER_AGENT"  , $AGENT  );
#setVar( "CDR(accountcode)", "1234" );


my $nowStart = time();
logQueue( $nowStart, $callId, $QUEUE, "NONE", "ENTERQUEUE", "-", $NUMBER );
logQueue( $nowStart, $callId, $QUEUE, $AGENT, "CONNECT", 0, "" );
#logit( 0, "Chiamo $CHANNEL" );

$whoHung = cmd( "EXEC dial \"$CHANNEL||g\"" );

my $nowEnd = time();
my $asweredTime = getVar( "ANSWEREDTIME" )  ;
my $dialStatus  = getVar( "DIALSTATUS" );
$answeredTime = getVar( "ANSWEREDTIME" ) ;

logit(0, "Hangup: '$whoHung' AT: '$answeredTime' DS: '$dialStatus'" );

if ( $answeredTime == 0 ) {
        my $waitTime = ( $nowEnd - $nowStart );
        logit( 0, "EXITTIMEOUT $nowEnd" );
        logQueue( $nowEnd, $callId, $QUEUE, "NONE", "ABANDON", "1", "1|$waitTime" );
} else {
        my $waitTime = ( $nowEnd - $nowStart ) - $answeredTime;
        my $connectTime = $nowEnd - $answeredTime;
        my $verb = ( $whoHung ? "COMPLETEAGENT" : "COMPLETECALLER" );

        logit( 0, "$connectTime - $nowEnd - $verb - $waitTime - $answeredTime ");

        logQueue( $connectTime, $callId, $QUEUE, $AGENT, "CONNECT", $waitTime, "" );
        logQueue( $nowEnd,      $callId, $QUEUE, $AGENT, $verb, $waitTime, $answeredTime );
}

logit( 0, "Terminating" );

exit;



#
# appoggio
#

sub logit {
        my ($level, $string) = @_;
        open L, ">>$logfile" or die "$! $logfile";
        print L "*" . $string . "\n";
        close L;
}

sub cmd {
        my ( $c ) = @_;
        print $c . "\n";
        my $rIn = <STDIN>;
        my $res = "";
        logit( 1, "Cmd: $c\n" );
        logit( 1, "  A: $rIn\n" );
        $res = $1 if $rIn =~ /^200 result=(.+)/;
        return $res;
}

sub getVar {
        my ( $v ) = @_;
        print "GET VARIABLE $v\n";
        my $rIn = <STDIN>;
        my $rOut = "";
        $rOut = "$1" if $rIn =~ /^200 result=1 \((.+)\)/;
        logit( 0, "GetVar: '$v' = '$rOut'");
        return $rOut;
}

sub setVar {
        my ( $var, $val ) = @_;
        print "SET VARIABLE $var $val\n";
        my $rIn = <STDIN>;
        logit( 0, "SetVar: '$var' = '$val' - $rIn" );
}

sub logQueue {
        my ( $t, $c, $q, $a, $p1, $p2, $p3 ) = @_;
        open F, ">>$queuelog" or die "$!";
        print F "$t|$c|$q|$a|$p1|$p2|$p3\n";
        close F;
}



# ===================================================================
# $Log: queueDial.agi,v $
# Revision 1.5  2007/04/18 12:07:46  lenz
# Copyright messages.
#
# Revision 1.4  2007/04/14 10:09:11  lenz
# Aggiunta var standard QueueName al canale.
#
# Revision 1.3  2007/03/29 21:29:43  lenz
# Channel variables per Manager
#
#

Any help would be appreciated    ;)

KM

39
Running QueueMetrics / Re: Pause while being paused!
« on: December 14, 2007, 13:22:25 »
Thanks for the reply. So should we be expecting a fix for this soon? Its really a major problem because supervisors think that agent is available but not taking calls!


40
Hi!
Has this been implemented in the new release of QM?


Kyriakos Mavromichalis
Otenet-Telecom

41
Running QueueMetrics / Pause while being paused!
« on: December 13, 2007, 16:37:39 »
Hi guys,

Im running Asterisk 1.4 and QM 1.4.2 on debian etch. I have noticed the following weird bug:

When an agent is paused for a reason lets say code 10. Agen website will allow him to repause his status while being paused and change the pause code! This has the effect of totally removing the pause sesion of the agent! So at the end of the day , on agent report , agent pause session will not be shown so the supervisor would think that agent was logged in and available but no calls were routed to him by the ACD.
I am using qloaderd for uploading the lines from queue.log into mysql. I checked the logfile and this is an example of what im saying:

sample from queue.log:
1197550494|1197550494.2256|NONE|Agent/1001|PAUSEREASON|10
1197550494|1197550494.2255|NONE|Agent/1001|PAUSEREASON|10
1197554597|NONE|NONE|Agent/1001|PAUSEALL|
1197554597|NONE|Telepassport|Agent/1001|PAUSE|
1197554597|NONE|AnyOtherQueue|Agent/1001|PAUSE|
1197554597|NONE|TechSupportQueue|Agent/1001|PAUSE|
1197554597|NONE|TechnicalFaultQueue|Agent/1001|PAUSE|
1197554597|NONE|SalesQueue|Agent/1001|PAUSE|
1197554597|NONE|AccountingQueue|Agent/1001|PAUSE|
1197554597|NONE|NONE|Agent/1001|PAUSEALL|
1197554597|NONE|Telepassport|Agent/1001|PAUSE|
1197554597|NONE|AnyOtherQueue|Agent/1001|PAUSE|
1197554597|NONE|TechSupportQueue|Agent/1001|PAUSE|
1197554597|NONE|TechnicalFaultQueue|Agent/1001|PAUSE|
1197554597|NONE|SalesQueue|Agent/1001|PAUSE|
1197554597|NONE|AccountingQueue|Agent/1001|PAUSE|
1197554597|1197554597.2613|NONE|Agent/1001|PAUSEREASON|13
1197554597|1197554597.2612|NONE|Agent/1001|PAUSEREASON|13
1197555699|NONE|NONE|Agent/1001|UNPAUSEALL|
1197555699|NONE|Telepassport|Agent/1001|UNPAUSE|
1197555699|NONE|AnyOtherQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechSupportQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechnicalFaultQueue|Agent/1001|UNPAUSE|
1197555699|NONE|SalesQueue|Agent/1001|UNPAUSE|
1197555699|NONE|AccountingQueue|Agent/1001|UNPAUSE|
1197555699|NONE|NONE|Agent/1001|UNPAUSEALL|
1197555699|NONE|Telepassport|Agent/1001|UNPAUSE|
1197555699|NONE|AnyOtherQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechSupportQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechnicalFaultQueue|Agent/1001|UNPAUSE|
1197555699|NONE|SalesQueue|Agent/1001|UNPAUSE|
1197555699|NONE|AccountingQueue|Agent/1001|UNPAUSE|

The above has a consequence of not showing the session pause beetween 3 pm and 4pm (hours are in GMT+2)


Agent pause report:
Agent Ext. Duration On pause Activity Start hour End hour
Giorgos Georgiou  361 8:56:45         -  12/13 - 8:32:44  12/13 - 17:29:29 
        3:59    Out call  12/13 - 10:26:08  12/13 - 10:30:07 
        21:56    short  12/13 - 12:06:08  12/13 - 12:28:04 
        5:56    Backoffice jobs  12/13 - 12:30:51  12/13 - 12:36:47 
        8:09    Backoffice jobs  12/13 - 13:05:53  12/13 - 13:14:02 
        18:56    Lunch  12/13 - 13:45:15  12/13 - 14:04:11 
        18:22    Backoffice jobs  12/13 - 16:03:17  12/13 - 16:21:39 
        36:47    Backoffice jobs  12/13 - 16:23:10  12/13 - 16:59:57 

Normal behavior would be that if already paused, the agent page should not allow the agent to repause and choose another pause code.
Can you please verify that this is a bug in the site or perhaps something i missed in the configuration properties?

thanks!
Kyriakos Mavromichalis
Otenet-Telecom

42
Hi,
  its probably a QM problem since nothing happens in asterisk console nor in Asterisk logs.
Also i tried to tail the logfiles of QM to see if i can find any errors but with no success.
Where exactly is the tcp password for the asterisk in QM configuration?

Below is my configuration properties for QM:
# This is the internal id (ex. 7, 49....) of the preselected default queue, leave blank for no default queue.
default.queue=1

# This is the default queue log file.
default.queue_log_file=/var/log/asterisk/queue_log

#This key is used only as a placeholder for CVS versioning information
00_version=$Id: configuration.properties,v 1.18 2007/06/18 21:03:05 lenz Exp $

#When the realtime page for an agent is computed, the queue_log is NOT read in its entirety but only the last 'n' bytes.
realtime.max_bytes_agent=65000

#The top level directory where monitored calls are held.
#Do NOT forget to add the ending slash.
default.monitored_calls=/var/spool/asterisk/

#How many digits to consider as a default area code
default.areacode_digits=2

default.start_hour=8

default.end_hour=17:30

default.days=7

#if liveclock is enabled, the system clock is synchronized with asterisk server system clock.
liveclock.enable=true

#The max delay that will be shown in the TOS graph
sla.max_monitored_delay=120

#How big are time intervals for the TOS graph
sla.interval=10

#Your company logo (full or relative path) - shall be resized to be an image 200 x 72
layout.logo=$WEBAPP/img/sm_your_logo.gif

#HTML string displayed on the login page.
layout.splash=Please ask your system administrator for the correct credentials to access this instance of QueueMetrics.

# Preset 1: standard DB access. Edit to suit your DB needs.
sqlPreset.1.table=queue_log
sqlPreset.1.f_time_id=time_id
sqlPreset.1.f_call_id=call_id
sqlPreset.1.f_queue=queue
sqlPreset.1.f_agent=agent
sqlPreset.1.f_verb=verb
sqlPreset.1.f_partition=partition
sqlPreset.1.f_data1=data1
sqlPreset.1.f_data2=data2
sqlPreset.1.f_data3=data3
sqlPreset.1.f_data4=data4
sqlPreset.1.f_incr=unique_row_count

sqlPreset.2.table=queue_log
sqlPreset.2.f_time_id=time_id
sqlPreset.2.f_call_id=call_id
sqlPreset.2.f_queue=queue
sqlPreset.2.f_agent=agent
sqlPreset.2.f_verb=verb
sqlPreset.2.f_partition=
sqlPreset.2.f_data1=data1
sqlPreset.2.f_data2=data2
sqlPreset.2.f_data3=data3
sqlPreset.2.f_data4=data4
sqlPreset.2.f_incr=unique_row_count

#Is the calls panel in the realtime page invisible by default? 0 false, 1 true
realtime.calls_invisible=0

#Is the agents panel in the realtime page invisible by default? 0 false, 1 true  
realtime.agents_invisible=0

#Are not  the only agents to be shown on the realtime page those who are "known" for the queue? 0 false, 1 true
realtime.members_only=1

#In how many seconds is the realtime page to refresh?
realtime.refresh_time=18


# Do we consider callback agents permanent until logoff (default as Asterisk 1.2), or do they get disconnected at restart?
default.permanentCallBackAgents=true

# Do we take into consideration sessions and calls that are not complet eyet for the main analysis?
default.considerIncompletetEntities=true

#callFile spool dir, set to blank for no call files at all.
callfile.dir=/var/spool/asterisk/outgoing

callfile.monitoring.enabled=true
callfile.monitoring.channel=Local/$EM@sip/n
callfile.monitoring.extension=11
callfile.monitoring.context=queuemetrics

callfile.agentdial.enabled=true
callfile.agentdial.channel=Local/13@queuemetrics/n
callfile.agentdial.extension=10
callfile.agentdial.context=queuemetrics

callfile.calloutcome.enabled=true
callfile.calloutcome.channel=Local/12@queuemetrics/n
callfile.calloutcome.extension=10
callfile.calloutcome.context=queuemetrics

#callfile.agentlogin.enabled=true
#callfile.agentlogin.channel=Local/20@queuemetrics/n
#callfile.agentlogin.extension=
#callfile.agentlogin.context=queuemetrics

callfile.agentlogin.enabled=true
callfile.agentlogin.channel=Local/698@feature-extensions/n
callfile.agentlogin.extension=698
callfile.agentlogin.context=feature-extensions

callfile.agentlogoff.enabled=true
callfile.agentlogoff.channel=Local/21@queuemetrics/n
callfile.agentlogoff.extension=10
callfile.agentlogoff.context=queuemetrics

callfile.agentpause.enabled=true
callfile.agentpause.channel=Local/22@queuemetrics/n
callfile.agentpause.extension=10
callfile.agentpause.context=queuemetrics

callfile.agentunpause.enabled=true
callfile.agentunpause.channel=Local/23@queuemetrics/n
callfile.agentunpause.extension=10
callfile.agentunpause.context=queuemetrics


# Rewrites Local/XXX@ext channels in the format Agent/XXX
default.rewriteLocalChannels=false

# DO NOT CHANGE
realtime.use_sql_now=false

#The default time zone offset. Valid values -24...24 hours
default.timeZoneOffset=0

#If an ongoing call has a wait time that exceeds this value, drop it. 0: ignore
default.maxOngoingWaitTime=0

#If an ongoing call has a talk time that exceeds this value, drop it. 0: ignore
default.maxOngoingTalkTime=0

#Ignore QUEUESTART statements.
default.ignoreQueueStarts=false


#The hour of the day to start realtime monitoring or sXX: sliding window of XX hours
realtime.startHour=0


# The default locale for QueueMetrics. DO NOT CHANGE unless you know what you're doing.
default.language=en
default.country=US

# Which channel name to show for a call: True: last one seen - False: first one found
default.useEndingChannelName=true

# How to create Excel files: True: Excel 2003 XML - False: CSV
default.useXmlExcel=false

# Show the queue composition or just the main queue name
default.showQueueComposition=true


# how long is an hour for hourly breakdown; default 60 minutes
default.hourly_slot=15

#Add the following key to enable default showing of all subqueues (default: no):
realtime.all_subqueues=1

# Join multi-stint calls as a default
default.joinMultiStintCalls=false

# Uses the starting or ending channel name in case they're different.
default.useEndingChannelName=false


# Decide whether to check for alarms on the wait time of ongoing conversations.
realtime.waitAlarmOnLiveCalls=true
sound.yellowAlarm=../img/sounds/dingdong.wav
sound.redAlarm=../img/sounds/ringer.wav



# Cluster to poll for RT data
# list of pipe-separated members of the cluster
# if callfilesdir = "", the commands will be sent through the manager API
cluster.servers=aleph|trix

cluster.aleph.manager=tcp:dial:12345@10.10.3.5
cluster.aleph.queuelog=sql:P001
cluster.aleph.monitored_calls=z:/qm_streamcall/server_aleph
cluster.aleph.callfilesdir=
cluster.aleph.audioRpcServer=
cluster.aleph.agentSecurityKey=

cluster.trix.manager=tcp:admin:amp111@10.10.3.100
cluster.trix.queuelog=sql:P002
cluster.trix.monitored_calls=z:/qm_streamcall/server_trix
cluster.trix.callfilesdir=
cluster.trix.audioRpcServer=
cluster.trix.agentSecurityKey=

43
This is what i have:

callfile.agentlogin.enabled=true
callfile.agentlogin.channel=Local/698@feature-extensions/n
callfile.agentlogin.extension=698
callfile.agentlogin.context=feature-extensions

and in context feature-extensions  i have the extension 698:

exten => 698,1,Answer
exten => 698,1,NoOp( "QM: Logging on Agent/${AGENTCODE} to extension ${AGENT_EXT}@sip" )
exten => 698,2,AgentCallBackLogin(${AGENTCODE}||${AGENT_EXT}@sip)
exten => 698,4,Hangup

Help, anyone?

 :'(





44
Agents show up ok on reports, loging in and out when using the dial extension i have setup on Asterisk.
If an agent tries to login using the "LogOn" button from the agent's QM web interface it fails with error
"You do not have the rights to perform the requested action. "   

What rights exactly are we talking about here?   ???
Any ideas on how to resolve this?


thanks
KM

45
OK,  just saw the tutorial for debian.
I disabled security manager and it worked!

 ;D ;D ;D ;D

Pages: 1 2 [3] 4