asterisk-java-devel Mailing List for Asterisk-Java Library (Page 19)
Brought to you by:
srt
You can subscribe to this list here.
2005 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(8) |
Jul
(3) |
Aug
(6) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(8) |
Feb
(6) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
(17) |
Aug
(21) |
Sep
(2) |
Oct
(7) |
Nov
(8) |
Dec
(12) |
2007 |
Jan
(10) |
Feb
(19) |
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(5) |
Oct
(6) |
Nov
(1) |
Dec
(5) |
2008 |
Jan
(12) |
Feb
(15) |
Mar
(18) |
Apr
(34) |
May
(3) |
Jun
(34) |
Jul
(5) |
Aug
(1) |
Sep
(8) |
Oct
|
Nov
(2) |
Dec
(2) |
2009 |
Jan
(8) |
Feb
(2) |
Mar
(35) |
Apr
(16) |
May
(11) |
Jun
(2) |
Jul
(6) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
(4) |
Dec
|
2010 |
Jan
(43) |
Feb
(15) |
Mar
(1) |
Apr
(7) |
May
(3) |
Jun
(7) |
Jul
(1) |
Aug
(3) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
(2) |
Mar
(9) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
2012 |
Jan
(9) |
Feb
(2) |
Mar
(4) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(10) |
Nov
(10) |
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(10) |
Dec
|
2014 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
(11) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(2) |
Mar
(7) |
Apr
(39) |
May
(18) |
Jun
(6) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
(9) |
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Stefan R. <ste...@re...> - 2008-03-11 03:19:10
|
Martin Smith wrote: > I love this article: > http://www.slash7.com/pages/vampires Thanks! With the guide at hand I even spotted some vampires out of the IT sphere in real life^^ =Stefan |
From: Martin S. <ma...@be...> - 2008-03-10 14:11:52
|
I love this article: http://www.slash7.com/pages/vampires Cheers :) Martin Smith, Systems Developer ma...@be... Bureau of Economic and Business Research University of Florida (352) 392-0171 Ext. 221 |
From: Martin S. <ma...@be...> - 2008-03-05 16:11:31
|
You read my mind (!!!)... I'll check it out. I'd like to use config file parse trees to tie Asterisk into traditional telephony device drivers like Windows TAPI. Most of the TAPI specifications require you know how many lines exist, and all kinds of information that could be gleaned from the configs. I'd like to see visual representations too. I'm very excited about this :) Martin Smith, Systems Developer ma...@be... Bureau of Economic and Business Research University of Florida (352) 392-0171 Ext. 221 > -----Original Message----- > From: ast...@li... > [mailto:ast...@li...] On > Behalf Of Stefan Reuter > Sent: Wednesday, March 05, 2008 10:37 AM > To: ast...@li... > Subject: [Asterisk-java-devel] Working on a config file parser > > Hi, > > as part of a current project I am working on config file management > stuff in Asterisk-Java. This is an area that has not yet been covered. > The idea is to add the pieces required to read and write asterisk > configuration files. The first step is to access the files locally but > the API should be extensible enough to support read/update through the > Manager API, too. > If you want to have a look at it, you'll find the code in SVN > in the new > org.asteriskjava.config package. > But beware that it is just work in progress and might not > work at all :) > > =Stefan > > -- > reuter network consulting > Neusser Str. 110 > 50760 Koeln > Germany > Telefon: +49 221 1305699-0 > Telefax: +49 221 1305699-90 > E-Mail: ste...@re... > Jabber: ste...@re... > WWW: http://www.reucon.com > > Steuernummern 215/5140/1791 USt-IdNr. DE220701760 > > |
From: Stefan R. <ste...@re...> - 2008-03-05 15:42:25
|
Martin Smith wrote: > 2. You could translate from the AJ Manager API and Asterisk agents to > the Live API and Call center agents. > 3. Your app could then manage MUCH less generic state per agent, and > everyone else would get the benefit of as much generalization as > possible. Yes that was my idea. The goal of the live API is to be easier to use but not to provide less features than the Manager API. Of course there will still be specific logig on top of live that implements missing pieces that are not available in Asterisk. This should be possible the same way you do it currently with the Manager API, but it will (hopefully) be easier. =Stefan -- reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |
From: Stefan R. <ste...@re...> - 2008-03-05 15:37:04
|
Hi, as part of a current project I am working on config file management stuff in Asterisk-Java. This is an area that has not yet been covered. The idea is to add the pieces required to read and write asterisk configuration files. The first step is to access the files locally but the API should be extensible enough to support read/update through the Manager API, too. If you want to have a look at it, you'll find the code in SVN in the new org.asteriskjava.config package. But beware that it is just work in progress and might not work at all :) =Stefan -- reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |
From: Martin S. <ma...@be...> - 2008-03-03 14:13:46
|
Hi Carlos (again :), The Live API is built on top of the Manager API, which has the "low-level" you're looking for. Here's what Stefan is thinking you could do (I think :), 1. If there's something in the Manager API missing that you would use (I doubt anything is missing from there), you could ensure the Asterisk-Java Manager API contains it. 2. You could translate from the AJ Manager API and Asterisk agents to the Live API and Call center agents. 3. Your app could then manage MUCH less generic state per agent, and everyone else would get the benefit of as much generalization as possible. I think you'll find also that other folks are working on Agent-centric features here for AJ too. Either way, I look forward to eventually taking the time to toy with Terminus :) Martin Smith, Systems Developer ma...@be... Bureau of Economic and Business Research University of Florida (352) 392-0171 Ext. 221 > -----Original Message----- > From: ast...@li... > [mailto:ast...@li...] On > Behalf Of Carlos G Mendioroz > Sent: Saturday, March 01, 2008 4:13 PM > To: ast...@li... > Subject: Re: [Asterisk-java-devel] TMI/Terminus > > Stefan Reuter @ 01/03/2008 05:16 -0200 dixit: > > Hi Carlos, > > > > looks promising! > Thanks! > > > I think the TMI.java class could be perfectly generalized and merged > > into the live API. > > Did you already have a look at it and got a first > impression of what is > > actually duplicated and what is still missing in live? > > Yes, I took a look, but I don't see your "perfect fit" view though :( > As I see it, Live should (and does) hide the (manager) protocol > complexities and expose asterisk objects in a java friendly way. > Functions, listeners, etc. > > My problem with that is that asterisk agents are too low > level, in fact > they implement part of the agent needed functionality and you are free > to build the rest the way you want. Static/dynamic. Static queues or > dynamic. Outgoing call interaction. Supervision. To name a few. > > It would be great to fit ANY model, but may be way too complex. > I want an Agent to be a call center agent, not the asterisk agent > "channel". I need to have the idea of the agent doing outgoing calls, > out states, login timing, supervisor access (eventually :). > > For the time being, it has IP (mostly for status info to the agent > phone, but may also be used for mapping, session auth, etc) state and > login time. Out states and outgoing call tracking need specific > configuration, I see no way of generalizing that... > > > > > =Stefan > > > -Carlos > -- > Carlos G Mendioroz <tr...@hu...> LW7 EQI Argentina > > -------------------------------------------------------------- > ----------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Asterisk-java-devel mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-devel > |
From: Carlos G M. <tr...@hu...> - 2008-03-01 21:21:40
|
Stefan Reuter @ 01/03/2008 05:16 -0200 dixit: > Hi Carlos, > > looks promising! Thanks! > I think the TMI.java class could be perfectly generalized and merged > into the live API. > Did you already have a look at it and got a first impression of what is > actually duplicated and what is still missing in live? Yes, I took a look, but I don't see your "perfect fit" view though :( As I see it, Live should (and does) hide the (manager) protocol complexities and expose asterisk objects in a java friendly way. Functions, listeners, etc. My problem with that is that asterisk agents are too low level, in fact they implement part of the agent needed functionality and you are free to build the rest the way you want. Static/dynamic. Static queues or dynamic. Outgoing call interaction. Supervision. To name a few. It would be great to fit ANY model, but may be way too complex. I want an Agent to be a call center agent, not the asterisk agent "channel". I need to have the idea of the agent doing outgoing calls, out states, login timing, supervisor access (eventually :). For the time being, it has IP (mostly for status info to the agent phone, but may also be used for mapping, session auth, etc) state and login time. Out states and outgoing call tracking need specific configuration, I see no way of generalizing that... > > =Stefan > -Carlos -- Carlos G Mendioroz <tr...@hu...> LW7 EQI Argentina |
From: Stefan R. <ste...@re...> - 2008-03-01 07:17:01
|
Hi Carlos, looks promising! I think the TMI.java class could be perfectly generalized and merged into the live API. Did you already have a look at it and got a first impression of what is actually duplicated and what is still missing in live? =Stefan Carlos G Mendioroz wrote: > Hi, > I've uploaded some files that compose the current state of my agent > status monitor "system" dubbed Terminus. > It's available via CVS at sourceforge, project tmi. > > This are 2 programs, a server (TMI.java) which connects to asterisk > using manager and provides a text based "service" on tcp port 4300, > and a client that connects to it (all other .java files, compile to a > jar file) and provides a couple of windows (queue status and agent > status) and a basic filter to see only some of the queues and their agents). > > There are some "not a distributable yet" things like: > > -manager user/password is burnt in source > -it uses a udp(port 4301) backchannel to tell current status to agents > -"out states" depend on undocumented extensions programming > ... and may be others. > > It's not using Live (yet?). Sorry about that. > I added some last minute goodies like SIP ip determination (I use IAX > agents) and call final data (to enable call metrics accounting). > All in all I gues it may be helpful for someone. > > I was thinking about generating the metrics at the server side (TMI) > but now I'm leaning towards decoupling that as well, by having a TMI > client do the accounting and db insertion. > > Feedback is welcome. > -- reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |
From: Carlos G M. <tr...@hu...> - 2008-02-27 18:38:18
|
Hi, I've uploaded some files that compose the current state of my agent status monitor "system" dubbed Terminus. It's available via CVS at sourceforge, project tmi. This are 2 programs, a server (TMI.java) which connects to asterisk using manager and provides a text based "service" on tcp port 4300, and a client that connects to it (all other .java files, compile to a jar file) and provides a couple of windows (queue status and agent status) and a basic filter to see only some of the queues and their agents). There are some "not a distributable yet" things like: -manager user/password is burnt in source -it uses a udp(port 4301) backchannel to tell current status to agents -"out states" depend on undocumented extensions programming ... and may be others. It's not using Live (yet?). Sorry about that. I added some last minute goodies like SIP ip determination (I use IAX agents) and call final data (to enable call metrics accounting). All in all I gues it may be helpful for someone. I was thinking about generating the metrics at the server side (TMI) but now I'm leaning towards decoupling that as well, by having a TMI client do the accounting and db insertion. Feedback is welcome. -- Carlos G Mendioroz <tr...@hu...> LW7 EQI Argentina |
From: Carlos G M. <tr...@hu...> - 2008-02-26 10:13:04
|
Stefan Reuter @ 25/02/2008 23:55 -0200 dixit: > Carlos G Mendioroz wrote: >> Fine with me. Hope Stefen is ok with us using some list BW for this :) >> Current development nickname is Terminus, which already has a sibling >> at sourceforge, but related to NMS. TMI for Terminus Management >> Interface (the current backend name) seems free. > > Sounds like an interesting project indeed. It would be great if you > could use the live API for this so we can further enhance it. > I found myself to reinvent the wheel far to often writing basically the > same event parsing/call tracking code over and over again - that's what > lead me to the live API :) Sounds familiar :) Agreed that a litle extra cost for not completelly aligned objetives is worth the added stability of the code. > > If there is anything I can do to help you just let me know. > > =Stefan I'll take a look at the live API. One of my concerns is that being asterisk so general and low level, when you start building compound functionality you end up "fixing" ways of doing things, and then loose generality. E.g. I use IAX agents (mostly) because I found a client for windows and linux that I could change to integrate remote dialing and status. But then now my code expects agent->ip mapping being revealed by iax peering. Many use SIP clients and... That's easy to fix, but just a hint. Enhanced agent states, outgoing call tracking, etc, might be not so easy or posible at all. Back to offer, being here and sharing your code and knowledge is more than what I would ask for :) -Carlos -- Carlos G Mendioroz <tr...@hu...> LW7 EQI Argentina |
From: Stefan R. <ste...@re...> - 2008-02-26 01:58:15
|
Thanks! I've created http://jira.reucon.org/browse/AJ-121 for this and will look at it if I have some spare time. =Stefan Pau Tallada Crespí wrote: > El Monday 18 February 2008 09:19:56 Pau Tallada Crespí va escriure: >> El Friday 15 February 2008 15:24:05 Stefan Reuter va escriure: >>> Pau Tallada Crespí wrote: >>>> If this functionality could be implemented, how would be the best route >>>> to take? >>> I would like to add a getAgent() method to the QueueMemberEntry or a >>> getQueueMemberEntry() to the Agent - or both. >>> Which way would be the best for a user of Asterisk-Java? >> I suppose both would be useful. >> I'll start implementing it now against latest snapshot. >> >> Thanks! > > Implemented and tested. > Summary of changes: > > - New method to AsteriskServer.java: > > /** > * Return the agent with specified location, if exists > * > * @param location > * @return the agent with this location, or null if not exists. > */ > AsteriskAgent getAgentByAgentId(String location); > > > - Implemented getAgentByAgentId on AsteriskServerImpl.java: > > public AsteriskAgent getAgentByAgentId(String location) { > return agentManager.getAgentByAgentId(location); > } > > > - Exported getAgentByAgentId on DefaultAsteriskServer.java: > > public AsteriskAgent getAgentByAgentId(String location) { > return impl.getAgentByAgentId(location); > } > > > - New method to AsteriskQueueMember.java: > > /** > * Returns the agent associated to this entry. > * > * @return the agent associated to this entry, > * or null if is not an agent. > */ > AsteriskAgent getAgent(); > > > - Implement getAgent on AsteriskQueueMemberImpl.java: > > public AsteriskAgent getAgent() { > return getServer().getAgentByAgentId(this.getLocation()); > } > > > I'm attaching a diff. Please, comment. > > Thanks! > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > ------------------------------------------------------------------------ > > _______________________________________________ > Asterisk-java-devel mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-devel -- reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |
From: Stefan R. <ste...@re...> - 2008-02-26 01:55:29
|
Carlos G Mendioroz wrote: > Fine with me. Hope Stefen is ok with us using some list BW for this :) > Current development nickname is Terminus, which already has a sibling > at sourceforge, but related to NMS. TMI for Terminus Management > Interface (the current backend name) seems free. Sounds like an interesting project indeed. It would be great if you could use the live API for this so we can further enhance it. I found myself to reinvent the wheel far to often writing basically the same event parsing/call tracking code over and over again - that's what lead me to the live API :) If there is anything I can do to help you just let me know. =Stefan -- reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |
From: Wayne S. <wsc...@ge...> - 2008-02-26 01:03:03
|
Hello, Not sure if I'm doing this correctly. (note .helper is just a php page renamed) When I'm on the server this seems to execute fine via the asterisk manager, but doesn't seem to fire when i do it remote thru the manager managerConnection.login(); commandAction = new CommandAction("! ./s3restore-callagixml.helper callagixml/" + callagixml); cr = (CommandResponse) managerConnection.sendAction(commandAction); managerConnection.logoff(); Thanks for your help! Wayne Scholar wsc...@ge... www.getabby.com |
From: Carlos G M. <tr...@hu...> - 2008-02-19 16:43:25
|
Fine with me. Hope Stefen is ok with us using some list BW for this :) Current development nickname is Terminus, which already has a sibling at sourceforge, but related to NMS. TMI for Terminus Management Interface (the current backend name) seems free. As I said, this is work in progress, but if we can keep it general, may be a good thing to share. -Carlos Martin Smith @ 19/02/2008 13:41 -0200 dixit: > Hi Carlos, > > I'm definitely interested. I think it would also be interesting to start > some sort of F/OSS project for this kind of thing -- mostly listening to > events from Asterisk and generating statistics and realtime "dashboards" > and whatnot. I'd love to see what other folks are up to in this area :) > > Martin Smith, Systems Developer > ma...@be... > Bureau of Economic and Business Research > University of Florida > (352) 392-0171 Ext. 221 > >> -----Original Message----- >> From: ast...@li... >> [mailto:ast...@li...] On >> Behalf Of Carlos G Mendioroz >> Subject: Re: [Asterisk-java-devel] AgentState RINGING >> >> BTW, I've done a small app to monitor agents which is based >> on a backend >> daemon that uses Asterisk Java to track manager events (mostly) and >> a frontend to show agents and queues, the idea being that the daemon >> will grow to generate call center metrics that are lacking AFAIK from >> asterisk (TT average/max, TTA average/max, presented/handled/abandon >> counts for queues and agents, etc.) >> >> If there is interest, I can share the code, or if there is an argument >> to integrate this to Live API, I would like to hear it. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Asterisk-java-devel mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-devel > -- Carlos G Mendioroz <tr...@hu...> LW7 EQI Argentina |
From: Martin S. <ma...@be...> - 2008-02-19 15:42:04
|
Hi Carlos, I'm definitely interested. I think it would also be interesting to start some sort of F/OSS project for this kind of thing -- mostly listening to events from Asterisk and generating statistics and realtime "dashboards" and whatnot. I'd love to see what other folks are up to in this area :) Martin Smith, Systems Developer ma...@be... Bureau of Economic and Business Research University of Florida (352) 392-0171 Ext. 221 > -----Original Message----- > From: ast...@li... > [mailto:ast...@li...] On > Behalf Of Carlos G Mendioroz > Subject: Re: [Asterisk-java-devel] AgentState RINGING > > BTW, I've done a small app to monitor agents which is based > on a backend > daemon that uses Asterisk Java to track manager events (mostly) and > a frontend to show agents and queues, the idea being that the daemon > will grow to generate call center metrics that are lacking AFAIK from > asterisk (TT average/max, TTA average/max, presented/handled/abandon > counts for queues and agents, etc.) > > If there is interest, I can share the code, or if there is an argument > to integrate this to Live API, I would like to hear it. |
From: Carlos G M. <tr...@hu...> - 2008-02-18 17:08:19
|
Pau Tallada Crespí @ 18/02/2008 14:37 -0200 dixit: > El Monday 18 February 2008 16:02:30 Carlos G Mendioroz va escriure: >> Paul, >> I'm not using Live API, but I guess it would be helpful to know what >> kind of agent. You say that the call stops ringing at the agent but the >> state remains ringing, right ? > Yes, the agent is a king of extensions that can be associated to any number of > queues and pick up calls from those queues. Well, there seem to be many ways to implement queues, I'm not 100% sure I know all of them. CallBack agents, which is what I use, seem to have different functionality depending on the underlying channel (SIP/IAX/Zap/???) > It's interesting to see the state of the agents in real-time, whos is idle, > who is on call, who is ringing, etc. >> BTW, I've done a small app to monitor agents which is based on a backend >> daemon that uses Asterisk Java to track manager events (mostly) and >> a frontend to show agents and queues, the idea being that the daemon >> will grow to generate call center metrics that are lacking AFAIK from >> asterisk (TT average/max, TTA average/max, presented/handled/abandon >> counts for queues and agents, etc.) > That's very interesting. It's a pity Asterisk don't provide those statistics > itself, it would be optimal. >> If there is interest, I can share the code, or if there is an argument >> to integrate this to Live API, I would like to hear it. > Well, I don't know if this kind of statistics-collecting-monitor functionality > will belong to Asterisk-Java, but I'm pretty sure it could be implemented > with the Live API when its feature complete. > > So do you use Manager API directly and use all the events generated to keep > the agent status? Is'nt it some of an overkill? Can you reliably get agent > status? I don't see why it would be an overkill. You have to have the events anyway. Yes, I get the states ok. There is an "intermediate" state in 1.2, when the queue checks the state of the would be selected agent that I expose. 1.2 selects agents one at a time, I haven't moved to 1.4 yet. I kind of extend what's related to the agent, that was the main reason not to go inside Asterisk-Java (I agree that Live API should follow aseterisk semantics closely). E.g. my "agents" do have associated IP address, and state, which now tracks being paused or in "out states". I plan to have "outgoing" state as soon as I settle in a model that handles the multi line problem nicely... I have not documented this much, but I could. -Carlos > > Thanks! >> Frontend/backend interface is plain text over TCP, for easy debugging >> and framework decoupling, even though both are 100% java for the time >> being: $ telnet doors 4300 >> Trying 172.30.0.1... >> Connected to doors. >> Escape character is '^]'. >> A|2000|Carlos Mendioroz|-|-|gone|||-|-|0 >> A|2001|Agent 2001|-|-|gone|||-|-|0 >> Q|testQueue|0|0|0|0|0|0 >> L|1203346873 >> >> Regards, >> -Carlos >> >> Pau Tallada Crespí @ 18/02/2008 12:39 -0200 dixit: >>> Hi! >>> >>> I'm using latest Asterisk-Java snapshot. >>> I'm developing a simple callcenter monitoring app using Live API. >>> Trying to monitor Agents state, sometimes an Agent gets stuck in RINGING >>> state. >>> This happens when this Agents receives a call from a queue but the party >>> doing the call hangs up before the agent picks up the all. If the agent >>> picks the call or hangs-up the state updates correctly. >>> >>> Is there any problem with this state? Is this a problem of Asterisk event >>> handling? Or it is my fault? >>> >>> The code is similar to this... >>> >>> public class AgentPanel >>> extends javax.swing.JPanel >>> implements PropertyChangeListener >>> { >>> >>> private AsteriskAgent agent; >>> >>> public AgentPanel(AsteriskAgent agent) { >>> initComponents(); >>> this.agent = agent; >>> initialize(); >>> } >>> >>> private void initialize() >>> { >>> agent.addPropertyChangeListener("state", this); >>> } >>> >>> public void propertyChange(PropertyChangeEvent e) { >>> if ((e.getOldValue() instanceof AgentState) || >>> (e.getNewValue() instanceof AgentState)) >>> { >>> handleAgentStateChange(e); >>> } >>> } >>> >>> private void handleAgentStateChange(PropertyChangeEvent e) >>> { >>> updateState(); >>> } >>> >>> [...] >>> >>> } >>> >>> Thanks in advance! > > > -- Carlos G Mendioroz <tr...@hu...> LW7 EQI Argentina |
From: Pau T. C. <pta...@ru...> - 2008-02-18 16:37:29
|
El Monday 18 February 2008 16:02:30 Carlos G Mendioroz va escriure: > Paul, > I'm not using Live API, but I guess it would be helpful to know what > kind of agent. You say that the call stops ringing at the agent but the > state remains ringing, right ? Yes, the agent is a king of extensions that can be associated to any number of queues and pick up calls from those queues. It's interesting to see the state of the agents in real-time, whos is idle, who is on call, who is ringing, etc. > > BTW, I've done a small app to monitor agents which is based on a backend > daemon that uses Asterisk Java to track manager events (mostly) and > a frontend to show agents and queues, the idea being that the daemon > will grow to generate call center metrics that are lacking AFAIK from > asterisk (TT average/max, TTA average/max, presented/handled/abandon > counts for queues and agents, etc.) That's very interesting. It's a pity Asterisk don't provide those statistics itself, it would be optimal. > > If there is interest, I can share the code, or if there is an argument > to integrate this to Live API, I would like to hear it. Well, I don't know if this kind of statistics-collecting-monitor functionality will belong to Asterisk-Java, but I'm pretty sure it could be implemented with the Live API when its feature complete. So do you use Manager API directly and use all the events generated to keep the agent status? Is'nt it some of an overkill? Can you reliably get agent status? Thanks! > > Frontend/backend interface is plain text over TCP, for easy debugging > and framework decoupling, even though both are 100% java for the time > being: $ telnet doors 4300 > Trying 172.30.0.1... > Connected to doors. > Escape character is '^]'. > A|2000|Carlos Mendioroz|-|-|gone|||-|-|0 > A|2001|Agent 2001|-|-|gone|||-|-|0 > Q|testQueue|0|0|0|0|0|0 > L|1203346873 > > Regards, > -Carlos > > Pau Tallada Crespí @ 18/02/2008 12:39 -0200 dixit: > > Hi! > > > > I'm using latest Asterisk-Java snapshot. > > I'm developing a simple callcenter monitoring app using Live API. > > Trying to monitor Agents state, sometimes an Agent gets stuck in RINGING > > state. > > This happens when this Agents receives a call from a queue but the party > > doing the call hangs up before the agent picks up the all. If the agent > > picks the call or hangs-up the state updates correctly. > > > > Is there any problem with this state? Is this a problem of Asterisk event > > handling? Or it is my fault? > > > > The code is similar to this... > > > > public class AgentPanel > > extends javax.swing.JPanel > > implements PropertyChangeListener > > { > > > > private AsteriskAgent agent; > > > > public AgentPanel(AsteriskAgent agent) { > > initComponents(); > > this.agent = agent; > > initialize(); > > } > > > > private void initialize() > > { > > agent.addPropertyChangeListener("state", this); > > } > > > > public void propertyChange(PropertyChangeEvent e) { > > if ((e.getOldValue() instanceof AgentState) || > > (e.getNewValue() instanceof AgentState)) > > { > > handleAgentStateChange(e); > > } > > } > > > > private void handleAgentStateChange(PropertyChangeEvent e) > > { > > updateState(); > > } > > > > [...] > > > > } > > > > Thanks in advance! -- Pau Tallada Crespí RunSolutions Open Source IT Consulting |
From: Carlos G M. <tr...@hu...> - 2008-02-18 15:02:48
|
Paul, I'm not using Live API, but I guess it would be helpful to know what kind of agent. You say that the call stops ringing at the agent but the state remains ringing, right ? BTW, I've done a small app to monitor agents which is based on a backend daemon that uses Asterisk Java to track manager events (mostly) and a frontend to show agents and queues, the idea being that the daemon will grow to generate call center metrics that are lacking AFAIK from asterisk (TT average/max, TTA average/max, presented/handled/abandon counts for queues and agents, etc.) If there is interest, I can share the code, or if there is an argument to integrate this to Live API, I would like to hear it. Frontend/backend interface is plain text over TCP, for easy debugging and framework decoupling, even though both are 100% java for the time being: $ telnet doors 4300 Trying 172.30.0.1... Connected to doors. Escape character is '^]'. A|2000|Carlos Mendioroz|-|-|gone|||-|-|0 A|2001|Agent 2001|-|-|gone|||-|-|0 Q|testQueue|0|0|0|0|0|0 L|1203346873 Regards, -Carlos Pau Tallada Crespí @ 18/02/2008 12:39 -0200 dixit: > Hi! > > I'm using latest Asterisk-Java snapshot. > I'm developing a simple callcenter monitoring app using Live API. > Trying to monitor Agents state, sometimes an Agent gets stuck in RINGING > state. > This happens when this Agents receives a call from a queue but the party doing > the call hangs up before the agent picks up the all. If the agent picks the > call or hangs-up the state updates correctly. > > Is there any problem with this state? Is this a problem of Asterisk event > handling? Or it is my fault? > > The code is similar to this... > > public class AgentPanel > extends javax.swing.JPanel > implements PropertyChangeListener > { > > private AsteriskAgent agent; > > public AgentPanel(AsteriskAgent agent) { > initComponents(); > this.agent = agent; > initialize(); > } > > private void initialize() > { > agent.addPropertyChangeListener("state", this); > } > > public void propertyChange(PropertyChangeEvent e) { > if ((e.getOldValue() instanceof AgentState) || > (e.getNewValue() instanceof AgentState)) > { > handleAgentStateChange(e); > } > } > > private void handleAgentStateChange(PropertyChangeEvent e) > { > updateState(); > } > > [...] > > } > > Thanks in advance! > -- Carlos G Mendioroz <tr...@hu...> LW7 EQI Argentina |
From: Pau T. C. <pta...@ru...> - 2008-02-18 14:39:22
|
Hi! I'm using latest Asterisk-Java snapshot. I'm developing a simple callcenter monitoring app using Live API. Trying to monitor Agents state, sometimes an Agent gets stuck in RINGING state. This happens when this Agents receives a call from a queue but the party doing the call hangs up before the agent picks up the all. If the agent picks the call or hangs-up the state updates correctly. Is there any problem with this state? Is this a problem of Asterisk event handling? Or it is my fault? The code is similar to this... public class AgentPanel extends javax.swing.JPanel implements PropertyChangeListener { private AsteriskAgent agent; public AgentPanel(AsteriskAgent agent) { initComponents(); this.agent = agent; initialize(); } private void initialize() { agent.addPropertyChangeListener("state", this); } public void propertyChange(PropertyChangeEvent e) { if ((e.getOldValue() instanceof AgentState) || (e.getNewValue() instanceof AgentState)) { handleAgentStateChange(e); } } private void handleAgentStateChange(PropertyChangeEvent e) { updateState(); } [...] } Thanks in advance! -- Pau Tallada Crespí RunSolutions Open Source IT Consulting |
From: Pau T. C. <pta...@ru...> - 2008-02-18 11:58:52
|
El Monday 18 February 2008 09:19:56 Pau Tallada Crespí va escriure: > El Friday 15 February 2008 15:24:05 Stefan Reuter va escriure: > > Pau Tallada Crespí wrote: > > > If this functionality could be implemented, how would be the best route > > > to take? > > > > I would like to add a getAgent() method to the QueueMemberEntry or a > > getQueueMemberEntry() to the Agent - or both. > > Which way would be the best for a user of Asterisk-Java? > > I suppose both would be useful. > I'll start implementing it now against latest snapshot. > > Thanks! Implemented and tested. Summary of changes: - New method to AsteriskServer.java: /** * Return the agent with specified location, if exists * * @param location * @return the agent with this location, or null if not exists. */ AsteriskAgent getAgentByAgentId(String location); - Implemented getAgentByAgentId on AsteriskServerImpl.java: public AsteriskAgent getAgentByAgentId(String location) { return agentManager.getAgentByAgentId(location); } - Exported getAgentByAgentId on DefaultAsteriskServer.java: public AsteriskAgent getAgentByAgentId(String location) { return impl.getAgentByAgentId(location); } - New method to AsteriskQueueMember.java: /** * Returns the agent associated to this entry. * * @return the agent associated to this entry, * or null if is not an agent. */ AsteriskAgent getAgent(); - Implement getAgent on AsteriskQueueMemberImpl.java: public AsteriskAgent getAgent() { return getServer().getAgentByAgentId(this.getLocation()); } I'm attaching a diff. Please, comment. Thanks! -- Pau Tallada Crespí RunSolutions Open Source IT Consulting |
From: Pau T. C. <pta...@ru...> - 2008-02-18 08:20:25
|
El Friday 15 February 2008 15:24:05 Stefan Reuter va escriure: > Pau Tallada Crespí wrote: > > If this functionality could be implemented, how would be the best route > > to take? > > I would like to add a getAgent() method to the QueueMemberEntry or a > getQueueMemberEntry() to the Agent - or both. > Which way would be the best for a user of Asterisk-Java? > I suppose both would be useful. I'll start implementing it now against latest snapshot. Thanks! -- Pau Tallada Crespí RunSolutions Open Source IT Consulting |
From: Stefan R. <ste...@re...> - 2008-02-15 14:24:18
|
Pau Tallada Crespí wrote: > If this functionality could be implemented, how would be the best route to > take? I would like to add a getAgent() method to the QueueMemberEntry or a getQueueMemberEntry() to the Agent - or both. Which way would be the best for a user of Asterisk-Java? =Stefan -- reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |
From: Pau T. C. <pta...@ru...> - 2008-02-15 14:13:10
|
Hi! A few days ago, some people raised on asterisk-java-user list the question whether its possible to retrieve the list of AsteriskAgents associated with an AsteriskQueue. If I'm not wrong, the agentId from an Agent and the location of a QueueMemberEntry are equivalent, in the case of Agents. We are developing an open-source callcenter status viewer, and to correctly view the status of a Queue, we would surely need its Agents. If this functionality could be implemented, how would be the best route to take? Thank you for your advice! -- Pau Tallada Crespí RunSolutions Open Source IT Consulting |
From: Thomas K. <tho...@ac...> - 2008-01-29 07:35:06
|
On Tuesday 29 January 2008 02:28:46 Stefan Reuter wrote: > Is the agent actually logged in? Yes, the agent is logged in. Thomas -- Thomas Kenner |
From: Stefan R. <ste...@re...> - 2008-01-29 01:28:58
|
Thomas Kenner wrote: > app_dial.c:1106 dial_exec_full: Unable to create channel of type 'Agent= '=20 > (cause 17 - User busy) Is the agent actually logged in? =3DStefan --=20 reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |