[asterisk-bugs] [Asterisk 0012771]: Bogus <member> is still 'Not in Use' warnings for AgentLogin'ed agents.

noreply at bugs.digium.com noreply at bugs.digium.com
Fri Jul 4 10:07:24 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12771 
====================================================================== 
Reported By:                davidw
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12771
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   tweak
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.20.1 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             06-02-2008 09:57 CDT
Last Modified:              07-04-2008 10:07 CDT
====================================================================== 
Summary:                    Bogus <member> is still 'Not in Use'  warnings for
AgentLogin'ed agents.
Description: 
Asterisk seems to correctly know when an AgentLogin type agent is busy on a
call, however every time our agent gets a call, we get a message like:

WARNING[16777] app_queue.c: The device state of this queue member,
Anonymous, is still 'Not in Use' when it probably should not be! Please
check UPGRADE.txt for correct configuration settings.

We've tried to get good presence information from the SIP phones that are
logging in as the agents, but haven't found a recipe that does achieves
this for outgoing calls.  However, this should be irrelevant as it is the
Agent itself whose state matters, not that of the SIP phone.  Moreover, for
AgentLogin, the busy state on the phone wouldn't change for each call, but
would cover the whole logged in period.

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
duplicate of        0012773 [patch] Agent doesn't propagate device ...
====================================================================== 

---------------------------------------------------------------------- 
 stp - 07-04-08 10:07  
---------------------------------------------------------------------- 
aragon

just remove unique id from call SIP/XXXX-YYYY so only device name is added
into notification list. here is the change in devicestate.c function static
int __ast_device_state_changed_literal(char *buf)

	device = buf;

        /* add the following back */
	tmp = strrchr(device, '-');
	if (tmp)
		*tmp = '\0';
.....

and remove these 

	if (!norecurse && (tmp = strrchr(device, '-'))) {
		*tmp = '\0';
		__ast_device_state_changed_literal(device, 1);
	}

Another way is to change how sip_devicestate() search for the device.
Instead of always calling ast_gethostbyname(), we should check if there is
a real host name in SIP device name. It may possible to fix by setting
correct DNS so that ast_gethostbyname() can return immediately instead of
waiting for DNS server to response.

As in my system, this is not racing or any configuration problem. Just
device state thread is waiting to finish state change on SIP call which I
don't know why we need to handle this. So I just do quick fix as above
change in code. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
07-04-08 10:07  stp            Note Added: 0089750                          
======================================================================




More information about the asterisk-bugs mailing list