asterisk-java-users Mailing List for Asterisk-Java Library (Page 11)
Brought to you by:
srt
You can subscribe to this list here.
2005 |
Jan
|
Feb
(8) |
Mar
(33) |
Apr
(36) |
May
(19) |
Jun
(21) |
Jul
(53) |
Aug
(30) |
Sep
(36) |
Oct
(34) |
Nov
(43) |
Dec
(72) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(123) |
Feb
(75) |
Mar
(86) |
Apr
(46) |
May
(41) |
Jun
(29) |
Jul
(76) |
Aug
(38) |
Sep
(39) |
Oct
(68) |
Nov
(16) |
Dec
(17) |
2007 |
Jan
(34) |
Feb
(18) |
Mar
(39) |
Apr
(30) |
May
(20) |
Jun
(10) |
Jul
(59) |
Aug
(54) |
Sep
(60) |
Oct
(22) |
Nov
(14) |
Dec
(10) |
2008 |
Jan
(34) |
Feb
(67) |
Mar
(65) |
Apr
(67) |
May
(60) |
Jun
(51) |
Jul
(88) |
Aug
(75) |
Sep
(47) |
Oct
(143) |
Nov
(54) |
Dec
(42) |
2009 |
Jan
(46) |
Feb
(80) |
Mar
(162) |
Apr
(159) |
May
(200) |
Jun
(34) |
Jul
(46) |
Aug
(59) |
Sep
(5) |
Oct
(35) |
Nov
(73) |
Dec
(30) |
2010 |
Jan
(23) |
Feb
(50) |
Mar
(8) |
Apr
(24) |
May
(19) |
Jun
(49) |
Jul
(56) |
Aug
(35) |
Sep
(26) |
Oct
(79) |
Nov
(39) |
Dec
(34) |
2011 |
Jan
(27) |
Feb
(22) |
Mar
(28) |
Apr
(12) |
May
(16) |
Jun
(19) |
Jul
(1) |
Aug
(64) |
Sep
(19) |
Oct
(11) |
Nov
(17) |
Dec
(12) |
2012 |
Jan
(6) |
Feb
(8) |
Mar
(15) |
Apr
(43) |
May
(41) |
Jun
(14) |
Jul
(32) |
Aug
(3) |
Sep
(4) |
Oct
(7) |
Nov
(11) |
Dec
(11) |
2013 |
Jan
(35) |
Feb
(11) |
Mar
(23) |
Apr
(25) |
May
(37) |
Jun
(47) |
Jul
(25) |
Aug
(21) |
Sep
|
Oct
(1) |
Nov
(9) |
Dec
|
2014 |
Jan
(26) |
Feb
(2) |
Mar
(18) |
Apr
(41) |
May
(7) |
Jun
(7) |
Jul
(24) |
Aug
(5) |
Sep
(6) |
Oct
(8) |
Nov
(9) |
Dec
(7) |
2015 |
Jan
(7) |
Feb
(15) |
Mar
(8) |
Apr
(12) |
May
(7) |
Jun
|
Jul
|
Aug
(5) |
Sep
(1) |
Oct
(3) |
Nov
(30) |
Dec
(3) |
2016 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
|
May
(9) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
(4) |
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Yves A. <yv...@gm...> - 2014-03-11 15:49:57
|
Hi, Just to make sure I understand you right...: 1.) Phone x calls into your conference via pstn 2.) you want to "hijack" the channel or superimpose DTMF ? If you use asterisk 11.x you could do some specials like this, but to call via java into the conference and send the tones would be easier... or is it a constraint, that other users in the conference must not hear the tones? regards, yves Am 11.03.2014 15:03, schrieb Jorge: > Hi: > > I have the next scenario. I am triying to call from pstn to a > conference in Asterisk server. I have set up the dial plan so the main > telephone number is the the conference so calling for example > 555-555555 you get into the conference. > > My objective is capturing this channel from java to send tones from > Asterisk to the phone. What I am triying to do is the next thing : > > managerEventListener = new ManagerEventListener(){ > public void onManagerEvent(ManagerEvent event) { > if(event instanceof MeetMeJoinEvent ){ > MeetMeJoinEvent meetMeJoinEvent = > (MeetMeJoinEvent) event; > String server = meetMeJoinEvent.getServer(); > meetMeJoinEvent.getCallerIdNum(); > System.out.println(meetMeJoinEvent.getChannel()); > try{ > AsteriskChannel asteriskChannel = > asteriskServer.getChannelByName(meetMeJoinEvent.getChannel()); > System.out.println(asteriskChannel); > //asteriskChannel.playDtmf("1"); > System.out.println("terminado"); > }catch(ManagerCommunicationException e){ > logger.error("Error al obtener el canal " + e); > System.out.println("Error " + e); > } > } > } > }; > > That is to say I am capturing the MeetMeJoinEvent to see when this > phone has been connected to the conference. With this event I am able > to get the channel name and with the instruction the channel structure > but I get : "org.asteriskjava.live.ManagerCommunicationException: > Timeout waiting for events from StatusAction" > > The great thing is that when I originate the call from Asterisk with > "asteriskChannel = asteriskServer.originateToExtension("DAHDI/g0/" + > numero, contexto , conferenciaNumeroSip, 1, 10000);" it is able to get > the channel. > > Could you let me know what I am doing wrong? > > Thank you very much for your help. > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Jorge <gus...@gm...> - 2014-03-11 14:03:37
|
Hi: I have the next scenario. I am triying to call from pstn to a conference in Asterisk server. I have set up the dial plan so the main telephone number is the the conference so calling for example 555-555555 you get into the conference. My objective is capturing this channel from java to send tones from Asterisk to the phone. What I am triying to do is the next thing : managerEventListener = new ManagerEventListener(){ public void onManagerEvent(ManagerEvent event) { if(event instanceof MeetMeJoinEvent ){ MeetMeJoinEvent meetMeJoinEvent = (MeetMeJoinEvent) event; String server = meetMeJoinEvent.getServer(); meetMeJoinEvent.getCallerIdNum(); System.out.println(meetMeJoinEvent.getChannel()); try{ AsteriskChannel asteriskChannel = asteriskServer.getChannelByName(meetMeJoinEvent.getChannel()); System.out.println(asteriskChannel); //asteriskChannel.playDtmf("1"); System.out.println("terminado"); }catch(ManagerCommunicationException e){ logger.error("Error al obtener el canal " + e); System.out.println("Error " + e); } } } }; That is to say I am capturing the MeetMeJoinEvent to see when this phone has been connected to the conference. With this event I am able to get the channel name and with the instruction the channel structure but I get : "org.asteriskjava.live.ManagerCommunicationException: Timeout waiting for events from StatusAction" The great thing is that when I originate the call from Asterisk with "asteriskChannel = asteriskServer.originateToExtension("DAHDI/g0/" + numero, contexto , conferenciaNumeroSip, 1, 10000);" it is able to get the channel. Could you let me know what I am doing wrong? Thank you very much for your help. |
From: Torbjörn A. <tor...@gm...> - 2014-02-20 12:30:45
|
Hello everyone! I would only like know what versions of Asterisk are supported when using Asterisk-Java? I looked at the javadocs and saw that there are events in Asterisk 12 that do not have corresponding classes. This was just a basic check, so of course may I have missed something. I will use both AMI and FastAGI, but I am concerned about version compatibility. BR, Torbjörn Abrahamsson |
From: Daniele R. <dan...@gm...> - 2014-02-07 15:00:40
|
Hi, I've a very strange behaviour on OriginateAction using the code I'm yet using in another application where works fine. I create a OriginateAction: OriginateAction action = new OriginateAction(); action.setChannel("SIP/provider/39123456"); action.setContext("test"); action.setExten("s"); action.setPriority(1); action.setCallerId(callerId); action.setTimeout(asteriskTimeout); asteriskServer.originateAsync(action, new MyOriginateCallback(call)); When it try to make the call he return always this exception: 07/02/2014 15:51:30 ERROR AsteriskManager:349 - OnFailure(...)' telefonata #1 07/02/2014 15:51:30 ERROR AsteriskManager:350 - org.asteriskjava.live.NoSuchChannelException: Channel 'SIP/provider/39123456' is not available at org.asteriskjava.live.internal.AsteriskServerImpl.handleOriginateEvent(AsteriskServerImpl.java:1116) at org.asteriskjava.live.internal.AsteriskServerImpl.onManagerEvent(AsteriskServerImpl.java:1004) at org.asteriskjava.manager.ManagerEventListenerProxy$1.run(ManagerEventListenerProxy.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Using Asterisk's cli: channel originate SIP/provider/39123456 extension s@test instead all works fine!! The other class that works is using the same asterisk machine. So I think that is not a problem of Asterisk. The only difference from the two callses if that this new one is managed directly from spring: @Component public class AsteriskManager { @PostConstruct public void start() { log.info("Avvio di AsteriskManager..."); try { ManagerConnectionFactory factory = new ManagerConnectionFactory(host, port, username, password); this.managerConnection = factory.createManagerConnection(); asteriskServer = new DefaultAsteriskServer(managerConnection); asteriskServer.initialize(); log.info("Creata connessione al server Asterisk, stato connessione: " + managerConnection.getState()); } catch (Exception e) { log.error("", e); } } I'm using this in my pom.xml <dependency> <groupId>org.asteriskjava</groupId> <artifactId>asterisk-java</artifactId> <version>1.0.0.M3</version> </dependency> I hope in your suggestion. Thanks -- Daniele Renda |
From: Artur T. <ar...@ca...> - 2014-01-31 16:53:14
|
ok, have a good holidays :) I have some time for next question now On Fri, Jan 31, 2014 at 6:48 PM, Yves A. <yv...@gm...> wrote: > Hi, > > there is no generic approach for any purpose on the channels... it depends. > "injecting a sound" in an ongoing call e.g. is "not possible" the easy > way... but as always, there are workarounds if you do not want to put hands > on asterisk -c-code... > (btw.... which asterisk are you using??? take a look at the latest 11.x > branch... really nice features are added compared to 1.6 or 1.8) > the easiest way for "adding sound" is to transfer both channels into a > conference (set with q to be quiet and not to hear meetme announcements)... > then you can > add any call from your dialplan into this conference and play whatever > sound you like and any in the conference can hear ... it would even be > possible to play the > audio to only one channel.... > you can also put your agi-call and the voice call into the meetme room > from the beginning... then you do not have to look for channels and some > things might become > easier... > > I really have to go now... my bus is leaving in an hour ... see u later... > 10 feb. > > yves > > > Am 31.01.2014 17:11, schrieb Artur Tamazyan: > > The "thing" is a java application. Currently I was able to get the needed > channel (it looks like SIP/192.168.220.14:52868-00000008). Can you tell > how can I for example play a sound or at least NoOp to it using AMI? should > I use OriginateAction to the above channel with NoOp specified as an > application? I just don't see the way to send commands to channel using AMI > and channel string above. > > > On Fri, Jan 31, 2014 at 6:05 PM, Yves A. <yv...@gm...> wrote: > >> oops... accidentially sent before finish..... >> >> so... how do you control the "thing" that should be able to do the call >> stuff?? some kind of webservice... anyway... >> if such an action is triggered or required I´d just connect to asterisk >> and fire any action with the AMI... >> the only thing you have to now is the channel of the call, you want to >> "manipulate".... you can do anything >> (ok... depending on your asterisk version, dialplan, skill etc.). >> if you don´t know the call, you can iterate through any open channel to >> identify the one you need, or you >> store the channel in a variable, that is set upon callstart and that you >> can read from another ami connection. >> you could use global or channel-variables or db-entrys for this purpose. >> >> right now, i am going to holidays for 10 days, so i can´t assist you the >> next time... if you want further tips on this >> topic after that time.... just write to the list.... >> >> regards, >> yves >> >> Am 31.01.2014 17:00, schrieb Yves A.: >> >> Hi, >> >> how do you "control", >> >> >> >> >> >> >> >> >> >> >> >> >> ,, >> , >> >> >> , >> >> >> >> >> >> >> Am 30.01.2014 23:18, schrieb Artur Tamazyan: >> >> Let's say we receive a call and answer it. We know that it'll be a long >> call and that we want to be able to do some things with it, like: join >> conferences, leave that conferences, play sounds and do other stuff. So >> ideally we should be able to execute any asterisk application on this >> call's channel. What's the best way to do this? >> >> What I was trying to do is to execute AGI(..) to pass control to java. >> In normal situation it'll trigger the service() method of some AgiScript >> and return. But I prevent it from returning to keep the channel open for >> our commands. >> >> Regarding AMI: as I understood we can execute apps or set contexts only >> during call origination and we can't just execute smth for an already >> active call. If I'm not right please give an example of how to do it. >> >> I hope it makes the question clearer. I can give more details if you >> need. And thanks for your time. >> >> >> On Thu, Jan 30, 2014 at 10:52 PM, Yves A. <yv...@gm...> wrote: >> >>> Hi, >>> >>> I think, I do not understand your question... could you please explain >>> your scenario a bit more? >>> Holding a seperate channel for controlling another channels seems a bit >>> overkill... so you must have special needs >>> that I do not see abd that prevent you to go the "normal" way via AMI... >>> >>> yves >>> >>> Am 30.01.2014 13:40, schrieb Artur Tamazyan: >>> >>> Hi guys, >>> >>> In our application we want to be able to send commands to a specific >>> asterisk channel during a long period of time. It's a long-lasting call >>> that we want to manipulate (may last for few hours). >>> >>> One of ways of approaching it was to make an AGI call from asterisk >>> which will create an AgiScript that will hold an AgiChannel instance that >>> we'll use to send our commands. >>> I know that the channel is closed once AgiScript#serve() method is >>> finished. As a workaround we pause the serve()'s thread to keep AgiChannel >>> open as long as we need. Should we look out for any timeouts that will >>> eventually close the channel automatically? Do we need to send at least >>> NoOp periodiacally to keep it open? >>> >>> Overall this doesn't look like a good solution anyway so I want to >>> ask if we have any other options to achieve our goal? >>> >>> I can provide more info or code if needed. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> WatchGuard Dimension instantly turns raw network data into actionable >>> security intelligence. It gives you real-time visual feedback on key >>> security issues and trends. Skip the complicated setup - simply import >>> a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >>> >>> >>> >>> _______________________________________________ >>> Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> WatchGuard Dimension instantly turns raw network data into actionable >>> security intelligence. It gives you real-time visual feedback on key >>> security issues and trends. Skip the complicated setup - simply import >>> a virtual appliance and go from zero to informed in seconds. >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Asterisk-java-users mailing list >>> Ast...@li... >>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >>> >>> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> >> >> >> _______________________________________________ >> Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds. > > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Yves A. <yv...@gm...> - 2014-01-31 16:48:13
|
Hi, there is no generic approach for any purpose on the channels... it depends. "injecting a sound" in an ongoing call e.g. is "not possible" the easy way... but as always, there are workarounds if you do not want to put hands on asterisk -c-code... (btw.... which asterisk are you using??? take a look at the latest 11.x branch... really nice features are added compared to 1.6 or 1.8) the easiest way for "adding sound" is to transfer both channels into a conference (set with q to be quiet and not to hear meetme announcements)... then you can add any call from your dialplan into this conference and play whatever sound you like and any in the conference can hear ... it would even be possible to play the audio to only one channel.... you can also put your agi-call and the voice call into the meetme room from the beginning... then you do not have to look for channels and some things might become easier... I really have to go now... my bus is leaving in an hour ... see u later... 10 feb. yves Am 31.01.2014 17:11, schrieb Artur Tamazyan: > The "thing" is a java application. Currently I was able to get the > needed channel (it looks like SIP/192.168.220.14:52868-00000008). Can > you tell how can I for example play a sound or at least NoOp to it > using AMI? should I use OriginateAction to the above channel with NoOp > specified as an application? I just don't see the way to send commands > to channel using AMI and channel string above. > > > On Fri, Jan 31, 2014 at 6:05 PM, Yves A. <yv...@gm... > <mailto:yv...@gm...>> wrote: > > oops... accidentially sent before finish..... > > so... how do you control the "thing" that should be able to do the > call stuff?? some kind of webservice... anyway... > if such an action is triggered or required I´d just connect to > asterisk and fire any action with the AMI... > the only thing you have to now is the channel of the call, you > want to "manipulate".... you can do anything > (ok... depending on your asterisk version, dialplan, skill etc.). > if you don´t know the call, you can iterate through any open > channel to identify the one you need, or you > store the channel in a variable, that is set upon callstart and > that you can read from another ami connection. > you could use global or channel-variables or db-entrys for this > purpose. > > right now, i am going to holidays for 10 days, so i can´t assist > you the next time... if you want further tips on this > topic after that time.... just write to the list.... > > regards, > yves > > Am 31.01.2014 17:00, schrieb Yves A.: >> Hi, >> >> how do you "control", >> >> >> >> >> >> >> >> >> >> >> >> >> ,, >> , >> >> >> , >> >> >> >> >> >> >> Am 30.01.2014 23:18, schrieb Artur Tamazyan: >>> Let's say we receive a call and answer it. We know that it'll be >>> a long call and that we want to be able to do some things with >>> it, like: join conferences, leave that conferences, play sounds >>> and do other stuff. So ideally we should be able to execute any >>> asterisk application on this call's channel. What's the best way >>> to do this? >>> >>> What I was trying to do is to execute AGI(..) to pass control to >>> java. In normal situation it'll trigger the service() method of >>> some AgiScript and return. But I prevent it from returning to >>> keep the channel open for our commands. >>> >>> Regarding AMI: as I understood we can execute apps or set >>> contexts only during call origination and we can't just execute >>> smth for an already active call. If I'm not right please give an >>> example of how to do it. >>> >>> I hope it makes the question clearer. I can give more details if >>> you need. And thanks for your time. >>> >>> >>> On Thu, Jan 30, 2014 at 10:52 PM, Yves A. <yv...@gm... >>> <mailto:yv...@gm...>> wrote: >>> >>> Hi, >>> >>> I think, I do not understand your question... could you >>> please explain your scenario a bit more? >>> Holding a seperate channel for controlling another channels >>> seems a bit overkill... so you must have special needs >>> that I do not see abd that prevent you to go the "normal" >>> way via AMI... >>> >>> yves >>> >>> Am 30.01.2014 13:40, schrieb Artur Tamazyan: >>>> Hi guys, >>>> >>>> In our application we want to be able to send commands to a >>>> specific asterisk channel during a long period of time. >>>> It's a long-lasting call that we want to manipulate (may >>>> last for few hours). >>>> >>>> One of ways of approaching it was to make an AGI call from >>>> asterisk which will create an AgiScript that will hold an >>>> AgiChannel instance that we'll use to send our commands. >>>> I know that the channel is closed once AgiScript#serve() >>>> method is finished. As a workaround we pause the serve()'s >>>> thread to keep AgiChannel open as long as we need. Should >>>> we look out for any timeouts that will eventually close the >>>> channel automatically? Do we need to send at least NoOp >>>> periodiacally to keep it open? >>>> >>>> Overall this doesn't look like a good solution anyway so I >>>> want to ask if we have any other options to achieve our goal? >>>> >>>> I can provide more info or code if needed. >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> WatchGuard Dimension instantly turns raw network data into actionable >>>> security intelligence. It gives you real-time visual feedback on key >>>> security issues and trends. Skip the complicated setup - simply import >>>> a virtual appliance and go from zero to informed in seconds. >>>> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >>>> >>>> >>>> _______________________________________________ >>>> Asterisk-java-users mailing list >>>> Ast...@li... <mailto:Ast...@li...> >>>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >>> >>> >>> ------------------------------------------------------------------------------ >>> WatchGuard Dimension instantly turns raw network data into >>> actionable >>> security intelligence. It gives you real-time visual >>> feedback on key >>> security issues and trends. Skip the complicated setup - >>> simply import >>> a virtual appliance and go from zero to informed in seconds. >>> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Asterisk-java-users mailing list >>> Ast...@li... >>> <mailto:Ast...@li...> >>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> WatchGuard Dimension instantly turns raw network data into actionable >>> security intelligence. It gives you real-time visual feedback on key >>> security issues and trends. Skip the complicated setup - simply import >>> a virtual appliance and go from zero to informed in seconds. >>> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >>> >>> >>> _______________________________________________ >>> Asterisk-java-users mailing list >>> Ast...@li... <mailto:Ast...@li...> >>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply > import > a virtual appliance and go from zero to informed in seconds. > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > <mailto:Ast...@li...> > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds. > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Artur T. <ar...@ca...> - 2014-01-31 16:11:08
|
The "thing" is a java application. Currently I was able to get the needed channel (it looks like SIP/192.168.220.14:52868-00000008). Can you tell how can I for example play a sound or at least NoOp to it using AMI? should I use OriginateAction to the above channel with NoOp specified as an application? I just don't see the way to send commands to channel using AMI and channel string above. On Fri, Jan 31, 2014 at 6:05 PM, Yves A. <yv...@gm...> wrote: > oops... accidentially sent before finish..... > > so... how do you control the "thing" that should be able to do the call > stuff?? some kind of webservice... anyway... > if such an action is triggered or required I´d just connect to asterisk > and fire any action with the AMI... > the only thing you have to now is the channel of the call, you want to > "manipulate".... you can do anything > (ok... depending on your asterisk version, dialplan, skill etc.). > if you don´t know the call, you can iterate through any open channel to > identify the one you need, or you > store the channel in a variable, that is set upon callstart and that you > can read from another ami connection. > you could use global or channel-variables or db-entrys for this purpose. > > right now, i am going to holidays for 10 days, so i can´t assist you the > next time... if you want further tips on this > topic after that time.... just write to the list.... > > regards, > yves > > Am 31.01.2014 17:00, schrieb Yves A.: > > Hi, > > how do you "control", > > > > > > > > > > > > > ,, > , > > > , > > > > > > > Am 30.01.2014 23:18, schrieb Artur Tamazyan: > > Let's say we receive a call and answer it. We know that it'll be a long > call and that we want to be able to do some things with it, like: join > conferences, leave that conferences, play sounds and do other stuff. So > ideally we should be able to execute any asterisk application on this > call's channel. What's the best way to do this? > > What I was trying to do is to execute AGI(..) to pass control to java. > In normal situation it'll trigger the service() method of some AgiScript > and return. But I prevent it from returning to keep the channel open for > our commands. > > Regarding AMI: as I understood we can execute apps or set contexts only > during call origination and we can't just execute smth for an already > active call. If I'm not right please give an example of how to do it. > > I hope it makes the question clearer. I can give more details if you > need. And thanks for your time. > > > On Thu, Jan 30, 2014 at 10:52 PM, Yves A. <yv...@gm...> wrote: > >> Hi, >> >> I think, I do not understand your question... could you please explain >> your scenario a bit more? >> Holding a seperate channel for controlling another channels seems a bit >> overkill... so you must have special needs >> that I do not see abd that prevent you to go the "normal" way via AMI... >> >> yves >> >> Am 30.01.2014 13:40, schrieb Artur Tamazyan: >> >> Hi guys, >> >> In our application we want to be able to send commands to a specific >> asterisk channel during a long period of time. It's a long-lasting call >> that we want to manipulate (may last for few hours). >> >> One of ways of approaching it was to make an AGI call from asterisk >> which will create an AgiScript that will hold an AgiChannel instance that >> we'll use to send our commands. >> I know that the channel is closed once AgiScript#serve() method is >> finished. As a workaround we pause the serve()'s thread to keep AgiChannel >> open as long as we need. Should we look out for any timeouts that will >> eventually close the channel automatically? Do we need to send at least >> NoOp periodiacally to keep it open? >> >> Overall this doesn't look like a good solution anyway so I want to ask >> if we have any other options to achieve our goal? >> >> I can provide more info or code if needed. >> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> >> >> >> _______________________________________________ >> Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds. > > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Yves A. <yv...@gm...> - 2014-01-31 16:05:23
|
oops... accidentially sent before finish..... so... how do you control the "thing" that should be able to do the call stuff?? some kind of webservice... anyway... if such an action is triggered or required I´d just connect to asterisk and fire any action with the AMI... the only thing you have to now is the channel of the call, you want to "manipulate".... you can do anything (ok... depending on your asterisk version, dialplan, skill etc.). if you don´t know the call, you can iterate through any open channel to identify the one you need, or you store the channel in a variable, that is set upon callstart and that you can read from another ami connection. you could use global or channel-variables or db-entrys for this purpose. right now, i am going to holidays for 10 days, so i can´t assist you the next time... if you want further tips on this topic after that time.... just write to the list.... regards, yves Am 31.01.2014 17:00, schrieb Yves A.: > Hi, > > how do you "control", > > > > > > > > > > > > > ,, > , > > > , > > > > > > > Am 30.01.2014 23:18, schrieb Artur Tamazyan: >> Let's say we receive a call and answer it. We know that it'll be a >> long call and that we want to be able to do some things with it, >> like: join conferences, leave that conferences, play sounds and do >> other stuff. So ideally we should be able to execute any asterisk >> application on this call's channel. What's the best way to do this? >> >> What I was trying to do is to execute AGI(..) to pass control to >> java. In normal situation it'll trigger the service() method of some >> AgiScript and return. But I prevent it from returning to keep the >> channel open for our commands. >> >> Regarding AMI: as I understood we can execute apps or set contexts >> only during call origination and we can't just execute smth for an >> already active call. If I'm not right please give an example of how >> to do it. >> >> I hope it makes the question clearer. I can give more details if you >> need. And thanks for your time. >> >> >> On Thu, Jan 30, 2014 at 10:52 PM, Yves A. <yv...@gm... >> <mailto:yv...@gm...>> wrote: >> >> Hi, >> >> I think, I do not understand your question... could you please >> explain your scenario a bit more? >> Holding a seperate channel for controlling another channels seems >> a bit overkill... so you must have special needs >> that I do not see abd that prevent you to go the "normal" way via >> AMI... >> >> yves >> >> Am 30.01.2014 13:40, schrieb Artur Tamazyan: >>> Hi guys, >>> >>> In our application we want to be able to send commands to a >>> specific asterisk channel during a long period of time. It's a >>> long-lasting call that we want to manipulate (may last for few >>> hours). >>> >>> One of ways of approaching it was to make an AGI call from >>> asterisk which will create an AgiScript that will hold an >>> AgiChannel instance that we'll use to send our commands. >>> I know that the channel is closed once AgiScript#serve() method >>> is finished. As a workaround we pause the serve()'s thread to >>> keep AgiChannel open as long as we need. Should we look out for >>> any timeouts that will eventually close the channel >>> automatically? Do we need to send at least NoOp periodiacally to >>> keep it open? >>> >>> Overall this doesn't look like a good solution anyway so I want >>> to ask if we have any other options to achieve our goal? >>> >>> I can provide more info or code if needed. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> WatchGuard Dimension instantly turns raw network data into actionable >>> security intelligence. It gives you real-time visual feedback on key >>> security issues and trends. Skip the complicated setup - simply import >>> a virtual appliance and go from zero to informed in seconds. >>> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >>> >>> >>> _______________________________________________ >>> Asterisk-java-users mailing list >>> Ast...@li... <mailto:Ast...@li...> >>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply >> import >> a virtual appliance and go from zero to informed in seconds. >> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> <mailto:Ast...@li...> >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds. >> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > |
From: Artur T. <ar...@ca...> - 2014-01-31 16:04:30
|
Hi Yves, please check your last email - it seems corrupt and I'd really like to see what it contained. On Fri, Jan 31, 2014 at 6:00 PM, Yves A. <yv...@gm...> wrote: > Hi, > > how do you "control", > > > > > > > > > > > > > ,, > , > > > , > > > > > > > Am 30.01.2014 23:18, schrieb Artur Tamazyan: > > Let's say we receive a call and answer it. We know that it'll be a long > call and that we want to be able to do some things with it, like: join > conferences, leave that conferences, play sounds and do other stuff. So > ideally we should be able to execute any asterisk application on this > call's channel. What's the best way to do this? > > What I was trying to do is to execute AGI(..) to pass control to java. > In normal situation it'll trigger the service() method of some AgiScript > and return. But I prevent it from returning to keep the channel open for > our commands. > > Regarding AMI: as I understood we can execute apps or set contexts only > during call origination and we can't just execute smth for an already > active call. If I'm not right please give an example of how to do it. > > I hope it makes the question clearer. I can give more details if you > need. And thanks for your time. > > > On Thu, Jan 30, 2014 at 10:52 PM, Yves A. <yv...@gm...> wrote: > >> Hi, >> >> I think, I do not understand your question... could you please explain >> your scenario a bit more? >> Holding a seperate channel for controlling another channels seems a bit >> overkill... so you must have special needs >> that I do not see abd that prevent you to go the "normal" way via AMI... >> >> yves >> >> Am 30.01.2014 13:40, schrieb Artur Tamazyan: >> >> Hi guys, >> >> In our application we want to be able to send commands to a specific >> asterisk channel during a long period of time. It's a long-lasting call >> that we want to manipulate (may last for few hours). >> >> One of ways of approaching it was to make an AGI call from asterisk >> which will create an AgiScript that will hold an AgiChannel instance that >> we'll use to send our commands. >> I know that the channel is closed once AgiScript#serve() method is >> finished. As a workaround we pause the serve()'s thread to keep AgiChannel >> open as long as we need. Should we look out for any timeouts that will >> eventually close the channel automatically? Do we need to send at least >> NoOp periodiacally to keep it open? >> >> Overall this doesn't look like a good solution anyway so I want to ask >> if we have any other options to achieve our goal? >> >> I can provide more info or code if needed. >> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> >> >> >> _______________________________________________ >> Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds. > > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Yves A. <yv...@gm...> - 2014-01-31 16:00:18
|
Hi, how do you "control", ,, , , Am 30.01.2014 23:18, schrieb Artur Tamazyan: > Let's say we receive a call and answer it. We know that it'll be a > long call and that we want to be able to do some things with it, like: > join conferences, leave that conferences, play sounds and do other > stuff. So ideally we should be able to execute any asterisk > application on this call's channel. What's the best way to do this? > > What I was trying to do is to execute AGI(..) to pass control to java. > In normal situation it'll trigger the service() method of some > AgiScript and return. But I prevent it from returning to keep the > channel open for our commands. > > Regarding AMI: as I understood we can execute apps or set contexts > only during call origination and we can't just execute smth for an > already active call. If I'm not right please give an example of how to > do it. > > I hope it makes the question clearer. I can give more details if you > need. And thanks for your time. > > > On Thu, Jan 30, 2014 at 10:52 PM, Yves A. <yv...@gm... > <mailto:yv...@gm...>> wrote: > > Hi, > > I think, I do not understand your question... could you please > explain your scenario a bit more? > Holding a seperate channel for controlling another channels seems > a bit overkill... so you must have special needs > that I do not see abd that prevent you to go the "normal" way via > AMI... > > yves > > Am 30.01.2014 13:40, schrieb Artur Tamazyan: >> Hi guys, >> >> In our application we want to be able to send commands to a >> specific asterisk channel during a long period of time. It's a >> long-lasting call that we want to manipulate (may last for few >> hours). >> >> One of ways of approaching it was to make an AGI call from >> asterisk which will create an AgiScript that will hold an >> AgiChannel instance that we'll use to send our commands. >> I know that the channel is closed once AgiScript#serve() method >> is finished. As a workaround we pause the serve()'s thread to >> keep AgiChannel open as long as we need. Should we look out for >> any timeouts that will eventually close the channel >> automatically? Do we need to send at least NoOp periodiacally to >> keep it open? >> >> Overall this doesn't look like a good solution anyway so I want >> to ask if we have any other options to achieve our goal? >> >> I can provide more info or code if needed. >> >> >> >> ------------------------------------------------------------------------------ >> WatchGuard Dimension instantly turns raw network data into actionable >> security intelligence. It gives you real-time visual feedback on key >> security issues and trends. Skip the complicated setup - simply import >> a virtual appliance and go from zero to informed in seconds. >> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... <mailto:Ast...@li...> >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply > import > a virtual appliance and go from zero to informed in seconds. > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > <mailto:Ast...@li...> > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds. > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Artur T. <ar...@ca...> - 2014-01-30 22:18:49
|
Let's say we receive a call and answer it. We know that it'll be a long call and that we want to be able to do some things with it, like: join conferences, leave that conferences, play sounds and do other stuff. So ideally we should be able to execute any asterisk application on this call's channel. What's the best way to do this? What I was trying to do is to execute AGI(..) to pass control to java. In normal situation it'll trigger the service() method of some AgiScript and return. But I prevent it from returning to keep the channel open for our commands. Regarding AMI: as I understood we can execute apps or set contexts only during call origination and we can't just execute smth for an already active call. If I'm not right please give an example of how to do it. I hope it makes the question clearer. I can give more details if you need. And thanks for your time. On Thu, Jan 30, 2014 at 10:52 PM, Yves A. <yv...@gm...> wrote: > Hi, > > I think, I do not understand your question... could you please explain > your scenario a bit more? > Holding a seperate channel for controlling another channels seems a bit > overkill... so you must have special needs > that I do not see abd that prevent you to go the "normal" way via AMI... > > yves > > Am 30.01.2014 13:40, schrieb Artur Tamazyan: > > Hi guys, > > In our application we want to be able to send commands to a specific > asterisk channel during a long period of time. It's a long-lasting call > that we want to manipulate (may last for few hours). > > One of ways of approaching it was to make an AGI call from asterisk > which will create an AgiScript that will hold an AgiChannel instance that > we'll use to send our commands. > I know that the channel is closed once AgiScript#serve() method is > finished. As a workaround we pause the serve()'s thread to keep AgiChannel > open as long as we need. Should we look out for any timeouts that will > eventually close the channel automatically? Do we need to send at least > NoOp periodiacally to keep it open? > > Overall this doesn't look like a good solution anyway so I want to ask > if we have any other options to achieve our goal? > > I can provide more info or code if needed. > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds.http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds. > > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Yves A. <yv...@gm...> - 2014-01-30 20:52:18
|
Hi, I think, I do not understand your question... could you please explain your scenario a bit more? Holding a seperate channel for controlling another channels seems a bit overkill... so you must have special needs that I do not see abd that prevent you to go the "normal" way via AMI... yves Am 30.01.2014 13:40, schrieb Artur Tamazyan: > Hi guys, > > In our application we want to be able to send commands to a specific > asterisk channel during a long period of time. It's a long-lasting > call that we want to manipulate (may last for few hours). > > One of ways of approaching it was to make an AGI call from asterisk > which will create an AgiScript that will hold an AgiChannel instance > that we'll use to send our commands. > I know that the channel is closed once AgiScript#serve() method is > finished. As a workaround we pause the serve()'s thread to keep > AgiChannel open as long as we need. Should we look out for any > timeouts that will eventually close the channel automatically? Do we > need to send at least NoOp periodiacally to keep it open? > > Overall this doesn't look like a good solution anyway so I want to > ask if we have any other options to achieve our goal? > > I can provide more info or code if needed. > > > > ------------------------------------------------------------------------------ > WatchGuard Dimension instantly turns raw network data into actionable > security intelligence. It gives you real-time visual feedback on key > security issues and trends. Skip the complicated setup - simply import > a virtual appliance and go from zero to informed in seconds. > http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Murthy G. <mga...@nt...> - 2014-01-30 18:58:36
|
Hi Artur We faced a similar situation and successfully handled with the channel variable TIMEOUT(absolute). http://www.voip-info.org/wiki/view/Asterisk+cmd+AbsoluteTimeout Hope this helps ________________________________ From: Artur Tamazyan [mailto:ar...@ca...] Sent: Thursday, January 30, 2014 4:40 AM To: ast...@li... Subject: [Asterisk-java-users] Keeping AgiCahnnel alive for a long time. Hi guys, In our application we want to be able to send commands to a specific asterisk channel during a long period of time. It's a long-lasting call that we want to manipulate (may last for few hours). One of ways of approaching it was to make an AGI call from asterisk which will create an AgiScript that will hold an AgiChannel instance that we'll use to send our commands. I know that the channel is closed once AgiScript#serve() method is finished. As a workaround we pause the serve()'s thread to keep AgiChannel open as long as we need. Should we look out for any timeouts that will eventually close the channel automatically? Do we need to send at least NoOp periodiacally to keep it open? Overall this doesn't look like a good solution anyway so I want to ask if we have any other options to achieve our goal? I can provide more info or code if needed. |
From: Artur T. <ar...@ca...> - 2014-01-30 13:29:25
|
Hi guys, In our application we want to be able to send commands to a specific asterisk channel during a long period of time. It's a long-lasting call that we want to manipulate (may last for few hours). One of ways of approaching it was to make an AGI call from asterisk which will create an AgiScript that will hold an AgiChannel instance that we'll use to send our commands. I know that the channel is closed once AgiScript#serve() method is finished. As a workaround we pause the serve()'s thread to keep AgiChannel open as long as we need. Should we look out for any timeouts that will eventually close the channel automatically? Do we need to send at least NoOp periodiacally to keep it open? Overall this doesn't look like a good solution anyway so I want to ask if we have any other options to achieve our goal? I can provide more info or code if needed. |
From: Chandramouli P <mou...@gm...> - 2014-01-24 06:56:44
|
Hi, Can I add "opalvoip" as a plugin to "Asterisk" (like SpandDSP)? Thank you. Regards, Chandra. |
From: Miguel S. <m.s...@gm...> - 2014-01-20 18:06:04
|
Ok. El 20/01/2014 18:09, "MT" <moh...@gm...> escribió: > thanks miguel for your answer, > I solved my problem with getChannelById(String id) that yves told me. > > regards, > mohsen > > > On Mon, Jan 20, 2014 at 7:33 PM, Miguel Santiago < > m.s...@gm...> wrote: > >> Wich events do you need to manage ? >> El 20/01/2014 11:42, "MT" <moh...@gm...> escribió: >> >>> Hi everyone, >>> I want to use AgiOperations on some events in ManagerEventListener, >>> some of events like NewStateEvent return channel name as string but I >>> want AsteriskChannel to use it for AgiOperations like setting and getting >>> variables on that channel. >>> >>> please help me >>> >>> regards, >>> mohsen >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >>> Learn Why More Businesses Are Choosing CenturyLink Cloud For >>> Critical Workloads, Development Environments & Everything In Between. >>> Get a Quote or Start a Free Trial Today. >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Asterisk-java-users mailing list >>> Ast...@li... >>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >>> >>> >> >> ------------------------------------------------------------------------------ >> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >> Learn Why More Businesses Are Choosing CenturyLink Cloud For >> Critical Workloads, Development Environments & Everything In Between. >> Get a Quote or Start a Free Trial Today. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: MT <moh...@gm...> - 2014-01-20 17:08:30
|
thanks miguel for your answer, I solved my problem with getChannelById(String id) that yves told me. regards, mohsen On Mon, Jan 20, 2014 at 7:33 PM, Miguel Santiago <m.s...@gm...>wrote: > Wich events do you need to manage ? > El 20/01/2014 11:42, "MT" <moh...@gm...> escribió: > >> Hi everyone, >> I want to use AgiOperations on some events in ManagerEventListener, >> some of events like NewStateEvent return channel name as string but I >> want AsteriskChannel to use it for AgiOperations like setting and getting >> variables on that channel. >> >> please help me >> >> regards, >> mohsen >> >> >> >> >> ------------------------------------------------------------------------------ >> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >> Learn Why More Businesses Are Choosing CenturyLink Cloud For >> Critical Workloads, Development Environments & Everything In Between. >> Get a Quote or Start a Free Trial Today. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Miguel S. <m.s...@gm...> - 2014-01-20 16:03:40
|
Wich events do you need to manage ? El 20/01/2014 11:42, "MT" <moh...@gm...> escribió: > Hi everyone, > I want to use AgiOperations on some events in ManagerEventListener, > some of events like NewStateEvent return channel name as string but I want > AsteriskChannel to use it for AgiOperations like setting and getting > variables on that channel. > > please help me > > regards, > mohsen > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: MT <moh...@gm...> - 2014-01-20 15:06:40
|
Hi, I want to use AgiOperations on some events in ManagerEventListener. but as you said there are differences between AsteriskServer and AgiServer, I decide to change my code and use AsteriskChannel instead of AgiChannel. thanks yves for your support. mohsen On Mon, Jan 20, 2014 at 6:13 PM, Yves A. <yv...@gm...> wrote: > Hi, > > I am afraid.... no, as these are completely different "things"... > What is your objective? Surely there is a way round... > > yves > > > > AsteriskChannel: > > Am 20.01.2014 12:40, schrieb MT: > > Dear yves, > is there anyway to convert AsteriskChannel to AgiChannel? > > mohsen > > > On Mon, Jan 20, 2014 at 3:05 PM, MT <moh...@gm...> wrote: > >> Thanks yves, >> you always have a solution for everything. >> >> you are the best. >> >> >> On Mon, Jan 20, 2014 at 2:24 PM, Yves A. <yv...@gm...> wrote: >> >>> Hi, >>> >>> have you tried the method(s) getChannelById(String id) or >>> getChannelByName(String name) from class (Default)AsteriskServer? >>> >>> yves >>> >>> >>> Am 20.01.2014 11:40, schrieb MT: >>> >>> Hi everyone, >>> I want to use AgiOperations on some events in ManagerEventListener, >>> some of events like NewStateEvent return channel name as string but I >>> want AsteriskChannel to use it for AgiOperations like setting and getting >>> variables on that channel. >>> >>> please help me >>> >>> regards, >>> mohsen >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >>> Learn Why More Businesses Are Choosing CenturyLink Cloud For >>> Critical Workloads, Development Environments & Everything In Between. >>> Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >>> >>> >>> >>> _______________________________________________ >>> Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >>> Learn Why More Businesses Are Choosing CenturyLink Cloud For >>> Critical Workloads, Development Environments & Everything In Between. >>> Get a Quote or Start a Free Trial Today. >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Asterisk-java-users mailing list >>> Ast...@li... >>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >>> >>> >> > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Yves A. <yv...@gm...> - 2014-01-20 14:43:13
|
Hi, I am afraid.... no, as these are completely different "things"... What is your objective? Surely there is a way round... yves AsteriskChannel: Am 20.01.2014 12:40, schrieb MT: > Dear yves, > is there anyway to convert AsteriskChannel to AgiChannel? > > mohsen > > > On Mon, Jan 20, 2014 at 3:05 PM, MT <moh...@gm... > <mailto:moh...@gm...>> wrote: > > Thanks yves, > you always have a solution for everything. > > you are the best. > > > On Mon, Jan 20, 2014 at 2:24 PM, Yves A. <yv...@gm... > <mailto:yv...@gm...>> wrote: > > Hi, > > have you tried the method(s) getChannelById(String id) or > getChannelByName(String name) from class (Default)AsteriskServer? > > yves > > > Am 20.01.2014 11:40, schrieb MT: >> Hi everyone, >> I want to use AgiOperations on some events in >> ManagerEventListener, >> some of events like NewStateEvent return channel name as >> string but I want AsteriskChannel to use it for AgiOperations >> like setting and getting variables on that channel. >> >> please help me >> >> regards, >> mohsen >> >> >> >> >> ------------------------------------------------------------------------------ >> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >> Learn Why More Businesses Are Choosing CenturyLink Cloud For >> Critical Workloads, Development Environments & Everything In Between. >> Get a Quote or Start a Free Trial Today. >> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... <mailto:Ast...@li...> >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In > Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > <mailto:Ast...@li...> > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: MT <moh...@gm...> - 2014-01-20 11:41:21
|
Dear yves, is there anyway to convert AsteriskChannel to AgiChannel? mohsen On Mon, Jan 20, 2014 at 3:05 PM, MT <moh...@gm...> wrote: > Thanks yves, > you always have a solution for everything. > > you are the best. > > > On Mon, Jan 20, 2014 at 2:24 PM, Yves A. <yv...@gm...> wrote: > >> Hi, >> >> have you tried the method(s) getChannelById(String id) or >> getChannelByName(String name) from class (Default)AsteriskServer? >> >> yves >> >> >> Am 20.01.2014 11:40, schrieb MT: >> >> Hi everyone, >> I want to use AgiOperations on some events in ManagerEventListener, >> some of events like NewStateEvent return channel name as string but I >> want AsteriskChannel to use it for AgiOperations like setting and getting >> variables on that channel. >> >> please help me >> >> regards, >> mohsen >> >> >> >> >> ------------------------------------------------------------------------------ >> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >> Learn Why More Businesses Are Choosing CenturyLink Cloud For >> Critical Workloads, Development Environments & Everything In Between. >> Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >> >> >> >> _______________________________________________ >> Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> >> >> >> ------------------------------------------------------------------------------ >> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >> Learn Why More Businesses Are Choosing CenturyLink Cloud For >> Critical Workloads, Development Environments & Everything In Between. >> Get a Quote or Start a Free Trial Today. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > |
From: MT <moh...@gm...> - 2014-01-20 11:35:58
|
Thanks yves, you always have a solution for everything. you are the best. On Mon, Jan 20, 2014 at 2:24 PM, Yves A. <yv...@gm...> wrote: > Hi, > > have you tried the method(s) getChannelById(String id) or > getChannelByName(String name) from class (Default)AsteriskServer? > > yves > > > Am 20.01.2014 11:40, schrieb MT: > > Hi everyone, > I want to use AgiOperations on some events in ManagerEventListener, > some of events like NewStateEvent return channel name as string but I > want AsteriskChannel to use it for AgiOperations like setting and getting > variables on that channel. > > please help me > > regards, > mohsen > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |
From: Yves A. <yv...@gm...> - 2014-01-20 10:54:54
|
Hi, have you tried the method(s) getChannelById(String id) or getChannelByName(String name) from class (Default)AsteriskServer? yves Am 20.01.2014 11:40, schrieb MT: > Hi everyone, > I want to use AgiOperations on some events in ManagerEventListener, > some of events like NewStateEvent return channel name as string but I > want AsteriskChannel to use it for AgiOperations like setting and > getting variables on that channel. > > please help me > > regards, > mohsen > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: MT <moh...@gm...> - 2014-01-20 10:41:04
|
Hi everyone, I want to use AgiOperations on some events in ManagerEventListener, some of events like NewStateEvent return channel name as string but I want AsteriskChannel to use it for AgiOperations like setting and getting variables on that channel. please help me regards, mohsen |
From: Jose B. <pe...@gm...> - 2014-01-11 20:51:52
|
Thanks Yves. It is not only "MonitorAction", every Action runs with "timeout exception" although they are executed correctly. Shall I create a Thread like this? protected void handleEvent(NewExtenEvent extevent) { if (exteevent == "something") { // Create new Thread to MonitorAction using same "managerconnection" sendMonitorAction = new Thread() { public void run() { try { managerResponse = managerConnection.sendAction(new MonitorAction(channel, filename, "WAV", true)); } catch(all catches) {} } }; // end_ new_Thread sendMonitorAction.start(); } // end_if } On 11 January 2014 19:14, Yves A. <yv...@gm...> wrote: > Hi, > > I think it may not be a good idea to fire non-asynchronous actions from > within a captured event... you should try to > fire those events in an own thread so that there won´t be any blocking > problems. > I did not check this out, but it may be, that MonitorAction does not > return before recording is complete... this would > also be no problem if the monitoraction was fired in an own thread... > > yves > > Am 11.01.2014 18:02, schrieb Максим Буйлин: > > Hi! it's very strange. I use the one Manager connection for listen the > events and send some actions. > > > 2014/1/9 Jose Baez <pe...@gm...> > >> OK. I found the problem. >> >> If I use "managerconnection" as Eventlistener I cannot sendAction with >> it. >> >> I had to create a second "managerconnection without EventListener >> >> >> ManagerConnectionFactory factory = new >> ManagerConnectionFactory(...) >> this.managerConnection = factory.createManagerConnection(); >> >> ManagerConnectionFactory factory_2 = new >> ManagerConnectionFactory(...) >> this.managerConnection_2 = factory_2.createManagerConnection(); >> >> >> Should I create a second 'factory' as well or would it be enough with: >> >> ManagerConnectionFactory factory = new ManagerConnectionFactory(...) >> >> this.managerConnection = factory.createManagerConnection(); >> this.managerConnection_2 = factory.createManagerConnection(); >> >> >> On 3 January 2014 11:05, Jose Baez <pe...@gm...> wrote: >> >>> Oops! I receive "timeout exceed" exception for every Action. :((( >>> >>> Maybe my code is not properly written to handle Actions and their >>> responsess..... >>> >>> When I receive a specfic event I want to send an Action, but everytime >>> I "sendAction" it is a "timeout" exception. >>> >>> I'm running my program as: >>> >>> public void run() throws IOException, AuthenticationFailedException, >>> TimeoutException, InterruptedException { >>> >>> managerConnection.addEventListener(this); >>> managerConnection.login(); >>> >>> while (running) { >>> Thread.sleep(5000); >>> } >>> >>> managerConnection.logoff(); >>> } >>> >>> @Override >>> public void *onManagerEvent(ManagerEvent event)* { >>> >>> // If event is NewExtenEvent... >>> if (event.getClass() == NewExtenEvent.class) { >>> handleEvent((NewExtenEvent) event); >>> } >>> // If event is NewChannel... >>> else if ((event.getClass() == NewChannelEvent.class)) { >>> handleEvent((NewChannelEvent) event); >>> } >>> } >>> >>> Sometimes I "sendAction" in NewExtenEvent (with the code sent in the >>> previous email). >>> >>> >>> >>> >>> On 2 January 2014 17:01, Jose Baez <pe...@gm...> wrote: >>> >>>> Hi! >>>> >>>> I've been struggling a bit with >>>> asterisk-java-1.0.0.CI-20140101.jar (January 1st, 2014) and Asterisk v11.5 >>>> >>>> Whenever I run *"MonitorAction"* Asterisk-java replies with "TimeOut >>>> Exceed" exception, but Asterisk is recording OK. >>>> Same exception happens with "StopMonitor". >>>> >>>> try { >>>> managerConnection.sendAction(*new MonitorAction*(channel, >>>> filename, "WAV", true)); >>>> >>>> // Forcing a timeout still pops exception. >>>> //managerConnection.sendAction(*new MonitorAction*(channel, >>>> filename, "WAV", true), 1000); >>>> >>>> } catch (IOException ex) { >>>> System.out.println(ex); >>>> } catch (TimeoutException ex) { >>>> System.out.println(ex); >>>> } catch (IllegalArgumentException ex) { >>>> System.out.println(ex); >>>> } catch (IllegalStateException ex) { >>>> System.out.println(ex); >>>> } >>>> >>>> >>>> Any idea? >>>> >>> >>> >> >> >> ------------------------------------------------------------------------------ >> CenturyLink Cloud: The Leader in Enterprise Cloud Services. >> Learn Why More Businesses Are Choosing CenturyLink Cloud For >> Critical Workloads, Development Environments & Everything In Between. >> Get a Quote or Start a Free Trial Today. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk >> _______________________________________________ >> Asterisk-java-users mailing list >> Ast...@li... >> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users >> >> > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Asterisk-java-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |