<?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>AGYNAMIX &#187; News</title>
	<atom:link href="http://www.agynamix.de/blog/category/news/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agynamix.de</link>
	<description>Passionate Software</description>
	<lastBuildDate>Wed, 06 Jul 2011 06:28:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Synchronize your media library with iTunes</title>
		<link>http://www.agynamix.de/blog/synchronize-your-media-library-with-itunes/</link>
		<comments>http://www.agynamix.de/blog/synchronize-your-media-library-with-itunes/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 18:12:28 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[media]]></category>

		<guid isPermaLink="false">http://www.agynamix.de/?p=717</guid>
		<description><![CDATA[This article will show you how you can synchronize your media library (movies, tv shows and iTunes shows at the moment) with iTunes. Background: To understand my solution I&#8217;d like to share with you how my media setup works: I use eyeTV (great program btw) to record movies and tv shows. I then use Toast [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This article will show you how you can synchronize your media library (movies, tv shows and iTunes shows at the moment) with iTunes.</p>
<h3>Background:</h3>
<p>To understand my solution I&#8217;d like to share with you how my media setup works:</p>
<p>I use eyeTV (great program btw) to record movies and tv shows. I then use Toast to cut out commercials and convert the file into Apple TV format. I then copy the media files unto a NAS (Drobo in my case) into a predefined directory structure (see below).</p>
<p>To watch shows through Apple TV I first have to import them into my Mac Mini (the same that records the shows). I then have the Mac Mini connected to the Apple TV and let it stream media into the living room. So for that purpose the Apple TV is just an overly expensive iTunes connector that just works&#8230;</p>
<h3>How does it work:</h3>
<p>In order to have an automated process (synchronize your current media library with the iTunes library) I have written a small piece of software that does just that. iTunesMediaImport is a Java based cross platform software that is freely available at <a href="http://code.google.com/p/itunesmediaimport/">http://code.google.com/p/itunesmediaimport/</a></p>
<p>When it runs it parses a defined directory structure, dissects the file and directory name and creates a proper iTunes entry. iTunesMediaImport is started from a command line terminal.</p>
<h3>Directory Structure:</h3>
<p>The important thing is that the media archive directory structure is what iTunesMediaImport expects. It knows 3 different kind of media types: iTunes shows, movies you recorded yourself and self recorded TV shows.</p>
<h4>iTunes Shows:</h4>
<p>For iTunes shows you point the variable &#8220;itunesShowsPath.x&#8221; (x is a unique number) straight to the &#8220;TV shows&#8221; folder. The content of that folder should be the folders of your iTunes shows.</p>
<h4>Movies:</h4>
<p>For movies point &#8220;moviePath.x&#8221; to a folder that contains genre folders. Each genre folder contains the movie files that you file under that genre.</p>
<p>So in my case I point the variable (from etc/mediaimport.properties) to: &#8220;/Volumes/Drobo/Mediathek/Movies&#8221;. This folder contains genre folders like &#8220;Adventure&#8221;, &#8220;Action&#8221;, &#8220;Comedy&#8221;. You can have as many and name them as you see fit. When the movie is imported into iTunes it will be filed under a genre category with that name. Then the genre folder contains your movie files. The file name of the movie will be used as it&#8217;s name in iTunes.</p>
<h4>TV Shows:</h4>
<p>TV shows are handled much like movies except there is another directory layer, the season folder.</p>
<p>In mediaimport.properties you find a key &#8220;tvSeriesPath.x&#8221; that points to a directory that forms the root of my tv shows archive, &#8220;/Volumes/Drobo/Mediathek/TV Series&#8221; in my case.</p>
<p>Then this folder contains the names of my tv shows, like &#8220;Bones&#8221;, &#8220;Stargate&#8221; or whatever your poison is. Now under that folder you need to define another folder named &#8220;S&lt;season number&gt;&#8221;, so &#8220;Stargate/S3/&#8221; would be the 3rd season of Stargate.</p>
<p>Under the season folder  you file the tv shows that belong to that season, for instance: &#8220;Stargate 11 &#8211; Tokra.m4v&#8221;. iTunesMediaImport will parse the file name backwards and stop at the first dash (&#8216;-&#8217;) it finds. If it finds a number after the dash (looking towards the beginning of the filename) that number will become the show number in iTunes. The part after the dash until the end of the file name (except the .m4v extension) will become the name of the show.</p>
<p>&#8212;</p>
<p>iTunesMediaImport will keep a log of media files it has added into iTunes in order to avoid processing them over and over again. It will also delete shows from iTunes that have been deleted or renamed in your archive.</p>
<p>I invite you to give it a try, if you want you are welcome to contribute to it on Google Code. There&#8217;s also a forum for it <a href="http://helpdesk.agynamix.de/index.php?pg=forums.topics&amp;id=6">here</a>.</p>
<p>Have fun!</p>
<h4>References:</h4>
<ul>
<li>iTunesMediaImport on Google Code: <a href="http://code.google.com/p/itunesmediaimport/">http://code.google.com/p/itunesmediaimport/</a></li>
<li>iTunesMediaImport forum: <a href="http://helpdesk.agynamix.de/index.php?pg=forums.topics&amp;id=6">http://helpdesk.agynamix.de/index.php?pg=forums.topics&amp;id=6</a></li>
<li>My website: <a href="http://www.agynamix.de">http://www.agynamix.de</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/synchronize-your-media-library-with-itunes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Helpdesk works again</title>
		<link>http://www.agynamix.de/blog/helpdesk-works-again/</link>
		<comments>http://www.agynamix.de/blog/helpdesk-works-again/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 16:40:56 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=221</guid>
		<description><![CDATA[After a day of bug hunting and help from the great guys and gals at Userscape we were able to track down the problem to a wrong &#8216;include_path&#8217; setting in the PHP preferences. I have absolutely no clue why this setting was changed during a PHP security update or if it has been there all [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>After a day of bug hunting and help from the great guys and gals at <a href="http://www.userscape.com">Userscape</a> we were able to track down the problem to a wrong &#8216;include_path&#8217; setting in the PHP preferences.</p>
<p>I have absolutely no clue why this setting was changed during a PHP security update or if it has been there all along. Fact is the problem occured only after the update, and only in this one application. The value of &#8216;include_path&#8217; was set to &#8216;.&#8217; in a global confixx file &#8216;confixx_mhost.conf&#8217;. After commenting out the property the whole thing suddenly worked again.</p>
<p>So go ahead and use the <a href="http://helpdesk.agynamix.de">helpdesk</a>.</p>
<p>Have a great day,</p>
<p>Torsten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/helpdesk-works-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>reCaptcha to the rescue</title>
		<link>http://www.agynamix.de/blog/recaptcha-to-the-rescue/</link>
		<comments>http://www.agynamix.de/blog/recaptcha-to-the-rescue/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 08:05:12 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=110</guid>
		<description><![CDATA[Spam is a bad thing. Spam is ugly, dumb- I don&#8217;t want it. Probably as much as you do. A while ago I listened to one of the TWIT networks &#8220;Security Now&#8221; podcasts entitled &#8220;Are you human?&#8220;. In this episode Steve Gibson explains the Captcha mechanism (which stands for &#8220;Completely Automated Public Turing test to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Spam is a bad thing.</p>
<p>Spam is ugly, dumb- I don&#8217;t want it. Probably as much as you do.</p>
<p>A while ago I listened to one of the <a href="http://www.twit.tv/">TWIT</a> networks &#8220;<a href="http://www.twit.tv/SN">Security Now</a>&#8221; podcasts entitled &#8220;<a href="http://www.twit.tv/sn101">Are you human?</a>&#8220;. In this episode Steve Gibson explains the Captcha mechanism (which stands for &#8220;<em><span xml:lang="en" lang="en">Completely Automated Public Turing test to tell Computers and Humans Apart</span></em>&#8220;[Wikipedia]) and the newly created (at Carnedie Mellon University) reCaptcha mechanism.</p>
<p>Both are ways to solve the (actually pretty hard) problem to tell humans and machines apart (Are you a Who?) which is also known as the &#8220;Turing Test&#8221;. Now pattern recognition is getting better and better and computers are gaining rapidly in speed which makes this a harder problem with each passing year. There are now enough algorithms to fool the Captcha mechanisms used at big sites.</p>
<p><a href="http://recaptcha.net/">reCaptcha</a> to the rescue.</p>
<p><img src="http://v2.agynamix.de/wp-content/uploads/2007/08/recaptcha.JPG" alt="recaptcha.JPG" /></p>
<p>There are several projects going on currently that try to digitize paper books so that they can be archived in digital form, read online, etc. It&#8217;s so much nicer to have a digital text- you can search it, reformat it. Well, you can&#8217;t decorate your house- maybe you can use the digital book pages to decorate your ranch in &#8220;Second Life™&#8221;?</p>
<p>Anyway, they use the best OCR (Optical Character Recognition) software available and are still not able to scan all texts for whatever reason. Now that means that those OCR algorithms out there  are not able to digitize parts of those books correctly. reCaptcha then takes those words, obfuscates them even more and presents them to the user. Humans, of course, usually recognize the words and can tell the computer the meaning.</p>
<p>reCaptcha always presents you two words: one which is known to the system and one that isn&#8217;t. The unknown word is presented in multiple combinations with different known words to different users. When a certain amount of users have read the word the same way the words is declared to be known. It is then added to the dictionary of known words.</p>
<p>Using this algorithm you actually help digitizing those huge amounts of paper books!</p>
<p>So the moral? LEAVE MORE COMMENTS! <img src='http://www.agynamix.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;d be interested in your opinion upon this thing. Especially, would this mechanism discourage you to leave a comment?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/recaptcha-to-the-rescue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My world broke into pieces</title>
		<link>http://www.agynamix.de/blog/my-world-broke-into-pieces/</link>
		<comments>http://www.agynamix.de/blog/my-world-broke-into-pieces/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 16:21:59 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=106</guid>
		<description><![CDATA[Yesterday, the incredible happened. In just a moment, with the blinking of an eye, the world I had know was destroyed. Scattered. What happened, you may ask (and even if you don&#8217;t because you don&#8217;t bother a slightest bit I&#8217;m gonna tell you)? Our TV broke. It&#8217;s gone. It won&#8217;t come back. The world is [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><strong>Yesterday, the incredible happened.</strong></p>
<p style="text-align: center"><img src="http://v2.agynamix.de/wp-content/uploads/2007/08/100-0014_img.jpg" alt="100-0014_img.jpg" /></p>
<p>In just a moment, with the blinking of an eye, the world I had know was destroyed. Scattered. What happened, you may ask (and even if you don&#8217;t because you don&#8217;t bother a slightest bit I&#8217;m gonna tell you)?</p>
<p align="center"><strong>Our TV broke.</strong></p>
<p align="center">It&#8217;s gone. It won&#8217;t come back.  The world is changing.</p>
<p align="left">On Friday morning our son was home alone (no, his name is not Kevin). In an attempt to do something good he wanted to pull something up from behind our living room shelf. To do so he had to pull the TV slightly forward, just slightly, just a little bit, uh, too late. The whole thing crashed out of the shelf onto the floor.</p>
<p align="left">Now there is a gaping whole where there once was that thing that brought entertainment into relaxing evenings. And now? Do I have to start thinking again? Do I now have to do something useful instead of just consuming &#8220;NaviCIS&#8221;, &#8220;Monk&#8221; or &#8220;The Unit&#8221;?</p>
<p align="left">While I hate that thought I actually think Daniel (that son) did something great. He just took that darn thing out that consumed so much time. Of course it&#8217;s a pain to adjust to the new requirements, but I honestly think (while I&#8217;m by far not sure if Idon&#8217;t just hush out and buy a new one- shiny, full HD, Media Center ready piece of time consuming plastic) we&#8217;re into something good. And it&#8217;s also interesting to watch the own soul. How much did I get accustomed to the thing? Puh.</p>
<p align="left">And you know, my wife just insists in not buying a new one.</p>
<p align="left"><a href="http://blog.agynamix.de/?attachment_id=108" rel="attachment wp-att-108" title="img_0110.jpg"><img src="http://v2.agynamix.de/wp-content/uploads/2007/08/img_0110.jpg" alt="img_0110.jpg" /></a></p>
<p align="left">I still love her.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/my-world-broke-into-pieces/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announce: Dopus 0.9.12 released</title>
		<link>http://www.agynamix.de/blog/announce-dopus-0912-released/</link>
		<comments>http://www.agynamix.de/blog/announce-dopus-0912-released/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 10:02:45 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=104</guid>
		<description><![CDATA[I just released Dopus 0.9.12. Here is a not so precise list of some of the changes: fixed some bugs with the SET docbook type added more target hooks to the build process so you can customize more flexible added a description (although very shallow I admit) of all available target hooks to the manual [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I just released Dopus 0.9.12.</p>
<p>Here is a not so precise list of some of the changes:</p>
<ul>
<li>fixed some bugs with the SET docbook type</li>
<li>added more target hooks to the build process so you can customize more flexible</li>
<li>added a description (although very shallow I admit) of all available target hooks to the manual</li>
</ul>
<p>Go <a href="http://cms.agynamix.de/downloads/cat_view-2.html">grab it</a> while it&#8217;s hot <img src='http://www.agynamix.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here&#8217;s a short description of Dopus:</p>
<p>&#8220;Dopus is a Docbook publishing framework. It was designed with portability and extensibility in mind. Dopus can run on any Windows or Unix platform that supports Java.</p>
<p>We host Dopus here on our website as a free product that we want to give back to the Docbook community. The Dopus framework is distributed under the GNU General Public License. The various parts of the Dopus framework are distributed under their respective (free) licenses.&#8221;Torsten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/announce-dopus-0912-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A few more freebies</title>
		<link>http://www.agynamix.de/blog/a-few-more-freebies/</link>
		<comments>http://www.agynamix.de/blog/a-few-more-freebies/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 10:07:53 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=95</guid>
		<description><![CDATA[We had some intern work done lately. Two of the results are a simple Tax Calculator and a port of TiddlyWiki to the Windows Vista™ Sidebar. The Tax Calculator is useful if you have to recalculate between a gross and a net value of some amount of money. In the Calculator you just enter the [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>We had some intern work done lately.</p>
<p>Two of the results are a simple Tax Calculator and a port of TiddlyWiki to the Windows Vista™ Sidebar.</p>
<p>The Tax Calculator is useful if you have to recalculate between a gross and a net value of some amount of money. In the Calculator you just enter the amount and then push one of two buttons depending if you want to convert from gross to net or the other way round. You can grab a copy <a href="http://cms.agynamix.de/downloads/cat_view-2.html">here</a>.</p>
<p>The SideWiki is a port of the popular <a href="http://www.tiddlywiki.com/">TiddlyWiki</a>. As TiddlyWiki SideWiki runs within the IE engine that drives the Vista Sidebar. It does not need any server. You can use it to store your personal information in a wiki styled tool.</p>
<p>Also, if you follow the <a href="http://de.wikipedia.org/wiki/Getting_Things_Done">Getting Thing Done (GTD)</a> (developed by <a href="http://www.davidco.com/">David Allen</a>) methodology, this tool is for you!</p>
<p>SideWiki is still kind of a beta since it lacks documentation and might still have a few rough edges. But give it a try and us the feedback.</p>
<p>Enjoy,</p>
<p>Torsten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/a-few-more-freebies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dopus 0.9.4 out the door</title>
		<link>http://www.agynamix.de/blog/dopus-094-out-the-door/</link>
		<comments>http://www.agynamix.de/blog/dopus-094-out-the-door/#comments</comments>
		<pubDate>Fri, 01 Dec 2006 09:06:47 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=72</guid>
		<description><![CDATA[I have released Dopus version 0.9.4 today. This is a minor bug fix release which cures the following issues: MacOS X and Unix systems that don&#8217;t define JAVA_HOME by default: the generator.sh script will search for &#8216;java&#8217; by issuing the command &#8216;which java&#8217;. If a Java is found it is used otherwise an error message [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I have released Dopus version 0.9.4 today. This is a minor bug fix release which cures the following issues:</p>
<ul>
<li>MacOS X and Unix systems that don&#8217;t define JAVA_HOME by default: the generator.sh script will search for &#8216;java&#8217; by issuing the command &#8216;which java&#8217;. If a Java is found it is used otherwise an error message is printed</li>
<li>Path names with spaces are now supported on Windows and Unix systems.</li>
</ul>
<p>I have received some enhancement requests and will include them as time permits. Specifically these are:</p>
<ul>
<li>Support for multiple Docbook DTD versions</li>
<li>Support for variable substitution in Docbook documents. I want to be able to write &#8216;${document.version}&#8217; in a document and have the build engine replace that key with the value stored in one of the build property files. This way you can use all variables known to Ant in your document or define new ones in localbuild.properties.</li>
</ul>
<p>Till next time&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/dopus-094-out-the-door/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our new website is up and running</title>
		<link>http://www.agynamix.de/blog/our-new-website-is-up-and-running/</link>
		<comments>http://www.agynamix.de/blog/our-new-website-is-up-and-running/#comments</comments>
		<pubDate>Tue, 05 Sep 2006 15:31:14 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=68</guid>
		<description><![CDATA[I invite you to look at our brand new internet presentation. I much more like the look compared to our old one. I&#8217;m not quiet satified though with the link rewriting module we use in our Joomla site. But this one (404SEF) was the only one working together with Joomla&#8217;s Joom!Fish translation component (OpenSEF does [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I invite you to look at our <a href="http://www.agynamix.de">brand new internet presentation</a>. I much more like the look compared to <a href="http://www.agynamix.de/cms/">our old one</a>.</p>
<p>I&#8217;m not quiet satified though with the link rewriting module we use in our Joomla site. But this one (404SEF) was the only one working together with Joomla&#8217;s Joom!Fish translation component (OpenSEF does not at the moment). It was not an option for me to set up two separate sites anyway.</p>
<p>In the future I think we&#8217;re gonna be heading the Typo3 way. Typo3 is a very complex CMS system yet it yields capabilities unmatched by others (that I know). One way to stay ahead of competition is to utilize the more complex yet more powerful tools.</p>
<p>It is very easy to set up a Joomla CMS (creating a great Layout is far more difficult). It is much harder to set up Typo3. I&#8217;ve done this a while ago (with Typo3 V3) and it was struggling me against technology. I don&#8217;t know if I wan, though <img src='http://www.agynamix.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;ve set up a test system but the whole process was pretty tiring.</p>
<p>Anyway, Typo3 V4 is said to be much more intuitive to use. So, let&#8217;s check again.</p>
<p>Let me know if you like our page and what you think could be improved (of course there is room for improvement).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/our-new-website-is-up-and-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integration between Asterisk PBX and the fantastic Open-Xchange</title>
		<link>http://www.agynamix.de/blog/integration-between-asterisk-pbx-and-the-fantastic-open-xchange/</link>
		<comments>http://www.agynamix.de/blog/integration-between-asterisk-pbx-and-the-fantastic-open-xchange/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 12:53:41 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=23</guid>
		<description><![CDATA[We have created a small perl script that integrates OX with an Asterisk PBX. It uses Asterisk&#8217;s Manager API which means OX and Asterisk can run on different machines. Requirements: We use the OXSession.pm Perl Module described here. Copy it into a directory OXtensions in a path where perl will find it (we put it [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>We have created a small perl script that integrates OX with an Asterisk PBX. It uses Asterisk&#8217;s Manager API which means OX and Asterisk can run on different machines.</p>
<p><a href="http://v2.agynamix.de/wp-content/uploads/2006/04/OX_Click2Dial.jpg" onclick="doPopup(32);return false;" title="OX Click2Dial" class="imagelink"><img src="http://v2.agynamix.de/wp-content/uploads/2006/04/OX_Click2Dial.jpg" alt="OX Click2Dial" id="image32" height="86" width="128" /></a></p>
<h2>Requirements:</h2>
<ul>
<li>We use the OXSession.pm Perl Module described <a href="http://www.open-xchange.org/oxwiki/Talking_20to_20the_20Sessiond_20with_20Perl" target="_top">here</a>. Copy it into a directory OXtensions in a path where perl will find it (we put it directly into the cgi-bin next to the click-2-dial script)</li>
</ul>
<ul>
<li>We use the following perl modules:
<pre>use lib '/usr/lib/cgi-bin';
use CGI;
use Net::Telnet ();
use Net::LDAP;</pre>
</li>
</ul>
<h2>Step by Step instructions:</h2>
<h3>On the Asterisk side:</h3>
<p>You need to include a user into Asterisk&#8217;s manager.conf (/etc/asterisk in most cases):</p>
<pre>[axdial]
secret = axdial
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user</pre>
<p>If your OX Server runs on a different host and with it the click-2-dial script you need to adjust the
<div class="codesnip-container" >permit=</div>
<p> line. Also pick yourself a nice username (in square brackets) and secret.</p>
<h3>On the OX side</h3>
<p>The Open-Xchange guys were very smart and included some cool extension points into the groupware. For a detailed explanation please read <a href="http://www.open-xchange.org/oxwiki/CommunicationSolutions" target="_top">this</a>.</p>
<p>So in the file
<div class="codesnip-container" >intranet.conf</div>
<p> you have several hooks you can activate. This has been tested with 0.8.2-RC3 but should work with 0.8.0-5 and above (as stated in the above document).</p>
<div class="codesnip-container" ></div>
<pre>$OX_HOME/etc/groupware/intranet.conf

faxURL=http://server/?fax=$fax&amp;name=$contact_name&amp;uid=$user_uid&amp;
uid_pass=$user_pass&amp;uid_name=$user_name
phoneURL=https://[your-server]/cgi-bin/ax_asterisk.pl?session_id=$sessionid&amp;
to_call=$phone
smsURL=https://[your-server]/cgi-bin/ax_asterisk.pl?session_id=$sessionid&amp;
to_call=$sms</pre>
<pre># "true" uses webmail for sending a mail, "link" for external server
# "false" makes nothing
faxEnabled=link</pre>
<p>You must set
<div class="codesnip-container" >faxEnabled=link</div>
<p> in order to activate the links. You must activate all 3 of them or OX will throw a <span class="twikiNewLink">NullPointerException</span> (0.8.2-RC3).</p>
<p>Next you need to copy the perl script ax_asterisk.pl into your cgi-bin directory (usr/lib/cgi-bin und Debian/Ubuntu). Make sure Perl scripts can be executed as cgi scripts.</p>
<p>Please open the script in an editor (vi) and check the variable section and the beginning of the script. In most cases you need to adjust them to your needs. The variables are explained in the script.</p>
<p>The script will do the following:</p>
<ul>
<li>Whenever there is a telephone number, mobile no or fax number OX will place the code behind &#8230;URL in its place. This makes the phone number clickable. It will open a small popup window (at least on my machine <img src="https://kaleb/twiki/pub/TWiki/SmiliesPlugin/smile.gif" title="smile" alt="smile" border="0" /> ) and display error messages there (in case there are any). If successful the window will close automatically. The script is called with the sessionID of the user that clicked and the number that should be dialed.</li>
<li>The script will use OXSession to look into the given session and check if it&#8217;s valid. If not you will see an error message</li>
<li>It will then create an LDAP connection to read the user&#8217;s &#8216;Pager&#8217; number. This field must hold the internal extension number that Asterisk should call.</li>
<li>If it has collected all data without error it will use the Asterisk Manager to originate a call.</li>
<li>After the user phone rings, the user picks up the phone and Asterisk will then dial the given number.</li>
</ul>
<p>I hope you find this script useful.</p>
<p>Resources:</p>
<p><a href="http://v2.agynamix.de/wp-content/uploads/2006/04/ax_asterisk.zip" onmousedown="selectLink(33);" id="p33">ax_asterisk.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/integration-between-asterisk-pbx-and-the-fantastic-open-xchange/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nagios und Asterisk (Nagios lernt sprechen)</title>
		<link>http://www.agynamix.de/blog/nagios-und-asterisk-nagios-lernt-sprechen/</link>
		<comments>http://www.agynamix.de/blog/nagios-und-asterisk-nagios-lernt-sprechen/#comments</comments>
		<pubDate>Wed, 01 Mar 2006 12:59:58 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=21</guid>
		<description><![CDATA[Da wir ja bei uns eine Asterisk-Telefonanlage im Einsatz haben (Hint: wir verkaufen die auch!) und außerdem ein Nagios-Monitoringsystem (NMS: Network Management System), lag die Idee ja nahe, Nagios über Asterisk reden zu lassen. Dazu habe ich folgendes gemacht: Im Nagios ein neues Kommando notify-by-asterisk angelegt, dass im entsprechenden Kontakt angegeben wird. Das Kommando selbst [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Da wir ja bei uns eine <a href="http://www.asterisk.org">Asterisk</a>-Telefonanlage im Einsatz haben (Hint: wir verkaufen die auch!) und außerdem ein Nagios-Monitoringsystem (NMS: Network Management System), lag die Idee ja nahe, Nagios über Asterisk reden zu lassen.<br />
Dazu habe ich folgendes gemacht: Im Nagios ein neues Kommando notify-by-asterisk angelegt, dass im entsprechenden Kontakt angegeben wird. Das Kommando selbst ist recht simpel:</p>
<pre># 'notify-by-asterisk' command definition
define command{
command_name    notify-by-asterisk
command_line    /usr/local/nagios/bin/asterisk_call.sh $NOTIFICATIONTYPE$ $SERVICEDESC$
$HOSTALIAS$ $SERVICESTATE$ $SERVICEOUTPUT$
}</pre>
<p>Das Skript asterisk_call.sh ist ein einfaches Shellskript, das zuerst einen Textstring erzeugt, diesen dann durch Festival jagt (erzeugt eine Wav-Datei) und anschließend eine Asterisk-Call-Datei erzeugt, die dann in das outgoing-Verzeichnis von Asterisk kopiert wird. Asterisk nimmt die Datei, generiert einen Anruf und spielt die wav-Datei ab.</p>
<div style="text-align: center"><img title="103-0391_img.jpg" id="image20" alt="103-0391_img.jpg" src="http://v2.agynamix.de/wp-content/uploads/2006/03/103-0391_img.jpg" /></div>
<p>Die Lösung funktioniert auf unserem System. Damit sie auch woanders läuft müssen noch ein paar Einstellungen vorgenommen werden:</p>
<ul>
<li>visudo ausführen: Der Nagios-User (bei mir: nagios) braucht das Recht, eine Datei als User www-data (unter dem läuft Asterisk bei mir. Ist der Web-User weil ich zusätzlich noch AMP im Einsatz habe und hier gibt es Rechtekonflikte, wenn AMP als Webapplikation nicht auf die Asteriskdateien zugreifen darf.) in das Asterisk outgoing-Verzeichnis (<em>/var/spool/asterisk/outgoing</em>) zu dürfen:</li>
<li>
<pre>nagios   ALL = (www-data NOPASSWD:) /bin/cp</pre>
</li>
<li>Die Datei asterisk_call.sh anpassen und für nagios ausführbar in <em>/usr/local/nagios/bin</em> (oder woanders, dann aber das Nagios-Kommando anpassen) zur Verfügung stellen:</li>
</ul>
<pre>#!/bin/sh</pre>
<pre>NOTIFICATIONTYPE=$1
SERVICEDESC=$2
HOSTALIAS=$3
SERVICESTATE=$4
SERVICEOUTPUT=$5</pre>
<pre>OUT_STR=`/usr/bin/printf "%b" "This is the Nagios Monitoring System sending a \
$NOTIFICATIONTYPE notification. The Service $SERVICEDESC at host $HOSTALIAS \
is in state $SERVICESTATE. This is the service output: $SERVICEOUTPUT."`</pre>
<pre>play_file="/tmp/asterisk_nagios"
bf="$play_file.wav"
cf="$play_file.call"
lf="$play_file.log"</pre>
<pre>
CHANNEL="SIP/(peer)/(no to dial)"
CALLER_ID="Nagios "

echo "$OUT_STR" > $lf

echo "$OUT_STR" | /usr/bin/text2wave -scale 1.5 -F 8000 -o $bf

echo "Channel: $CHANNEL" > $cf
echo "WaitTime: 60" >> $cf
echo "MaxRetries: 3" >> $cf
echo "CallerId: $CALLER_ID" >> $cf
echo "Application: Playback" >> $cf
echo "Data: $play_file" >> $cf

sudo -u www-data cp $cf /var/spool/asterisk/outgoing

rm $cf</pre>
<p>Das wars. Festival ist nur als englische Version erhältlich (es gibt zwar deutsche Anpassungen, hab ich aber noch nicht ausprobiert), es gibt jedoch unter <a href="http://www.cepstral.com">http://www.cepstral.com</a> sehr gut klingende englische und deutsche Stimmen- die kosten so um die 30$.</p>
<p>Viel Spaß.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/nagios-und-asterisk-nagios-lernt-sprechen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Asterisk auf Ubuntu Linux (AMD64)</title>
		<link>http://www.agynamix.de/blog/asterisk-auf-ubuntu-linux-amd64/</link>
		<comments>http://www.agynamix.de/blog/asterisk-auf-ubuntu-linux-amd64/#comments</comments>
		<pubDate>Sat, 18 Feb 2006 16:54:45 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=13</guid>
		<description><![CDATA[Da denkt man nun, man hat einen tollen Prozessor. Ha, Pustekuchen! Wenn man sich außerhalb der i386 Gewässer bewegt, darf man an manchen Stellen zum eigenen Schraubenzieher greifen. Aber jetzt läuft es- Asterisk (1.2.1) zusammen mit AMP auf unserem Ubuntu-Server. Ich bin dabei, für den ganzen Kram eine Installanleitung zu verfassen, hier schonmal ein paar [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Da denkt man nun, man hat einen tollen Prozessor. Ha, Pustekuchen! Wenn man sich außerhalb der i386 Gewässer bewegt, darf man an manchen Stellen zum eigenen Schraubenzieher greifen.</p>
<p>Aber jetzt läuft es- <a href="http://blog.agynamix.de/wp-admin/www.asterisk.org">Asterisk</a> (1.2.1) zusammen mit <a title="Asterisk Management Portal" href="http://coalescentsystems.ca/index.php?option=com_content&#038;task=view&#038;id=31&#038;Itemid=57">AMP</a> auf unserem Ubuntu-Server.</p>
<p>Ich bin dabei, für den ganzen Kram eine Installanleitung zu verfassen, hier schonmal ein paar Tipps im Voraus:</p>
<p>Für die Installation habe ich mir den Bristuff-Patch von <a href="http://83.137.99.169/~junghanns.net/downloads/bristuff-0.3.0-PRE-1f.tar.gz">www.junghanns.net</a> heruntergeladen (Version mit dem f hintendran), dazu dann noch den passenden <a href="http://zaphfc.florz.dyndns.org/">Florz-Patch</a>:</p>
<ul>
<li>ins bristuff-Paket wechseln, ./download.sh tipseln und warten</li>
<li>danach Florz-Patch einspielen: <tt>zcat /path/to/zaphfc_0.3.0-PRE-1f_florz-11.diff.gz | patch -p1</tt></li>
<li>dann in den Verzeichnissen zaphfc und zaptel die Makefiles anpassen: dem Schalter <strong>KFLAGS</strong> wird noch folgendes hinzugefügt: -mcmodel=kernel. Wenn man das nicht macht, lässt sich das Ganze zwar übersetzen, aber die Kernel-Module können nicht geladen werden. Dumm das. Das bringt uns zum nächsten: die Kernelquellen müssen installiert und konfiguriert sein:</li>
<ul>
<li>aus dem Verzeichnis /boot die entspr. config-Datei ins Kernel-Source Verzeichnis kopieren (nach .config), dann mal make menuconfig ausführen, exit auswählen und Konfiguration speichern. Danach: make prepare-all. Die Quellen werden gesucht unter /usr/src/linux bzw. /usr/src/linux-2.6. Man sollte beide symbolische Links anlegen.</li>
</ul>
<li>Mit diesen Schritten sollte sich Asterisk übersetzen lassen. Aus dem bristuff-Verzeichnis ./compile.sh aufrufen.</li>
</ul>
<p>Nach der Installation des AMP-Moduls musste ich noch folgende Änderungen durchführen:</p>
<ul>
<li>der User, der Asterisk ausführt, ist bei mir www-data:www-data. Es gibt Probleme, wenn ein Teil als asterisk-User läuft und der Web-Teil als www-data, daher diese Anpassung. Das muss im Script /usr/sbin/amportal geändert werden.</li>
<li>in /var/www/recordings/modules/settings.module: Das ARI Modul erwartet vom Asterisk Call Manager die Rückmeldung: &#8220;Asterisk Call Manager 1.0&#8243;, das &#8220;1.0&#8243; muss durch &#8220;1.2&#8243; ersetzt werden. 2 Positionen sind hier zu ändern.</li>
<li>in /var/lib/asterisk/agi-bin/dialparties.agi gibt es 2x die Zeile &#8220;$tn->waitfor(&#8216;/0\n$/&#8217;);&#8221;, die muss geändert werden nach: &#8220;$tn->waitfor(&#8216;/2\n$/&#8217;);&#8221;, sonst wartet das Teil ewig mit dieser Meldung im Log: &#8220;dialparties.agi: Checking CW and CFB status for extension xxx&#8221;. Hu, ich kann die Haare gar nicht zählen, die mich das gekostet hat!</li>
</ul>
<p>Nuja, mit ein bißchen Glück sollte das Ganze jetzt funktionieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/asterisk-auf-ubuntu-linux-amd64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unser Open Exchange Server läuft</title>
		<link>http://www.agynamix.de/blog/unser-open-exchange-server-lauft/</link>
		<comments>http://www.agynamix.de/blog/unser-open-exchange-server-lauft/#comments</comments>
		<pubDate>Tue, 14 Feb 2006 16:21:30 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=12</guid>
		<description><![CDATA[Hurra, es ist geschafft! Die neue OX Version (0.8.2-RC2 &#8230; inzwischen auch die RC3 &#8230;) ist am Laufen! Es war nicht einfach, aber es hat sich gelohnt. Auf dem Server läuft Ubuntu Breezy (es war ein Grauen, dieses auf einem Server mit zwei Raid-1 Systemen einzurichten, aber das haben wir auch geschafft). Open Exchange ist [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Hurra, es ist geschafft!</p>
<p>Die neue OX Version (0.8.2-RC2 &#8230; inzwischen auch die RC3 &#8230;) ist am Laufen! Es war nicht einfach, aber es hat sich gelohnt.</p>
<p>Auf dem Server läuft Ubuntu Breezy (es war ein Grauen, dieses auf einem Server mit zwei Raid-1 Systemen einzurichten, aber das haben wir auch geschafft).</p>
<p>Open Exchange ist an Cyrus/Postfix/Fetchmail angebunden und läuft derzeit stabil.</p>
<p>Ich bin dabei, ein Installationshandbuch zu verfassen, in dem alles zusammen abgehandelt wird (Cyrus-Anbindung wird in den meisten HowTo&#8217;s verschwiegen).</p>
<p>Hat jemand Interesse? Bitte melden und meine Motivation steigern <img src='http://www.agynamix.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Und weil wir gerade am Fragen sind: Hat jemand Interesse an einem Linux Business Server Installer- also ein<br />
Installer, der über eine einfache Oberfläche bedienbar, die Installation, Konfiguration und Wartung (Update) von Business-Komponenten vereinfacht:</p>
<ul>
<li>Asterisk</li>
<li>OpenVPN</li>
<li>Samba</li>
<li>DNS/DHCP</li>
<li>Open Exchange</li>
<li>Hylafax</li>
<li>&#8230;</li>
</ul>
<p>Wir überlegen derzeit, ob es für so etwas Bedarf gibt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/unser-open-exchange-server-lauft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Linux Small Business Server</title>
		<link>http://www.agynamix.de/blog/ein-linux-small-business-server/</link>
		<comments>http://www.agynamix.de/blog/ein-linux-small-business-server/#comments</comments>
		<pubDate>Thu, 09 Feb 2006 14:53:02 +0000</pubDate>
		<dc:creator>tuhlmann</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.agynamix.de/?p=10</guid>
		<description><![CDATA[Derzeit hab ich ein neues Steckenpferd: Einen richtig ausgewachsenen Linux Business Server. Mir gefällt das openXchange-Projekt ziemlich gut, es ist nur recht mühsam zu installieren. Derzeit hab ich es einigermaßen am Laufen- Optimierung läuft. Zusätzlich bietet unser Linux Server einen Backup-Dienst für sich selbst und angeschlossene Clients, eine richtig tolle Asterisk-Telefonanlage, VPN-Einwahl (OpenVPN) und was [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Derzeit hab ich ein neues Steckenpferd: Einen richtig ausgewachsenen Linux Business Server.</p>
<p>Mir gefällt das <a href="http://www.open-xchange.org">openXchange-Projekt</a> ziemlich gut, es ist nur recht mühsam zu installieren. Derzeit hab ich es einigermaßen am Laufen- Optimierung läuft. Zusätzlich bietet unser <a href="http://www.ubuntu.com">Linux</a> Server einen <a href="http://www.bacula.org">Backup-Dienst</a> für sich selbst und angeschlossene Clients, eine richtig tolle Asterisk-Telefonanlage, VPN-Einwahl (OpenVPN) und was ein Linux-Server eben so noch bietet (DHCP, DNS, SAMBA), all die schönen Sachen.</p>
<p>Interessenten bitte melden! <img src='http://www.agynamix.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.agynamix.de/blog/ein-linux-small-business-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

