<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>russellbryant.net &#187; Asterisk</title>
	<atom:link href="http://www.russellbryant.net/blog/category/asterisk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.russellbryant.net/blog</link>
	<description>Open Source Software Engineering</description>
	<lastBuildDate>Tue, 10 Jan 2012 03:08:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Taking On New Challenges</title>
		<link>http://www.russellbryant.net/blog/2011/07/18/taking-on-new-challenges/</link>
		<comments>http://www.russellbryant.net/blog/2011/07/18/taking-on-new-challenges/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 22:48:38 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=272</guid>
		<description><![CDATA[I began working on the Asterisk project in 2004.  My work on Asterisk has led to an exciting career in open source software engineering.  At the end of July 2011, I will be leaving Digium to take on some new challenges.  Specifically, I will be joining the Cloud Infrastructure team at Red Hat as a Principal Software Engineer where I [...]]]></description>
			<content:encoded><![CDATA[<p>I began working on the Asterisk project in 2004.  My work on Asterisk has led to an exciting career in open source software engineering.  At the end of July 2011, I will be leaving Digium to take on some new challenges.  Specifically, I will be joining the Cloud Infrastructure team at Red Hat as a Principal Software Engineer where I will be working on projects related to clustering, high availability, and systems management.  Additionally, I will be moving back to Charleston, SC to be closer to my family.</p>
<p>While I will no longer be working with Asterisk full time, I still plan to participate in the open source community.  I am excited to watch both Asterisk and Asterisk SCF continue to evolve and grow.  The engineering team at Digium, as well as the global Asterisk development community are as strong as they have ever been and will continue to accomplish big things.</p>
<p>I have met many great people from all over the world in my time with Asterisk.  Thank you all for making the past seven years so memorable.</p>
<p>Best Regards,</p>
<p>&#8211;<br />
Russell Bryant</p>
<p>&nbsp;</p>
<p>Related Posts:</p>
<ul>
<li><a href="http://blogs.digium.com/2011/07/18/russell-bryant-thank-you-for-seven-years-of-excellence/">blogs.digium.com</a></li>
<li><a href="http://www.venturevoip.com/news.php?rssid=2586">Asterisk Daily News</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2011/07/18/taking-on-new-challenges/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Debugging the Asterisk Dialplan with Verbose()</title>
		<link>http://www.russellbryant.net/blog/2011/03/04/debugging-the-asterisk-dialplan-with-verbose/</link>
		<comments>http://www.russellbryant.net/blog/2011/03/04/debugging-the-asterisk-dialplan-with-verbose/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 14:02:53 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=257</guid>
		<description><![CDATA[Leif Madsen and I are working on a new book, the Asterisk Cookbook. One of the recipes that I am working on this morning is a method of adding debug statements into the Asterisk dialplan. I came up with a GoSub() routine that can log messages based on log level settings that are global, per-device, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://leifmadsen.wordpress.com/">Leif Madsen</a> and I are working on a new book, the <a href="http://oreilly.com/catalog/0636920018551/">Asterisk Cookbook</a>. One of the recipes that I am working on this morning is a method of adding debug statements into the Asterisk dialplan.  I came up with a GoSub() routine that can log messages based on log level settings that are global, per-device, or per-channel.  Here&#8217;s a preview.  I hope you find it useful!</p>
<h3>Channel logging GoSub() routine.</h3>
<ul>
<li><strong>ARG1</strong> &#8211; Log level.</li>
<li><strong>ARG2</strong> &#8211; The log message.</li>
</ul>
<p>Channel logging using this routine will be sent to the Asterisk console at verbose level 0, meaning that they will show up when you want them to regardless of the current &#8220;core set verbose&#8221; setting.  This routine uses a different method, values in AstDB, to control what messages show up.</p>
<p><strong>AstDB entries:</strong></p>
<ul>
<li>Family: ChanLog/    Key: all</li>
<ul>
<li>If the log level is less than or equal to this value the message will be printed.</li>
</ul>
<li>Family: ChanLog/     Key: channels/<channel></li>
<ul>
<li>This routine will also check for a channel specific debug setting.  It will actually check for both the full channel name as well as just the part of the channel name before &#8216;-&#8217;.  This allows setting a debug level for all calls from a particular device.  For example, a SIP channel may be &#8220;SIP/myphone-0011223344&#8243;.  This routine will check:</li>
<ul>
<li>Family: ChanLog/    Key: channels/SIP/myphone</li>
<li>Family: ChanLog/    Key: channels/SIP/myphone-0011223344</li>
</ul>
</ul>
</ul>
<p><strong>Example Dialplan Usage:</strong></p>
<pre>
exten => 7201,1,GoSub(chanlog,s,1(1,${CHANNEL} has called ${EXTEN}))
</pre>
<p><strong>Example of enabling debugging for a device from the Asterisk CLI:</strong></p>
<pre>
*CLI> database put ChanLog SIP/myphone 3
</pre>
<p><strong>chanlog routine implementation:</strong></p>
<pre>
[chanlog]

exten => s,1,GotoIf($[${DB_EXISTS(ChanLog/all)} = 0]?checkchan1)
    same => n,GotoIf($[${ARG1} <= ${DB(ChanLog/all)}]?log)
    same => n(checkchan1),Set(KEY=ChanLog/channel/${CHANNEL})
    same => n,GotoIf($[${DB_EXISTS(${KEY})} = 0]?checkchan2)
    same => n,GotoIf($[${ARG1} <= ${DB(${KEY})}]?log)
    same => n(checkchan2),Set(KEY=ChanLog/channel/${CUT(CHANNEL,-,1)})
    same => n,GotoIf($[${DB_EXISTS(${KEY})} = 0]?return)
    same => n,GotoIf($[${ARG1} <= ${DB(${KEY})}]?log)
    same => n(return),Return() ; Return without logging
    same => n(log),Verbose(0,${ARG2})
    same => n,Return()
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2011/03/04/debugging-the-asterisk-dialplan-with-verbose/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Asterisk 1.10 Update</title>
		<link>http://www.russellbryant.net/blog/2011/02/16/asterisk-1-10-update/</link>
		<comments>http://www.russellbryant.net/blog/2011/02/16/asterisk-1-10-update/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 03:01:38 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=253</guid>
		<description><![CDATA[I just posted an update on the development of Asterisk 1.10 to the asterisk-dev mailing list. Here is the content: Greetings, Shortly after the release of Asterisk 1.8, we had a developer meeting and discussed some of the projects that people would like to see in Asterisk 1.10 [1]. We discussed the schedule there a [...]]]></description>
			<content:encoded><![CDATA[<p>I just posted <a href="http://lists.digium.com/pipermail/asterisk-dev/2011-February/048028.html">an update on the development of Asterisk 1.10</a> to the asterisk-dev mailing list.  Here is the content:</p>
<blockquote><p>
Greetings,</p>
<p>Shortly after the release of Asterisk 1.8, we had a developer meeting<br />
and discussed some of the projects that people would like to see in<br />
Asterisk 1.10 [1].  We discussed the schedule there a bit, as well.  Now<br />
that Asterisk 1.8 has settled down and we are well into the development<br />
cycle for Asterisk 1.10, it is a good time to revisit the plans for the<br />
next release.</p>
<p>At Digium, the biggest thing we have been working on for 1.10 so far is<br />
replacing the media infrastructure in Asterisk.  Most of the critical<br />
and invasive plumbing work is done and has been merged into trunk.  Next<br />
we&#8217;re looking at building up some features on top of that, such as<br />
adding more codecs, enhancing ConfBridge() to support additional<br />
sampling rates (HD conferencing), adding features that exist in<br />
MeetMe() but not ConfBridge(), and enhancing codec negotiation.</p>
<p>Of course, many others have been working on new developments as well.  I<br />
would encourage you to respond if you&#8217;d like to provide an update on<br />
some new things that you&#8217;re working on.</p>
<p>We would like to release Asterisk 1.10 roughly a year after Asterisk<br />
1.8.  This will be a standard release, not LTS [2].  To have the release<br />
out in the October time frame, we need to branch off 1.10 (feature<br />
freeze) at the end of June.  At that point we will begin the beta and RC<br />
process.  If you&#8217;re working on new development projects that you would<br />
like to get into Asterisk 1.10, please keep this timeline in mind.</p>
<p>As always, comments and questions are welcome.</p>
<p>Thanks,</p>
<p>[1] https://wiki.asterisk.org/wiki/display/AST/AstriDevCon+2010<br />
[2] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions</p>
<p>&#8211;<br />
Russell Bryant
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2011/02/16/asterisk-1-10-update/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Asterisk: The Definitive Guide &#8211; Call for Technical Review</title>
		<link>http://www.russellbryant.net/blog/2011/01/06/asterisk-the-definitive-guide-call-for-technical-review/</link>
		<comments>http://www.russellbryant.net/blog/2011/01/06/asterisk-the-definitive-guide-call-for-technical-review/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 22:59:42 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=249</guid>
		<description><![CDATA[We are finally wrapping up our book, &#8220;Asterisk: The Definitive Guide&#8221;. The contents have been available on a web site for a while, but now that the content is complete, we&#8217;re looking for a lot of review over the next couple of weeks. We would really appreciate your input!  Here is a post from Leif [...]]]></description>
			<content:encoded><![CDATA[<p>We are finally wrapping up our book, <em>&#8220;Asterisk: The Definitive Guide&#8221;</em>.  The contents have been available on a web site for a while, but now that the content is complete, we&#8217;re looking for a lot of review over the next couple of weeks.  We would really appreciate your input!  Here is a post from Leif on the asterisk-doc mailing list from earlier today:</p>
<blockquote><p>Hey all!</p>
<p>We’re getting VERY close to having the first draft of the next Asterisk book, Asterisk: The Definitive Guide ready to be sent off to production. We’re very close to meeting our target dates, but our review timeline is very tight. Only about 2 weeks!</p>
<p>Each morning we’re continuing to work on the book, taking in your comments, reviewing chapters, testing dialplan and installation steps, and all that good stuff.</p>
<p>However, we’ve been looking at this book since May 2010 and our eyes are starting to get glazed <img src='http://www.russellbryant.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  We’d love for the community to have a look at the book and offer some constructive criticism.</p>
<p>It’s far too late to take requests for things to cover. What we have is what we’re going to get in for this edition. After we finish this book though we plan on continuing to update it, so there will be a chance to take suggestions again soon.</p>
<p>For now, head on over to <a href="http://ofps.oreilly.com">http://ofps.oreilly.com</a> and check out the book (updated this morning). There are a couple of bugs in the OFPS software which are causing comments to not be available after chapter 8, but we’re hoping to have those resolved by Friday. However, we do have this fancy mailing list that we can use.</p></blockquote>
<p><em>Update: This issue has been resolved</em></p>
<blockquote><p>Russell, Jim and myself will be monitoring this list for comments, and we’ll try and get all of them satisfied before publication. If there is a particular area we’re covering that you’re an expert in, we’d love to have you focus on that chapter. You can email me back directly for more information on what we might be looking for in that type of situation.</p>
<p>We do have editors to help with grammar and spelling, but pointing anything out is certainly useful. The best use of your time though is testing the dialplan snippets, the installation instructions for both Ubuntu and CentOS (we’re covering two Linux distributions this time around, which increases the testing load significantly), and making sure anything we’re explaining is concise, relates to what we’re talking about, and makes sense. The goal is to build an Asterisk system from scratch, so following through our dialplan via the chapters to make sure it all continues to build on itself would be ideal.</p>
<p>Additionally, if you see any sections which say, “see chapter XXX for more information” that are not links, please let us know, as those are meant to be placeholders until the chapters existed and we could link back to them. Now that all chapters are created, we should be linking to the appropriate locations. If you’re reading a section and notice a good spot to reference another part of the book (for example, lets say we’re talking about database functionality in one of the other chapters, and there is an appropriate spot in the Database Integration chapter to link to), then let us know!</p>
<p>Thanks for your interest! Books should be shipping sometime between March and April. Pre-orders are available now at <a href="http://oreilly.com/catalog/9780596517342">http://oreilly.com/catalog/9780596517342</a>. And yes, we’ll be releasing under a Creative Commons license like the last two books, so you’ll have access to the book at any time online.</p>
<p>This book has been pretty much written from the ground up, and is well over 600 pages of content. It’s been a lot of work, but we hope you like it!</p>
<p>Thanks!<br />
Russell, Jim and Leif.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2011/01/06/asterisk-the-definitive-guide-call-for-technical-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Testing Update</title>
		<link>http://www.russellbryant.net/blog/2010/07/29/automated-testing-update/</link>
		<comments>http://www.russellbryant.net/blog/2010/07/29/automated-testing-update/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 01:07:12 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=241</guid>
		<description><![CDATA[Greetings, A while back, I posted a message about an effort to improve automated testing in the Asterisk project. I wanted to give an update on how that project has progressed for those that have not been following along very closely. We started using Bamboo as a continuous integration tool, which you can find running [...]]]></description>
			<content:encoded><![CDATA[<p>Greetings,</p>
<p>A while back, I posted <a href="http://lists.digium.com/pipermail/asterisk-dev/2010-February/042387.html">a message</a> about an effort to improve automated testing in the Asterisk project.  I wanted to give an update on how that project has progressed for those that have not been following along very closely.</p>
<p>We started using Bamboo as a continuous integration tool, which you can find running at <a href="http://bamboo.asterisk.org">http://bamboo.asterisk.org</a>/.  Note that some of the pass/fail statistics on there are a bit skewed, as the Bamboo server was just rebuilt and things were failing as everything was put back together.</p>
<p>A lot of really good automated test cases have been developed, and more are constantly being added.  There are currently 85 test cases that run against Asterisk trunk after every change to the code.  While some tests are small in scope, many of them cover significant call scenarios, such as various methods of doing transfers and call parking.</p>
<p>I apologize for the previous flood of Bamboo emails to the -dev list.  <img src='http://www.russellbryant.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   I now have a new mailing list created for those that would like to subscribe to those messages.</p>
<p><a href="http://lists.digium.com/mailman/listinfo/test-results  "> http://lists.digium.com/mailman/listinfo/test-results</a></p>
<p>Additionally, one of the latest updates to our Bamboo setup is automated testing code coverage analysis.  It will tell us exactly what code ran as a result of our automated test cases.  It provides a good metric to start using to help identify areas of Asterisk that are in need of more test cases.  You can find the code coverage reports for the latest builds of Asterisk trunk and 1.8 on Linux in the artifacts tab when viewing the details of a build.</p>
<p><a href="http://bamboo.asterisk.org/browse/AST-TRUNK/latest"> http://bamboo.asterisk.org/browse/AST-TRUNK/latest</a></p>
<p>I&#8217;m proud of the progress we have made so far and am excited to continue aggressive development of automated test cases for Asterisk.  The tests we have are already catching problems on a regular basis.  The resulting quality improvements make the job of the development team easier, as well as result in a better experience for end users.</p>
<p>If you&#8217;re looking for a way to contribute to Asterisk and you are more comfortable writing scripts instead of C code, then the external test suite is a great way to get involved and help out.</p>
<p>Thank you all for your continued support of Asterisk!</p>
<p>Best Regards,</p>
<p>&#8211;<br />
Russell Bryant<br />
Digium, Inc.  |  Engineering Manager, Open Source Software<br />
445 Jan Davis Drive NW   &#8211;    Huntsville, AL 35806  &#8211;  USA<br />
jabber: rbryant@digium.com    -=-    skype: russell-bryant<br />
www.digium.com -=- www.asterisk.org -=- blogs.asterisk.org</p>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2010/07/29/automated-testing-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk 1.8.0-beta1 Now Available</title>
		<link>http://www.russellbryant.net/blog/2010/07/23/asterisk-1-8-0-beta1-now-available/</link>
		<comments>http://www.russellbryant.net/blog/2010/07/23/asterisk-1-8-0-beta1-now-available/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 22:35:16 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=236</guid>
		<description><![CDATA[The Asterisk Development Team has announced the release of Asterisk 1.8.0-beta1. This release marks the beginning of the testing process for the eventual release of Asterisk 1.8.0. This release is available for immediate download at http://downloads.asterisk.org/pub/telephony/asterisk/ All interested users of Asterisk are encouraged to participate in the 1.8 testing process. Please report any issues found [...]]]></description>
			<content:encoded><![CDATA[<p>The Asterisk Development Team has announced the release of Asterisk 1.8.0-beta1.  This release marks the beginning of the testing process for the eventual release of Asterisk 1.8.0.</p>
<p>This release is available for immediate download at <a href="http://downloads.asterisk.org/pub/telephony/asterisk/">http://downloads.asterisk.org/pub/telephony/asterisk/</a></p>
<p>All interested users of Asterisk are encouraged to participate in the 1.8 testing process.  Please report any issues found to the issue tracker, http://issues.asterisk.org/.  It is also very useful to hear successful test reports.  Please post those to the asterisk-dev mailing list.</p>
<p>Asterisk 1.8 is the next major release series of Asterisk.  It will be a Long Term Support (LTS) release, similar to Asterisk 1.4.  For more information about support time lines for Asterisk releases, see the Asterisk versions page.</p>
<p><a href="http://www.asterisk.org/asterisk-versions">http://www.asterisk.org/asterisk-versions</a></p>
<p>Asterisk 1.8 contains many new features over previous releases of Asterisk.  A short list of included features includes:</p>
<ul>
<li>Secure RTP</li>
<li>IPv6 Support</li>
<li>Connected Party Identification Support</li>
<li>Calendaring Integration</li>
<li>A new call logging system, Channel Event Logging (CEL)</li>
<li>Distributed Device State using Jabber/XMPP PubSub</li>
<li>Call Completion Supplementary Services support</li>
<li>Advice of Charge support</li>
<li>Much, much more!</li>
</ul>
<p>A full list of new features can be found in the CHANGES file.</p>
<p><a href="http://svn.digium.com/view/asterisk/branches/1.8/CHANGES?view=markup">http://svn.digium.com/view/asterisk/branches/1.8/CHANGES?view=checkout</a></p>
<p>For a full list of changes in the current release, please see the ChangeLog:</p>
<p><a href="http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.8.0-beta1">http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.8.0-beta1</a></p>
<p>Thank you for your continued support of Asterisk!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2010/07/23/asterisk-1-8-0-beta1-now-available/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Asterisk 1.8 beta is near &#8230;</title>
		<link>http://www.russellbryant.net/blog/2010/07/09/asterisk-1-8-beta-is-near/</link>
		<comments>http://www.russellbryant.net/blog/2010/07/09/asterisk-1-8-beta-is-near/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 00:49:24 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=231</guid>
		<description><![CDATA[Asterisk 1.8 will be the next major release of Asterisk with Long Term Support. It has been under heavy development for a while now. The first beta release of Asterisk 1.8 will be available by the end of July 2010. There are many exciting features in Asterisk 1.8. Here are just a couple of the [...]]]></description>
			<content:encoded><![CDATA[<p>Asterisk 1.8 will be the next major release of Asterisk with <a href="http://www.asterisk.org/asterisk-versions">Long Term Support</a>.  It has been under heavy development for a while now.  The first beta release of Asterisk 1.8 will be available by the end of July 2010.</p>
<p>There are many exciting features in Asterisk 1.8.  Here are just a couple of the more recent changes that have been merged in:</p>
<ul>
<li><strong>IPv6</strong>: Asterisk 1.8 will have IPv6 support for SIP and RTP.</li>
<li><strong>SRTP</strong>: Asterisk 1.8 will have support for secure RTP to allow the media to be encrypted for a SIP call.</li>
</ul>
<p>The list of new features is quite long.  <a href="http://svn.digium.com/view/asterisk/trunk/CHANGES?view=markup">Take a look</a> for a list of what is in Asterisk trunk (which will soon become Asterisk 1.8).</p>
<p>When Asterisk 1.8 is available as a beta and release candidate, please help by testing things out to help make this the best release yet!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2010/07/09/asterisk-1-8-beta-is-near/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Asterisk Testing</title>
		<link>http://www.russellbryant.net/blog/2010/02/16/asterisk-testing/</link>
		<comments>http://www.russellbryant.net/blog/2010/02/16/asterisk-testing/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 02:31:49 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=226</guid>
		<description><![CDATA[See the original post on the asterisk-dev list. Greetings, I think we can do a much better job at testing within the Asterisk project and I suspect you do, too. The vast install base and wide variety of uses gets us very good feedback. However, it is clear that we can do better within the [...]]]></description>
			<content:encoded><![CDATA[<p>See the <a href="http://lists.digium.com/pipermail/asterisk-dev/2010-February/042387.html">original post on the asterisk-dev list</a>.</p>
<p>Greetings,</p>
<p>I think we can do a much better job at testing within the Asterisk project and I suspect you do, too.  The vast install base and wide variety of uses gets us very good feedback.  However, it is clear that we can do better within the development community at improving the quality of the code before it makes it out in any type of release (beta, RC, or full release).</p>
<p>I would like to propose that we adopt an automated testing approach as a part of our development process.  There are 4 pieces to this:</p>
<ol>
<li>Testing with our eyes</li>
<li>Bottom-Up testing using unit tests within Asterisk</li>
<li>Top-Down testing using an external test suite</li>
<li>Tests running constantly using a continuous integration framework</li>
</ol>
<p>While this isn&#8217;t automated testing, it is too valuable not to mention.  One of the most effective ways of finding bugs in code is by peer code review.  We see this more and more as we continue to increase our usage of ReviewBoard for peer review before changes are merged.  It&#8217;s rare that a change goes in as the first proposed patch that goes on  ReviewBoard.  While it has never been a hard rule, it is strongly encouraged that every committer to seek a sign-off from at least one other committer via ReviewBoard for _every_ non-trivial change.</p>
<p><a href="https://reviewboard.asterisk.org">https://reviewboard.asterisk.org/</a></p>
<p>For unit testing, we have a new API in Asterisk trunk for writing unit tests within the code.  We&#8217;re up to 20 unit tests.  Writing these tests has already found multiple bugs and running them continuously has caught one regression before it made it into a release.</p>
<p>See <a href="http://svn.digium.com/view/asterisk/trunk/include/asterisk/test.h?view=markup">include/asterisk/test.h</a></p>
<p>The beginnings of an external test suite have been created.  There is still design work to do, but hopefully it will begin to be populated with tests soon.  In general, though, this will become a suite of tests that can use whatever external tools are necessary to verify Asterisk functionality.  There is a README.txt that documents what is there so far.</p>
<p>
<pre>$ svn co http://svn.digium.com/svn/testsuite/asterisk/trunk</pre>
</p>
<p>On the continuous integration front, we have been using buildbot for a long time for doing compilation on various systems.  It&#8217;s time that we extend our continuous integration approach to not only compile Asterisk, but also run regression tests.  After evaluating some different options, Bamboo has been installed and configured for our use.  So far, it is compiling all release branches of Asterisk.  For Asterisk trunk, it is running all of the unit tests after every change to the code.  The results of the tests are integrated into the application.</p>
<p><a href="http://bamboo.asterisk.org/">Bamboo &#8211; The Asterisk Project</a></p>
<p>The only build slave right now is Linux.  This will be extended to other operating systems.  If you would be interested in providing a build slave and assisting with its maintenance, please talk to me.  We can configure up to 25 build slaves (&#8220;remote agents&#8221; in Bamboo terminology).</p>
<p>If you have commit access, you are strongly encouraged to sign up for an account on bamboo.asterisk.org and associate your account with your svn username.  That way, bamboo can notify you by email and/or jabber if there any problems associated with changes that you make.</p>
<p>As you work on changes to the Asterisk code, you should consider this approach to testing along side your development. If there is a unit test you could write to help prove your code works or prevent a bug from showing up again, then please write one!  If there is an external test you could write to help verify some piece of functionality you are using continues to work precisely as expected, then let&#8217;s figure out how to get that into the test suite.  This kind of testing not only prevents regressions but it also guarantees that expected behavior will remain intact across releases.</p>
<p>I am excited about what this effort can do for the quality of Asterisk in the long term, and I hope you are, too.  I look forward to your feedback on the approach as well as participation in the development of our testing infrastructure.</p>
<p>Thanks,</p>
<p>&#8211;<br />
Russell Bryant<br />
Digium, Inc. | Engineering Manager, Open Source Software<br />
445 Jan Davis Drive NW &#8211; Huntsville, AL 35806 &#8211; USA<br />
www.digium.com -=- www.asterisk.org -=- blogs.asterisk.org</p>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2010/02/16/asterisk-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Asterisk Release Schedule</title>
		<link>http://www.russellbryant.net/blog/2009/10/07/asterisk-release-schedule/</link>
		<comments>http://www.russellbryant.net/blog/2009/10/07/asterisk-release-schedule/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 00:19:53 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[release policy]]></category>
		<category><![CDATA[release schedule]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=219</guid>
		<description><![CDATA[I posted a proposal for some updates to Asterisk release policy to the -dev list today. Check it out here and let me know what you think!]]></description>
			<content:encoded><![CDATA[<p>I posted a proposal for some updates to Asterisk release policy to the -dev list today.  Check it out <a href="http://lists.digium.com/pipermail/asterisk-dev/2009-October/040082.html">here</a> and let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2009/10/07/asterisk-release-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Summer of Code 2009 &#8211; Projects</title>
		<link>http://www.russellbryant.net/blog/2009/04/23/google-summer-of-code-2009-projects/</link>
		<comments>http://www.russellbryant.net/blog/2009/04/23/google-summer-of-code-2009-projects/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 20:22:06 +0000</pubDate>
		<dc:creator>russell</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gsoc]]></category>

		<guid isPermaLink="false">http://www.russellbryant.net/blog/?p=214</guid>
		<description><![CDATA[The accepted projects for Google Summer of Code 2009 have been announced. I have posted information about the students participating with the Asterisk project to the asterisk-dev list. Congratulations to all accepted students!]]></description>
			<content:encoded><![CDATA[<p>The accepted projects for Google Summer of Code 2009 have been announced.  I have posted information about the students participating with the Asterisk project to the <a href="http://lists.digium.com/pipermail/asterisk-dev/2009-April/038028.html">asterisk-dev list</a>.</p>
<p>Congratulations to all accepted students!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.russellbryant.net/blog/2009/04/23/google-summer-of-code-2009-projects/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

