<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">

  <channel rdf:about="http://blogs.reucon.com/asterisk-java/">
    <title>Asterisk-Java</title>
    <link>http://blogs.reucon.com/asterisk-java/</link>
    <description>The free Java library for Asterisk PBX integration.</description>
    <items>
      <rdf:Seq>
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/05/10/visualizing_your_dialplan_with_a_graph.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/04/28/defaultagiserver_in_jboss_as_4_x.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/04/27/a_visual_overview_of_asterisk_java.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/04/18/users_astersik_and_sugarcrm.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/04/05/preview_support_for_asyncagi.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/03/22/frequently_asked_questions.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/02/15/users_conferencing_for_snom_phones.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/02/15/agi_scripts_in_beanshell.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/01/29/words_of_praise.html" />
        
        <rdf:li resource="http://blogs.reucon.com/asterisk-java/2008/01/26/asterisk_1_6_0_beta1_released.html" />
        
      </rdf:Seq>
    </items>
  </channel>

  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/05/10/visualizing_your_dialplan_with_a_graph.html">
    <title>Visualizing your dialplan with a graph</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/05/10/visualizing_your_dialplan_with_a_graph.html</link>
    
      
      
        <description>
          &lt;p&gt;
A few weeks ago, Matt Gibson &lt;a href=&#034;http://lists.digium.com/pipermail/asterisk-users/2008-April/209914.html&#034;&gt;posted on the asterisk-users discussion list&lt;/a&gt; that he was looking for a GraphViz script he had heard about a few years ago that could generate graphs of Asterisk&#039;s &lt;tt&gt;extensions.conf&lt;/tt&gt; file that defines the dialplan. At the time, I had been working on a &lt;a href=&#034;http://www.sourceforge.net/projects/egonet/&#034;&gt;recently open-sourced application, EgoNet&lt;/a&gt;, for a researcher I work with. This application taught me much about social networks, particularly his specialty of egocentric networks, and it also helped me learn a ton about the &lt;a href=&#034;http://jung.sourceforge.net/&#034;&gt;Java Universal Network/Graph Framework (or JUNG)&lt;/a&gt;. I immediately thought about combining my experience with JUNG and Asterisk, and wrote a rudimentary (read as: extremely ugly) parser for extensions.conf and generated a crude graph of the sample dialplan.
&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://blogs.reucon.com/asterisk-java/2008/05/10/visualizing_your_dialplan_with_a_graph.html&#034;&gt;Read more...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/04/28/defaultagiserver_in_jboss_as_4_x.html">
    <title>DefaultAgiServer in JBoss AS 4.x</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/04/28/defaultagiserver_in_jboss_as_4_x.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img alt=&#034;JBoss Logo&#034; src=&#034;http://blogs.reucon.com/asterisk-java/images/jboss_logo.gif&#034; align=&#034;right&#034;/&gt;
A recent post to the mailing list asked about how to stop and start a FastAGI server and how folks host Fast AGI servers. I shared some code I wrote for a &lt;a href=&#034;http://asterisk-java.org/development/faq.html&#034;&gt;small MBean that starts and stops a DefaultAgiServer&lt;/a&gt; from Asterisk-Java -- see the last FAQ question &lt;em&gt;&#034;Can I have an example of using an AGI server in a container like JBoss?&#034;&lt;/em&gt;. The MBean uses the JBoss-specific &lt;tt&gt;@Management&lt;/tt&gt; annotation.
&lt;/p&gt;
&lt;p&gt;
I work on a home-grown call center management application (EJBs, JSP webpages, and two standalone Java Swing applications, all talking through JBoss Application Server), and we&#039;ve already been able to add a couple features with Asterisk-Java that add value and utility to our application. I didn&#039;t want to introduce another service to our infrastructure and I also didn&#039;t want to write an entirely new Agi server, as Stefan had done a great job on that part. Thus, the above MBean was born.
&lt;/p&gt;
&lt;p&gt;
Comments and suggestions and other examples of how you run your Agi scripts are welcome and encouraged on &lt;a href=&#034;http://asterisk-java.org/development/mail-lists.html&#034;&gt;our mailing lists.&lt;/a&gt;
&lt;/p&gt;
        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/04/27/a_visual_overview_of_asterisk_java.html">
    <title>A Visual Overview Of Asterisk-Java</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/04/27/a_visual_overview_of_asterisk_java.html</link>
    
      
        <description>
          &lt;p&gt;
Atlassian has improved the charting features in their latest release of &lt;a href=&#034;http://www.atlassian.com/software/fisheye/&#034;&gt;Fisheye&lt;/a&gt;. So I had a look at the Asterisk-Java code base to see how it&#039;s major packages compare in size. This is what i got:
&lt;/p&gt;
&lt;img src=&#034;/asterisk-java/images/aj-stats-2008.png&#034;/&gt;
&lt;p&gt;Let&#039;s have a look at the individual packages:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;The Manager API&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
Support for the Manager API (manager) is by far the biggest package in Asterisk-Java. It provides access to a variety of Asterisk features from call control to monitoring and call center management. The size of this package and its steady groth ressemble the groth of features exposed by Asterisk.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;The Asterisk Gateway Interface&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
FastAGI is an easy way to implement IVR applications in Java. The feature set is quite stable over time so we don&#039;t see significant changes in the code base. You&#039;ll even notice that support for &lt;a href=&#034;/asterisk-java/2008/04/05/preview_support_for_asyncagi.html&#034;&gt;AsyncAGI&lt;/a&gt; (i.e. running AGI scripts over the Manager API) was a quick win as it didn&#039;t have a significant impact on the overall size of the package.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Parsing Configuration Files&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
The config package is quite new and supports parsing Asterisk&#039;s configuration files. All config files use the same syntax and group up configuration items into contexts. It supports inheritance of contexts, includes and forms the basis for further development like configuration editors or dialplan visualization (stay tuned for more information from Martin on this topic).&lt;br&gt;
Originally developed to parse voicemail meta files the config package is certainly a candidate for future growth.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;The Live API&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
The live API is our own invention and takes integration a step further. Instead of only providing access to the basic features exposed by Asterisk the live API offers real objects with state and behavior that model core concepts found in Asterisk. There are channel objects with state like the current caller id, the progress or hangup reason and methods to redirect channels, start and stop monitoring and much more.&lt;/br&gt;
The live API speeds up developers by hiding the sometimes tedious details of the low level Asterisk APIs and has reached a significant size. Next to the config package the live API is under active development and will certainly grow in the future.
&lt;/p&gt;

        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/04/18/users_astersik_and_sugarcrm.html">
    <title>Users: Astersik and SugarCRM</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/04/18/users_astersik_and_sugarcrm.html</link>
    
      
        <description>
          &lt;p&gt;
Mauro has published an interesting article about &lt;a href=&#034;http://www.beanizer.org/site/index.php/en/Articles/SugarCRM-and-Asterisk-integration-in-Java-First-steps.html&#034;&gt;Asterisk and SugarCRM&lt;/a&gt; integration. A swing popup notifies its user on incoming calls and provides additional information about the customer that is retrieved from &lt;a href=&#034;http://www.sugarcrm.com/&#034;&gt;SugarCRM&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;
The sample application serves as a good example on how to use Asterisk&#039;s Manager API with Asterisk-Java.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;References&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#034;http://www.beanizer.org/site/index.php/en/Articles/SugarCRM-and-Asterisk-integration-in-Java-First-steps.html&#034;&gt;Mauro: SugarCRM and Asterisk integration in Java&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/04/05/preview_support_for_asyncagi.html">
    <title>Preview: Support for AsyncAGI</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/04/05/preview_support_for_asyncagi.html</link>
    
      
        <description>
          &lt;p&gt;
