[asterisk-dev] Does anybody know how to do a producer/consumerbased buffered writer in C?

Asterisk asterisk at abraxas.si
Wed Jul 19 04:59:29 MST 2006


Dear Kevin!

As we are currently developing some add-ons for asterisk which depend on AgentCallbackLogin, we got a bit worried when we read your answer. So we would like to ask you if it is possible to get the document, you mentioned to be published with 1.4 any earlier than by the release (to make us possible to prepare in advance). 

In case not, could you give us at least home general hints?

Which of these techniques would then be the recommended alternative to the AgentCallbackLogin?

1. Dynamically adding and removing queue members using AddQueueMember and RemoveQueueMember dial plan applications (will asterisk perform fine if these applications are called frequently on a full-load system during rush hour) 
2. Defining agents statically, and using AgentLogin application (though, how could one specify the location of an agent who is sitting at a random ZAP telephone using this approach?) 
3. Using a mix, something like >Asterisk RealTime Queue< (http://www.voip-info.org/wiki/view/Asterisk+RealTime+Queue) 
4. Something else?  

Do AddQueueMember, RemoveQueueMember, and AgentLogin diaplan applications have any equivalents in the AMI? Can we still monitor the same AMI events (agentcalled, agentconnect, agentcomplete, queuemember, queueentry, queueparams, queuestatuscomplete, agentcallbacklogoff, agentcallbacklogin) after migration from AgentCallbackLogin to something else? If not, which substitutes should we look for instead?

Should we pay special attention to any issues (new bugs) that may follow this migration?

BTW: Which version of Asterisk do you (Digium) use? Based on 1.2 or 1.4 core?

Thanks a lot for helping us with our dilemmas.

With best regards!

Alex  

-----Original Message-----
From: asterisk-dev-bounces at lists.digium.com [mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Kevin P. Fleming
Sent: Tuesday, July 18, 2006 6:56 PM
To: Asterisk Developers Mailing List
Subject: Re: [asterisk-dev] Does anybody know how to do a producer/consumerbased buffered writer in C?

----- Matt King <m at orderlysoftware.com> wrote:
> If so I think we can fix the big thread deadlock bug (6626 and
> related) 
> that's been plaguing busy call centres for the last two years.

We are likely (very likely) going to deprecate the usage of AgentCallbackLogin in the Asterisk 1.4 release. With the proper dialplan logic, the entire function it provides can be done without the use of proxy channels and additional locking. When the deprecation occurs, we will also include a file in the doc/ directory showing an example dialplan of how to replicate the functionality.

We (Digium) just converted our PBX from using chan_agent callback mode to using dynamic queue members via dialplan logic and it solved a number of problems we were having, with no loss of functionality. This mirrors the experiences of other customers we have helped (through our support department) do the same thing. Given that, it seems to be a significant waste of resources to try to fix the locking problems caused by chan_agent when it provides no additional value.

-- 
Kevin P. Fleming
Senior Software Engineer
Digium, Inc.

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev





More information about the asterisk-dev mailing list