I&#039;ve just finished adding support for &lt;a href=&#034;http://www.moythreads.com/wordpress/2007/12/24/asterisk-asynchronous-agi/&#034;&gt;Asynchronous AGI&lt;/a&gt; to Asterisk-Java. AsyncAGI allows you to run AGI scripts through a Manager API connection.
&lt;/p&gt;&lt;p&gt;
The way AsyncAGI is supported by Asterisk-Java hides the differences in the underlying communication from the users of our library. Your AGI scripts developed for FastAGI will run with AsyncAGI without a change.
&lt;/p&gt;&lt;p&gt;
To make use of AsyncAGI add the following extension to you dialplan:
&lt;/p&gt;
&lt;pre class=&#034;codeSample&#034;&gt;
exten =&amp;gt; 1234,1,Agi(agi:async)
&lt;/pre&gt;
&lt;p&gt;
Create a simple AGI script, pass it to AsyncAgiServer and register the AsyncAgiServer as a listener to a ManagerConnection:
&lt;/p&gt;
&lt;pre class=&#034;codeSample&#034;&gt;
public class SampleScript extends BaseAgiScript
{
    public void service(AgiRequest request, AgiChannel channel) throws AgiException
    {
        channel.streamFile(&#034;tt-monkeys&#034;);
    }

    public static void main(String[] args) throws Exception
    {
        ManagerConnection connection;
        AsyncAgiServer agiServer;

        connection = new DefaultManagerConnection(&#034;localhost&#034;, &#034;manager&#034;, &#034;pa55w0rd&#034;);
        agiServer = new AsyncAgiServer(new SampleScript());
        connection.addEventListener(agiServer);
        connection.login();

        while (true)
        {
            Thread.sleep(1000L);
        }
    }
}
&lt;/pre&gt;
&lt;p&gt;
To run the sample you need the &lt;a href=&#034;http://asterisk-java.org/download/1.0.0-SNAPSHOT&#034;&gt;latest snapshot&lt;/a&gt; of Asterisk-Java 1.0.0 (at least 20080404.222056-117) and Asterisk 1.6.0.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;References&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#034;http://www.moythreads.com/wordpress/2007/12/24/asterisk-asynchronous-agi/&#034;&gt;Moy: Asterisk Asynchronous AGI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/03/22/frequently_asked_questions.html">
    <title>Frequently Asked Questions</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/03/22/frequently_asked_questions.html</link>
    
      
        <description>
          &lt;p&gt;
Thanks to Martin we now have a &lt;a href=&#034;http://asterisk-java.org/faq&#034;&gt;FAQ section&lt;/a&gt; available as part of our documentation.
&lt;/p&gt;&lt;p&gt;
The FAQ covers the questions we encounter on our &lt;a href=&#034;http://asterisk-java.org/development/mail-lists.html&#034;&gt;mailing lists&lt;/a&gt; and that we think will be interesting to a more general audience. Please check them before asking questions to make sure you don&#039;t ask questions again that have already been answered before.
&lt;/p&gt;&lt;p&gt;
If you notice anything we&#039;ve missed feel free to post a comment or join our mailing list and propose your addition.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;References&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#034;http://asterisk-java.org/development/faq.html&#034;&gt;Asterisk-Java Frequently Asked Questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/02/15/users_conferencing_for_snom_phones.html">
    <title>Users: Conferencing for snom Phones</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/02/15/users_conferencing_for_snom_phones.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;/asterisk-java/images/snom370.jpg&#034; align=&#034;right&#034;/&gt;
Andreas Neugebauer&#039;s submission to the &lt;a href=&#034;http://www.snom.com/&#034;&gt;snom&lt;/a&gt; &lt;a href=&#034;http://contest.snom.com/&#034;&gt;XML Contest&lt;/a&gt; was a conferencing application for Asterisk:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;a href=&#034;http://contest.snom.com/contest/index.php/XMLConference&#034;&gt;XMLConference&lt;/a&gt;
uses the Asterisk Manager interface, and shows call-related information on the snom phone display and allows you to interact with these calls.
&lt;/blockquote&gt;
&lt;p&gt;
XMLConference uses Asterisk-Java&#039;s implementation of the Manager API to control Asterisk MeetMe rooms and make them available to the snom XML browser. It runs in a standard Java web container like Apache Tomcat.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;References&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#034;http://contest.snom.com/contest/index.php/XMLConference&#034;&gt;XMLConference&lt;/a&gt; inlcudes source code and binaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://contest.snom.com/&#034;&gt;The snom XML Contest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/02/15/agi_scripts_in_beanshell.html">
    <title>AGI scripts in BeanShell</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/02/15/agi_scripts_in_beanshell.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;a href=&#034;http://www.beanizer.org/&#034;&gt;beanizer.org&lt;/a&gt; has published an interesting &lt;a href=&#034;http://www.beanizer.org/site/index.php/en/Articles/A-simple-AGI-scripting-engine-with-Asterisk-Java.html&#034;&gt;article&lt;/a&gt; on how to build an AGI server with Asterisk-Java to run AGI scripts written in &lt;a href=&#034;http://www.beanshell.org/&#034;&gt;BeanShell&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;
They provide a dispatcher AgiScript that delegates to a BeanShell script and provides some additional convenience functions to make the custom scripts easy to implement.
&lt;/p&gt;&lt;p&gt;
The advantages of using scripting languages on the JVM along with Asterisk-Java are compelling:
&lt;/p&gt;
&lt;blockquote&gt;
The approach is quite flexible, our script engine doesn&#039;t need to be on the same computer the pbx is on, and we can add/modify our scripts on the fly without need for compilation or engine restart.
&lt;/blockquote&gt;
&lt;p&gt;
You might also be interested in our recent posting on writing &lt;a href=&#034;http://blogs.reucon.com/asterisk-java/2007/11/20/agi_scripts_in_groovy.html&#034;&gt;AGI scripts in Groovy&lt;/a&gt; that describes a similar approach with a focus on &lt;a href=&#034;http://groovy.codehaus.org/&#034;&gt;Groovy&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;References&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#034;http://www.beanizer.org/site/index.php/en/Articles/A-simple-AGI-scripting-engine-with-Asterisk-Java.html&#034;&gt;A simple AGI scripting engine with Asterisk-Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://www.beanshell.org/&#034;&gt;BeanShell - Lightweight Scripting for Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#034;http://blogs.reucon.com/asterisk-java/2007/11/20/agi_scripts_in_groovy.html&#034;&gt;AGI scripts in Groovy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/01/29/words_of_praise.html">
    <title>Words Of Praise</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/01/29/words_of_praise.html</link>
    
      
        <description>
          &lt;p&gt;
While skipping through our referrer list I stumbled upon this &lt;a href=&#034;http://linuxfr.org/2008/01/28/23619.html#899741&#034;&gt;comment&lt;/a&gt; from a French user:
&lt;/p&gt;
&lt;blockquote&gt;
Ahhhh !!!&lt;br/&gt;
Asterisk-Java, quelle belle API. C&#039;est la plus complète parmi celles que l&#039;on puisse trouver pour interroger le manager ou développer des &#034;scripts&#034; AGI.&lt;br/&gt;
Coder avec cette API est vraiment d&#039;une simplicité... :-) Bon, c&#039;est Java... On regrettera juste qu&#039;il n&#039;y ai rien vraiment à la hauteur pour d&#039;autres langages.
&lt;/blockquote&gt;
&lt;p&gt;
It seems like even developers not devoted to Java are in love with our library.
&lt;br/&gt;
Interestingly enough there a quite few developers using other languages than Java who are using our &lt;a href=&#034;http://asterisk-java.org/development/apidocs/index.html&#034;&gt;javadocs&lt;/a&gt; as a general purpose reference to the Manager and FastAGI API.
&lt;/p&gt;&lt;p&gt;
Thanks for your kind works, it helps us keep up further enhancing Asterisk-Java.
&lt;/p&gt;
        </description>
      
      
    
  </item>
  
  <item rdf:about="http://blogs.reucon.com/asterisk-java/2008/01/26/asterisk_1_6_0_beta1_released.html">
    <title>Asterisk 1.6.0-beta1 Released</title>
    <link>http://blogs.reucon.com/asterisk-java/2008/01/26/asterisk_1_6_0_beta1_released.html</link>
    
      
        <description>
          &lt;p&gt;
&lt;img src=&#034;/asterisk-java/images/asterisk.gif&#034; align=&#034;right&#034;/&gt;
Since a few days the first beta of &lt;a href=&#034;http://www.asterisk.org/&#034;&gt;Asterisk&lt;/a&gt; 1.6.0 is &lt;a href=&#034;http://www.asterisk.org/downloads&#034;&gt;available for download&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;
So far, Asterisk-Java seems to work fine with the new release.
&lt;br/&gt;
If you encounter any problems feel free to post a comment, join our &lt;a href=&#034;http://asterisk-java.org/development/mail-lists.html&#034;&gt;mailing list&lt;/a&gt; or post a &lt;a href=&#034;http://jira.reucon.org&#034;&gt;bug report&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update 2008-01-29:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;...and they followed up with 1.6.0-beta2.&lt;/p&gt;
&lt;p&gt;For the 1.4 series they start providing release candidates,  an idea that was discussed on the -dev list before and aims at providing better qualitiy for the final production releases:&lt;/p&gt;
&lt;blockquote&gt;
The release candidate for 1.4.18 is only 
available via svn.  It is available for anyone that would like to help test 1.4.18 over the next couple of days before it gets officially released.
&lt;/blockquote&gt;
&lt;p&gt;Grab it from &lt;a href=&#034;http://svn.digium.com/svn/asterisk/tags/1.4.18&#034;&gt;http://svn.digium.com/svn/asterisk/tags/1.4.18&lt;/a&gt;.&lt;/p&gt;
        </description>
      
      
    
  </item>
  

</rdf:RDF>
