<?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>Minded Software Solutions</title>
	<atom:link href="http://www.minded.ca/default/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.minded.ca/default</link>
	<description>custom systems and software development group</description>
	<lastBuildDate>Mon, 09 Jan 2012 04:02:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Browser Rendering Of Cisco Services With XSLT</title>
		<link>http://www.minded.ca/default/2011-01-10/browser-rendering-of-cisco-services-with-xslt/</link>
		<comments>http://www.minded.ca/default/2011-01-10/browser-rendering-of-cisco-services-with-xslt/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 22:17:35 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[xml services]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://www.minded.ca/default/?p=159</guid>
		<description><![CDATA[When building custom Cisco XML Service applications, the action of testing the applications can easily turn into a tedious and agitating process. With the limited input facilities available on a Cisco IP Phone, data entry and debugging; among other tasks, becomes much more difficult. In addition to the problems of interacting with the service, there [...]]]></description>
			<content:encoded><![CDATA[<p>When building custom Cisco XML Service applications, the action of testing the applications can easily turn into a tedious and agitating process.  With the limited input facilities available on a Cisco IP Phone, data entry and debugging; among other tasks, becomes much more difficult.  In addition to the problems of interacting with the service, there is also the problem of testing more than one object at a time.  Although custom menus can be setup to access the various objects being tested, this results in the maintenance of additional service objects that are not necessary for the final application.</p>
<p>In light of these issues with testing and development, our programming group put together and added the functionality to apply XSLT stylesheets to XML service objects and return the formatted results of the transformation.  With this functionality available, an XSLT stylesheet was created to provide an HTML rendering of Cisco XML objects to make them easily viewable in any web browser.</p>
<p>With XML service objects available in a browser-friendly format, testing can be done quickly and easily through workstations.  No need to continually re-work Cisco phone configuration files and reset.  Also, by transforming the XML objects into more usable markup; additional functionality has been added to help the objects perform similar to when loaded through a Cisco IP Phone.  The most notable function of this nature is the basic masking of input fields with JQuery when rendered through the XSLT sytlesheet.</p>
<p>Further modifications and additions are expected to be made to the XSLT stylesheet as the framework grows.  These additions and modifications will be made and the file re-uploaded in place.  A copy of the most up to date XSLT stylesheet will be kep attached here as long as it is available.</p>
<div class="dl-compressed">Download <a href="http://www.minded.ca/default/wp-content/uploads/2011/01/CiscoIPPhoneXSLT.zip">CiscoIPPhone XSLT Stylesheet</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2011-01-10/browser-rendering-of-cisco-services-with-xslt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cisco XML Framework Documentation</title>
		<link>http://www.minded.ca/default/2011-01-05/cisco-xml-framework-documentation/</link>
		<comments>http://www.minded.ca/default/2011-01-05/cisco-xml-framework-documentation/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 22:36:10 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[php class]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[xml services]]></category>

		<guid isPermaLink="false">http://www.minded.ca/default/?p=136</guid>
		<description><![CDATA[With the start of 2011 came the official release of the &#8216;CiscoIPPhone&#8216; PHP Framework. The framework is aimed at simplifying the creation and manipulation of the various Cisco XML service objects. Additions and updates are already in the works for the next release version of the framework. The following documentation will be kept as up [...]]]></description>
			<content:encoded><![CDATA[<p>With the start of 2011 came the official release of the <a href="http://www.minded.ca/default/2010-12-29/cisco-xml-services-framework/" target="_self">&#8216;<em>CiscoIPPhone</em>&#8216; PHP Framework</a>.  The framework is aimed at simplifying the creation and manipulation of the various Cisco XML service objects.  Additions and updates are already in the works for the next release version of the framework.  The following documentation will be kept as up to date as possible as the framework evolves and updates are issued.  For more information and documentation on the use of the XML service objects with Cisco Systems, see <a href="http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/all_models/xsi/5_1/english/programming/guide/ip5_1ch2.html" target="_blank">www.cisco.com</a>.</p>
<h2><strong>OBJECT CLASSES:</strong></h2>
<p style="padding-left: 30px;"><a href="#CiscoXMLService">CiscoXMLService</a></p>
<p style="padding-left: 30px;"><a href="#CiscoIPPhoneMenu">CiscoIPPhoneMenu</a><br />
<a href="#CiscoIPPhoneText">CiscoIPPhoneText</a><br />
<a href="#CiscoIPPhoneInput">CiscoIPPhoneInput</a><br />
<a href="#CiscoIPPhoneDirectory">CiscoIPPhoneDirectory</a><br />
<a href="#CiscoIPPhoneImageFile">CiscoIPPhoneImageFile</a><br />
<a href="#CiscoIPPhoneGraphicFileMenu">CiscoIPPhoneGraphicFileMenu</a><br />
<a href="#CiscoIPPhoneIconFileMenu">CiscoIPPhoneIconFileMenu</a><br />
<a href="#CiscoIPPhoneExecute">CiscoIPPhoneExecute</a></p>
<p style="padding-left: 60px;"><em>* NOTE: not all XML objects are included in the framework as they are not yet supported.</em></p>
<h2><strong>FUNCTION REFERENCE:</strong></h2>
<p><em><strong><a name="CiscoXMLService" href="#top">CiscoXMLService</a> (abstract)</strong></em></p>
<p>The base class for all Cisco XML service objects.  This is an abstract superclass object only and contains global object functionality.  Methods available to <em>CiscoXMLService</em> are inherently available to all other Cisco XML service object classes.</p>
<ul class="squares">
<li><em>addSoftKey($name, $url, $position)</em><br />
Insert a custom softkey for the current service object pointing to <em>$url</em> in at slot <em>$position</em> and with the button titled <em>$name</em>.</li>
<li><em>applyXSLT($file)</em><br />
Returns the output of the service object after the XSLT stylesheet <em>$file</em> has been applied.<em> </em></li>
<li><em> toXML()</em><br />
Returns the formatted XML output of the current service object.  All subclasses implement a custom override method for of this and call this parent method to render any associated softkeys to the object.<em> </em></li>
</ul>
<p><em><strong><a name="CiscoIPPhoneMenu" href="#top">CiscoIPPhoneMenu</a></strong></em></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates new instance of CiscoIPPhoneMenu.</li>
<li><em>setTitle($title)</em><br />
Specify a title for the current menu.</li>
<li><em>setPrompt($prompt)<br />
</em>Add a prompt message to the current menu.<em> </em></li>
<li><em>addItem($name, $url)</em><br />
Adds a new menu item to the current menu point to <em>$url</em> and identified by <em>$name</em>.</li>
<li><em>toXML()</em><br />
Returns formatted XML for the current menu.</li>
</ul>
<p><em><strong><a name="CiscoIPPhoneText" href="#top">CiscoIPPhoneText</a></strong></em></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates a new instance of CiscoIPPhoneText.</li>
<li><em>setTitle($title)</em><br />
Specify a title for the current text block.</li>
<li><em>setPrompt($prompt)</em><br />
Add a prompt message to the current text block.</li>
<li><em>setText($text)</em><br />
Insert block of ASCII, <em>$text</em>, into the text object.</li>
<li><em>toXML()</em><br />
Returns formatted XML for the text object.</li>
</ul>
<p><em><strong><a name="CiscoIPPhoneInput" href="#top">CiscoIPPhoneInput</a></strong></em></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates a new isntance of CiscoIPPhoneInput.</li>
<li><em>setTitle($title)</em><br />
Specify a title for the current input object.</li>
<li><em>setPrompt($prompt)</em><br />
Add a prompt message to the input object.</li>
<li><em>setURL($url)</em><br />
Assign <em>$url</em> as the location to pass the information requested by the input object.</li>
<li><em>addItem($name, $param, $default = &#8220;&#8221;, $mask = &#8220;A&#8221;)</em><br />
Insert an input field into the current input object.  The new item will be labelled <em>$name</em> and the value passed with the name <em>$param</em>.  A default value can be specified by provided <em>$default</em>.  An input mask can be applied by providing <em>$mask</em> as well (see Cisco documentation for valid input mask values).</li>
<li><em>toXML()</em><br />
Returns formatted XML for the input object.</li>
</ul>
<p><em><strong><a name="CiscoIPPhoneDirectory" href="#top">CiscoIPPhoneDirectory</a></strong></em></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates a new instance of CiscoIPPhoneDirectory.</li>
<li><em>setTitle($title)</em><br />
Specify a title for the directory object.</li>
<li><em>setPrompt($prompt)</em><br />
Add a prompt message to the directory object.</li>
<li><em>addItem($name, $number)</em><br />
Insert a new directory entry identifed by <em>$name</em> and with a telephone number of <em>$number</em>.  If directory entry with the same <em>$name</em> and <em>$number</em> already exists, the item will NOT be added.</li>
<li><em>toXML()</em><br />
Returns formatted XML for the directory object.</li>
</ul>
<p><strong><em><a name="CiscoIPPhoneImageFile" href="#top">CiscoIPPhoneImageFile</a></em></strong></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates a new instance of CiscoIPPhoneImageFile.<em> </em></li>
<li><em>setTitle($title)</em><br />
Specify a title for the image display object.</li>
<li><em>setPrompt($prompt)</em><br />
Add a prompt message to the image display object.</li>
<li><em>setImageURL($url)</em><br />
Specify the location, <em>$url</em>, of the image to display.<em> </em></li>
<li><em>setPosition($x, $y)</em><br />
Provide a point of origin for the image display.  The top-left corner of the image will be anchored to point (<em>$x</em>, <em>$y</em>) on the services display panel.</li>
<li><em>toXML()</em><br />
Returns formatted XML for the directory object.<em> </em></li>
</ul>
<p><strong><em><a name="CiscoIPPhoneGraphicFileMenu" href="#top">CiscoIPPhoneGraphicFileMenu</a></em></strong></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates a new instance of CiscoIPPhoneGraphicFileMenu.</li>
<li><em>setTitle($title)</em><br />
Specify a title for the graphical menu object.</li>
<li><em>setPrompt($prompt)</em><br />
Add a prompt message to the graphical menu object.</li>
<li><em>setImageURL($url)</em><br />
Specify the location, <em>$url</em>, of the image file to display as the graphical menu.<em> </em></li>
<li><em>setPosition($x, $y)</em><br />
Provide a point of origin for the image display.  The top-left corner of the image will be anchored to point (<em>$x</em>, <em>$y</em>) on the services display panel.</li>
<li><em>addItem($name, $url, $area)</em><br />
Add a menu item to the graphical menu object.  The <em>$name</em> provided is merely a placeholder and will not be displayed, common practice is to use the title of the current graphical menu object.  The menu item will direct the user to <em>$url</em> when selected.  The menu item will be selectable by touching the screen area defined by <em>$area</em>, an array of four integers.  The first two integers are X1 and Y1; the top left corner of the touch area.  The second two integers are X2 and Y2; the bottom right corner of the touch area for the menu item being added.</li>
<li><em>toXML()</em><br />
Returns formatted XML for the directory object.<em> </em></li>
</ul>
<p><strong><em><a name="CiscoIPPhoneIconFileMenu" href="#top">CiscoIPPhoneIconFileMenu</a></em></strong></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates a new instance of CiscoIPPhoneIconFileMenu.</li>
<li><em>setTitle($title)</em><br />
Specify a title for the icon menu object.</li>
<li><em>setPrompt($prompt)</em><br />
Add a prompt message to the icon menu object.</li>
<li><em>addIcon($url, $index)</em><br />
Add an icon item to the icon menu object.  The location of the icon image is given by <em>$url</em>.  Each icon must also be provided an <em>$index</em> value between 0 and 9.  Icon indices are used to associate menu items to icon items.</li>
<li><em>addItem($name, $url, $icon)</em><br />
Add a menu item to the icon menu object.  The menu item will be identified by <em>$name</em>, and direct users to <em>$url</em> when selected.  The menu item will display the icon associated to icon item <em>$index</em>.</li>
<li><em>toXML()</em><br />
Returns formatted XML for the directory object.<em> </em></li>
</ul>
<p><strong><em><a name="CiscoIPPhoneExecute" href="#top">CiscoIPPhoneExecute</a></em></strong></p>
<ul class="squares">
<li><em>__construct()</em><br />
Creates a new instance of CiscoIPPhoneExecute.</li>
<li><em>addItem($url, $priority = 0)</em><br />
Adds an item to be executed by the destined Cisco device.  The device will attempt to execute <em>$url</em> and return response codes based on the success or failure of the execution.  If a <em>$priority</em> value is not specified, 0 is used to cause the execution to happen immediately.  See Cisco documentation for valid priority values.</li>
<li><em>toXML()</em><br />
Returns formatted XML for the directory object.<em> </em></li>
</ul>
<p>The most recent version of the <em>CiscoIPPhone</em> Framework is available at <a href="http://www.minded.ca/default/2010-12-29/cisco-xml-services-framework/">http://www.minded.ca/default/2010-12-29/cisco-xml-services-framework/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2011-01-05/cisco-xml-framework-documentation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cisco XML Services Framework</title>
		<link>http://www.minded.ca/default/2010-12-29/cisco-xml-services-framework/</link>
		<comments>http://www.minded.ca/default/2010-12-29/cisco-xml-services-framework/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 20:09:18 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[php class]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[xml services]]></category>

		<guid isPermaLink="false">http://www.minded.ca/default/?p=130</guid>
		<description><![CDATA[Over the past several months a great deal of further efforts have been put into the &#8216;CiscoIPPhone&#8216; framework, previously discussed the &#8216;Cisco XML Framework Concept&#8216; post. All the hard work has finally paid off as the framework&#8217;s first release version has been completed. The CiscoIPPhone Framework is now available for download (see below). This first [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past several months a great deal of further efforts have been put into the &#8216;<em>CiscoIPPhone</em>&#8216; framework, previously discussed the &#8216;<a href="http://www.minded.ca/default/2010-09-29/cisco-xml-framework-concept/">Cisco XML Framework Concept</a>&#8216; post.  All the hard work has finally paid off as the framework&#8217;s first release version has been completed.  The <em>CiscoIPPhone </em>Framework is now available for download (see below).</p>
<p>This first release version is currently available without documentation as it is not yet complete.</p>
<p>There are also a few significant changes made to the projects design and the overall organization of the framework.  The most significant change brought into the project was added very late in its development.  As the objects grew and the framework took its shape, it seemed both natural and imperative to make provisions for the concept of global framework functionality.  The idea being to have a space within the framework for functionality and controls less related to individual service objects but still applicable to the framework as a whole.</p>
<p>Another change to note for testers and developers is the option on all service objects to apply an XSLT file directly to service objects to retrieve the formatted results of the transformation.  As the more interactive components of the framework were being added, testing processes found it useful to make the XML service objects usable in a web browser.  As more and more framework objects were tested, it was deemed relevant enough to be included in the base CiscoXMLService superclass object.</p>
<p>As a result of the inclusion of an XSL transformation function and the thorough testing of all object functions, a robust XSL stylesheet template was created by testers to transform all usable service objects into corresponding, formatted HTML markup.  Not all objects could be tested in this way as some rely on the Cisco IP Phone firmware to be run correctly (Execute objects for example).  It is the intention of the developers and the testers to make the resulting XSL stylesheet available to the public as well.</p>
<div class="dl-compressed">Download <a href="http://www.minded.ca/default/wp-content/uploads/2010/12/CiscoIPPhoneFramework-0.1.0.tar.gz">CiscoIPPhone Framework</a></div>
<p><strong>INSTALLATION:</strong></p>
<p>To install the framework, unpack the archived file.  Copy the &#8216;<em>CiscoIPPhone</em>&#8216; folder to the webserver&#8217;s PHP include location.  NOTE:  This framework requires PHP 5.</p>
<p><strong>USAGE:</strong></p>
<p>Once installed in the PHP include directory, add the code:</p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;">require_once(&#8216;CiscoIPPhone/Framework.php&#8217;); </span></p>
<p>This will make all of the objects in the framework available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-12-29/cisco-xml-services-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cisco XML Framework Concept</title>
		<link>http://www.minded.ca/default/2010-09-29/cisco-xml-framework-concept/</link>
		<comments>http://www.minded.ca/default/2010-09-29/cisco-xml-framework-concept/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 01:35:00 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[php class]]></category>
		<category><![CDATA[sccp]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[xml services]]></category>

		<guid isPermaLink="false">http://minded.ca/?p=115</guid>
		<description><![CDATA[With a great deal of development happening in various facets of the VoIP-o-sphere, many players are trenching out their niche in the evolving market. One of the most prominent of these markets is also one of the most tangible, telephony hardware. With a variety of manufacturers out there, each is forming its own style and [...]]]></description>
			<content:encoded><![CDATA[<p>With a great deal of development happening in various facets of the VoIP-o-sphere, many players are trenching out their niche in the evolving market.  One of the most prominent of these markets is also one of the most tangible, telephony hardware.  With a variety of manufacturers out there, each is forming its own style and feature list to build a unique identity.</p>
<p>In addition, with VoIP being so attached to the computing industry as it is to the telephony world; much of hardware is being designed to reflect this.  One of the more commonly seen features that takes advantage of this is the presence of a screen.  By allowing for enhanced interfaces through screen displays (and touch screens in some cases), many of the devices manufactured support methods of enabling custom application interactions.  More subtly, these devices are usually run via firmware; much like computing hardware.  By building hardware with this hybrid design of computing technology models and the user accepted interface of the telephone, the industry is quickly shaping what is requested of the market by way of what it provides the market.</p>
<p>The VoIP telephone units made by Cisco Systems support a variety of XML service objects with their firmware.  These service objects allow for other applications to interact with the VoIP system at the user level.  The phones can be configured with custom links to directories and menus, also made from XML service objects.  By creating links to applications that return formated Cisco XML services objects, the phones can directly interact with almost any system or application on a network.</p>
<p>PHP is commonly used to create XML service objects formatted for Cisco endpoint devices.  In light of this, a framework for creating service objects was created.   This framework is being made available publicly under the Mozilla Public License (<a title="Mozilla Public License (MPL) Wiki" href="http://en.wikipedia.org/wiki/Mozilla_Public_License" target="_blank">MPL</a>) agreement.</p>
<p>Within the context of <em>CiscoIPPhone Framework</em>, each service object is its own object class.  At the object level, all objects are implemented via a DOMDocument object.  This implies that PHP 5 will be required for the framework to operate.  The framework makes use of a basic CiscoXMLService object that defines global functionality such as softkey manipulation and output formatting.  All elements in the service objects that are non-singular elements exist as smaller objects.  Where service objects may have multiple child elements, an array of child elements is kept.  The list is only attached to the service object DOMDocument when an output format is request.  Basic duplicate entry prevention is built into the service objects.</p>
<p>The framework is currently being tested to ensure proper functionality.  It is expected to be released in the next few days.  Please check back soon for download and usage information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-09-29/cisco-xml-framework-concept/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing FreeSWITCH</title>
		<link>http://www.minded.ca/default/2010-07-20/installing-freeswitch/</link>
		<comments>http://www.minded.ca/default/2010-07-20/installing-freeswitch/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 15:26:56 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[freeswitch]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://minded.ca/?p=111</guid>
		<description><![CDATA[As noted in a recent blog post, the FreeSWITCH telephony switching engine has seen a notable spike in popularity in the last couple years among VoIP system administrators and integrators. Its exceptional stability and performance power all for extreme call volumes to be handled with less hardware than most other open-source systems available. With projects [...]]]></description>
			<content:encoded><![CDATA[<p>As noted in a recent blog post, the <em>FreeSWITCH</em> telephony switching engine has seen a notable spike in popularity in the last couple years among VoIP system administrators and integrators.  Its exceptional stability and performance power all for extreme call volumes to be handled with less hardware than most other open-source systems available.  With projects like FreePBX v3 ramping up their efforts to improve front-end interactions with the immensely powerful <em>FreeSWITCH</em> engine, its wide-scale use seems inevitable.</p>
<p>Installing <em>FreeSWITCH</em> is rather straight forward.  I small list of dependencies are required, almost all of which should be available via the update / package manager of the distribution selected for the install.  For the making of this document, and CentOS 5 system was setup.  The systems configuration is based on XML files making the list of required tools to work with <em>FreeSWITCH</em> near non-existent.</p>
<p>First item to take care of prior to beginning the installation is to ensure the system is entirely up to date with current versions of all packages.</p>
<pre>yum -y update</pre>
<p>Once the system has completed its updates, install the necessary dependencies required by <em>FreeSWITCH</em>.</p>
<pre>yum -y install autoconf automake nano libtool gcc-c++ ncurses-devel make expat-devel
yum -y install zlib zlib-devel libjpeg-devel unixODBC-devel openssl-devel
yum -y install gnutls-devel libogg-devel libvorbis-devel curl-devel libtiff-devel</pre>
<p>The next step is to download the <em>FreeSWITCH</em> source files and unpack them.</p>
<pre>cd /usr/src/
wget http://files.freeswitch.org/freeswitch-1.0.6.tar.gz
tar -xvf freeswitch-1.0.6.tar.gz</pre>
<p>Move to the unpacked folder and run the installer&#8217;s configuration script.</p>
<pre>cd freeswitch-1.0.6
./configure</pre>
<p style="text-align: center;"><a href="http://www.minded.ca/default/wp-content/uploads/2010/07/centos-freeswitch-configure.png"><img class="size-full wp-image-113 aligncenter" title="FreeSWITCH Configure (CentOS)" src="http://www.minded.ca/default/wp-content/uploads/2010/07/centos-freeswitch-configure.png" alt="" width="684" height="338" /></a></p>
<p>Once configuration of the installer has started, its break time.  The configuration script took approximately an hour to complete on the 512 MB test system.  After the configuration is complete, run the Makefiles and install.</p>
<pre>make
make install</pre>
<p style="text-align: center;"><a href="http://www.minded.ca/default/wp-content/uploads/2010/07/centos-freeswitch-install.png"><img class="size-full wp-image-114 aligncenter" title="FreeSWTICH Install (CentOS)" src="http://www.minded.ca/default/wp-content/uploads/2010/07/centos-freeswitch-install.png" alt="" width="684" height="335" /></a></p>
<p>This will complete the install of the <em>FreeSWITCH</em> system binaries. Note the output of the install and its reference to the command &#8216;<code>make samples</code>&#8216;.  This can be used to generate test configuration files (very handy).  The default location of <em>FreeSWITCH</em> on CentOS systems is <code>/usr/local/freeswitch</code>.  Since it is often more convenient to have daemon software registered as a system service in CentOS, it will be done here as well.  Move to the folder containing the services scripts, download the script file (or just copy / paste if thats easier) and register the service.</p>
<pre>cd /etc/init.d
wget <a href="http://minded.ca/files/2010/07/freeswitch" target="_blank">http://minded.ca/files/2010/07/freeswitch</a>
chmod a+x freeswitch</pre>
<p>After the script is saved to <em>/etc/init.d/freeswitch</em> and permissions have been changed to allow the file to be executed, the service needs to be registered.</p>
<pre>chkconfig --add freeswitch
chkconfig --level 345 freeswitch on</pre>
<p>Finally, the service can be started just like any other.</p>
<pre>service freeswitch start</pre>
<p>Currently the service script for <em>FreeSWITCH</em> starts the service as user &#8216;root&#8217;.  If the desire is to run the daemon as a different user, modify the line in the script file  (near the top), &#8220;<code>FS_USER=${FS_USER-root}</code>&#8220;; changing &#8216;root&#8217; to the user account you wish to run the service as.  This completes the basic installation of the <em>FreeSWITCH</em> software.  Be sure to check the <em><a href="http://wiki.freeswitch.org/wiki/Main_Page" target="_blank">FreeSWITCH</a></em><a href="http://wiki.freeswitch.org/wiki/Main_Page" target="_blank"> wiki</a> for information and examples on configuring the different aspects and features of this excellent software system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-07-20/installing-freeswitch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First Impressions On FreeSWITCH</title>
		<link>http://www.minded.ca/default/2010-07-20/first-impressions-on-freeswitch/</link>
		<comments>http://www.minded.ca/default/2010-07-20/first-impressions-on-freeswitch/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 05:24:03 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[freeswitch]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://minded.ca/?p=109</guid>
		<description><![CDATA[The telephone is nothing new to most of us non-cave dwelling human beings. Its been around for as long as most people can remember and has even earned the legal right to be qualified as an essential service in most developed nations. The telephone revolutionized the communications industry, and with recent open-source project support of [...]]]></description>
			<content:encoded><![CDATA[<p>The telephone is nothing new to most of us non-cave dwelling human beings.  Its been around for as long as most people can remember and has even earned the legal right to be qualified as an essential service in most developed nations.  The telephone revolutionized the communications industry, and with recent open-source project support of VoIP technologies; it shows no signs of letting up.</p>
<p>One of the most recent additions to the world of open-source telephony engines is <em>FreeSWITCH</em>.  Originally envisioned as a stable, robust and high-powered switching engine, it has grown through its development to be just that and much more.  Being one of the major players in the open-source telephony landscape, Asterisk has undergone extensive changes since its initial breakout in 1999.  After several years, many developers in the Asterisk community tabled the notion of an Asterisk 2.0 system.  A complete overhaul and re-coding of the Asterisk core was not a well received idea by the greater Asterisk development community and as result the idea was shelved.  With a difference in vision, a small group of developers disengaged from Asterisk development to proceed with a &#8220;bottom-up&#8221; build of a brand new open-source telephony engine; eventually known as <em>FreeSWITCH</em>.</p>
<p><em>FreeSWITCH</em> made its debut back in early 2007 and since then has been revised, currently to version 1.0.6.  The most recent version is; by all accounts, one of the most reliable and powerful telephony switching engines available (open-source or not!).  Of the many groups that are testing <em>FreeSWITCH</em> as a replacement for Asterisk (and other popular telephony engines), its most notable advantage is in its raw performance.  Some have touted that a single <em>FreeSWITCH</em> box is capable of replacing a 10-box Asterisk cluster.  With this sort of switching power, <em>FreeSWITCH</em> looks poised to assault the VoIP and switching stages.</p>
<p>The <em>FreeSWITCH</em> engine seemed to gain more and more popularity in 2009 as it moved out of its candidate versions and into official release versions.  Although most that adopted the official release did note its exceptional power and stability, its biggest criticisms remain on the lack of a decent administration GUI and available documentation.  Fast forward a year or so to today; the <em>FreeSWITCH</em> wiki now includes lots of information to assist in setup and configuration, system administrators and developers are posting tips and tricks for use-case issues, and administration GUIs are being developed (most notably FreePBX v3).</p>
<p>With its performance capabilities being tested to extremes and in real implementations, <em>FreeSWITCH</em> is impressing its users at every turn.  Now with other development communities working on its user-ended shortcomings, the <em>FreeSWITCH</em> engine will is setting itself up to be a major player in telephony universe.</p>
<p><strong>Related Links:</strong></p>
<p><a href="http://freeswitch.org" target="_blank">http://freeswitch.org</a></p>
<p><a href="http://ostatic.com/blog/freeswitch-poised-to-shake-up-the-open-source-voip-scene">http://ostatic.com/blog/freeswitch-poised-to-shake-up-the-open-source-voip-scene</a></p>
<p><a href="http://www.zdnet.com/blog/greenfield/open-source-voip-asterisk-or-freeswitch/233">http://www.zdnet.com/blog/greenfield/open-source-voip-asterisk-or-freeswitch/233</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-07-20/first-impressions-on-freeswitch/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>FreePBX Module: TFTP Manager</title>
		<link>http://www.minded.ca/default/2010-06-06/freepbx-module-tftp-manager/</link>
		<comments>http://www.minded.ca/default/2010-06-06/freepbx-module-tftp-manager/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 18:39:30 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freepbx]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[tftp]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://minded.ca/?p=103</guid>
		<description><![CDATA[Over the past few months work on development of a FreePBX module for managing Cisco IP Phones has been started. In the process of doing this, as well as through some research on existing FreePBX feature request tickets; a TFTP management module has been requested. As a result of this, the development of the Cisco [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few months work on development of a FreePBX module for managing Cisco IP Phones has been started. In the process of doing this, as well as through some research on existing FreePBX feature request tickets; a TFTP management module has been requested. As a result of this, the development of the Cisco module has been momentarily sidelined as a a TFTP module was created. The intent is that this module will be used to support the Cisco modules TFTP file management.</p>
<p>The first version(s) of the module are planned to have very limited and basic functionality. A new feature request ticket was created in the FreePBX Trac system (Ticket<a href="http://www.freepbx.org/v2/ticket/1032" target="_blank"> #1032</a>) several years ago and to date does not seem to have been addressed. Having a need for this functionality ourselves, it seemed prudent to take on this smaller application prior to moving forward with the Cisco phone project.</p>
<p>In accordance with the feature request ticket, the aim of the module is to provide two basic interaction and a viewer. The interaction being the ability to add a file and to delete a file. Further planning has already started for expansion of the module to include more extensive file operations and folder control.</p>
<p><strong>TFTP Manager in FreePBX v2.X:</strong><a href="http://www.minded.ca/default/wp-content/uploads/2010/06/v2-screenshot.png"><br />
<img class="alignnone size-medium wp-image-104" title="TFTP Manager Screenshot (FreePBX v2)" src="http://www.minded.ca/default/wp-content/uploads/2010/06/v2-screenshot.png" alt="" width="600" height="427" /></a></p>
<p>A big thanks to the folks at <a href="http://abeautifulsite.net/" target="_blank">abeautifulsite.net</a> and to Cory LaViska for creating the very elegant <a href="http://abeautifulsite.net/2007/06/php-file-tree/" target="_blank">PHP File Tree</a> object used by the viewer.</p>
<p>In addition to addressing the needs of the logged ticket with FreePBX for version 2.X, our TFTP module is being developed for version 3 of FreePBX as well. We are planning to commit both modules to the FreePBX repository once all functionality is stable.</p>
<p><strong>IMPORTANT:</strong> <em>Ensure the TFTP server has been installed with its root folder as /tftpboot. Provide the webserver write access to the /tftpboot folder as well.</em></p>
<div class="dl-compressed">Download <a href="http://minded.ca/default/wp-content/uploads/2010/06/tftpmanager-1.1.0.0.tgz">TFTP Manager 1.1.0.0 (for v2.X)</a></div>
<p>Development of the TFTP Manager module for blue.box (formerly FreePBX v3) has resumed with the initial release of the blue.box software from <a href="http://www.2600hz.org/" target="_blank">2600hz.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-06-06/freepbx-module-tftp-manager/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cisco IP Phone Background Images</title>
		<link>http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/</link>
		<comments>http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 15:13:21 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[configuration files]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://minded.ca/?p=84</guid>
		<description><![CDATA[Many of the industry-leading executive style phones on the VoIP market today are part of the Cisco IP Phone series. A large portion of these devices come built with a high resolution, full color display that can offer rich displays and unique interfaces when coupled with the use of the Cisco XML service objects. One [...]]]></description>
			<content:encoded><![CDATA[<p>Many of the industry-leading executive style phones on the VoIP market today are part of the Cisco IP Phone series.  A large portion of these devices come built with a high resolution, full color display that can offer rich displays and unique interfaces when coupled with the use of the Cisco XML service objects.</p>
<p>One of the more user-facing features of these market topping devices is the ability to apply custom backgrounds.  Granted, the concept is simple and merely aesthetic; but having the option to apply a custom background can provide a sense of personalization to make a piece of technology feel less foreign.  However, this is not about the psychology of implementation choices.  The following contains helpful information and some useful tips on creating custom backgrounds for the Cisco IP Phones.  A free download pack of background samples has been included as well (package includes 8 background images, associated thumbnails, an XML definition file and README instruction file).  Installation follows the same process described below.</p>
<p><em>NOTE: The <em>7945, 7965, 7975, 7970, and Communicator</em> have been tested with SIP firmware and are confirmed as able to support this function.</em></p>
<h3>TFTP Folders:</h3>
<p>The first step is to prepare the folder structure on the TFTP server that is providing the Cisco IP Phones with their configuration files.  In the root of the TFTP servers directory, create a folder named <em>&#8216;Desktops&#8217;</em> (case sensitive).  The 7945 and 7965 models will look for their background images and XML file in a sub-folder of <em>Desktops</em> called <em>&#8217;320x212x12&#8242;.</em> The other models (7970, 7975 and Communicator) will look in the <em>&#8217;320x212x16&#8242;</em> subfolder of <em>Desktops</em>.  All background images, thumbnails and the XML file defining the backgrounds will ball be placed in these sub-folders.</p>
<h3>Images:</h3>
<p>All background images must be properly sized to avoid distortion during display.  The Cisco IP Phone firmware (SCCP and SIP) will adjust the image to best fit the display and its color depth.  As the folder names suggest, the standard size for background images on the Cisco IP Phones is 320 pixels wide by 212 pixels tall.  The last number in the folder names (12 or 16) is the color depth that the phone supports.  Testing shows that the firmware can adjust the color depth to suit the display.</p>
<h3>Thumbnails:</h3>
<p>When selecting the background on the phone, a list of thumbnails are presented to choose from.  These thumbnail images must be uploaded as separate image files, again sized properly to avoid display distortion.  The thumbnail size is 80 pixels wide by 53 pixels tall.  As with the full images, the color depth will be adjusted by the phones firmware to suit the display.</p>
<h3>XML Definition:</h3>
<p>Finally, an XML file is used to define the available backgrounds and associate them with their provided thumbnail images.  The file must be called <em>List.xml</em> (case sensitive).  Fortunately, it is rather straight forward.  Each XML node defines a background and has two properties, one for the background image location and one for the thumbnail image location.  Ensure that the folder name is entered in the XML definitions match the folder name that the XML file and images are placed in.  Here is an example of the XML file:</p>
<pre>&lt;CiscoIPPhoneImageList&gt;
     &lt;ImageItem Image="TFTP:Desktops/320x212x16/001-TN.png"
                  URL="TFTP:Desktops/320x212x16/001.png"/&gt;
     &lt;ImageItem Image="TFTP:Desktops/320x212x16/002-TN.png"
                  URL="TFTP:Desktops/320x212x16/002.png"/&gt;
&lt;/CiscoIPPhoneImageList&gt;</pre>
<p>In each node, the Image property specifies the TFTP location of the thumbnail image and the URL property specifies the full background image.  The location of the XML file does not need to be specified in the configuration file, the phones will locate <em>List.xml </em>if it exists within the phones supported background folder (along with the images).</p>
<p>After placing all files in the correct folders and upload the folders to the TFTP server with the phone configuration files, the phones will be able to access the newly added backgrounds.  No reset is required as the <em>List.xml</em> file gets pulled each time the background switching options are selected by the user.</p>
<div class="dl-compressed">Download <a href="http://www.minded.ca/default/wp-content/uploads/2010/03/Cisco-IP-Phone-Backgrounds.zip">Cisco IP Phone Backgrounds</a></div>
<hr />
<h2>Background Images Gallery:</h2>
<p><center>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-001/' title='Cisco IP Phone Background (001)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-001-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (001)" title="Cisco IP Phone Background (001)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-002/' title='Cisco IP Phone Background (002)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-002-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (002)" title="Cisco IP Phone Background (002)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-003/' title='Cisco IP Phone Background (003)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-003-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (003)" title="Cisco IP Phone Background (003)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-004/' title='Cisco IP Phone Background (004)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-004-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (004)" title="Cisco IP Phone Background (004)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-005/' title='Cisco IP Phone Background (005)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-005-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (005)" title="Cisco IP Phone Background (005)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-006/' title='Cisco IP Phone Background (006)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-006-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (006)" title="Cisco IP Phone Background (006)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-007/' title='Cisco IP Phone Background (007)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-007-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (007)" title="Cisco IP Phone Background (007)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-008/' title='Cisco IP Phone Background (008)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-008-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (008)" title="Cisco IP Phone Background (008)" /></a>
<a href='http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/ciscobg-009/' title='Cisco IP Phone Background (009)'><img width="150" height="150" src="http://www.minded.ca/default/wp-content/uploads/2010/03/CiscoBG-009-e1269807367677-150x150.jpg" class="attachment-thumbnail" alt="Cisco IP Phone Background (009)" title="Cisco IP Phone Background (009)" /></a>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-03-18/cisco-ip-phone-background-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Smoothwall</title>
		<link>http://www.minded.ca/default/2010-03-16/php-smoothwall/</link>
		<comments>http://www.minded.ca/default/2010-03-16/php-smoothwall/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 05:39:37 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[php class]]></category>
		<category><![CDATA[smoothwall]]></category>

		<guid isPermaLink="false">http://minded.ca/?p=87</guid>
		<description><![CDATA[We&#8217;ve recently started work on a new project in PHP development. We are currently starting the process of building a PHP object class for Smoothwall data collection and processing. Smoothwall is a function-specific, Linux based operating system thats primary design was to be a firewall and basic network controller. As time passed and the project [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve recently started work on a new project in PHP development.  We are currently starting the process of building a PHP object class for Smoothwall data collection and processing.  Smoothwall is a function-specific, Linux based operating system thats primary design was to be a firewall and basic network controller.  As time passed and the project gained success, Smoothwall has grown and expanded its array of incorporated functions to include not only basic firewall controls and DHCP systems, but many others including static or dynamic DNS and a built in NTP time server.</p>
<p>Another beneficial feature that the Smoothwall OS offers is the ability to monitor several aspects of network use from many network locations.  This sort of information can be of great use to networking techs for things like traffic optimization and determining system availability requirements.  With this in mind, the initial version of the Smoothwall object being planned will be centered on statistics collection.</p>
<p>This coding project is being designed with public release in mind.  It can be expected to be seen on our website in the coming weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-03-16/php-smoothwall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco Services Project Update</title>
		<link>http://www.minded.ca/default/2010-03-13/cisco-services-project-update/</link>
		<comments>http://www.minded.ca/default/2010-03-13/cisco-services-project-update/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 23:52:17 +0000</pubDate>
		<dc:creator>Tyler Winfield</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[freepbx]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[xml services]]></category>

		<guid isPermaLink="false">http://minded.ca/?p=85</guid>
		<description><![CDATA[Over the past few weeks great strides have been made on the XML Services project for Cisco IP Phone systems. The plan to make the project available through the FreePBX GUI is continuing on. The module(s) install without issue and all currently implemented functionality works in a simple form. One of the next major steps [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few weeks great strides have been made on the XML Services project for Cisco IP Phone systems.  The plan to make the project available through the FreePBX GUI is continuing on.  The module(s) install without issue and all currently implemented functionality works in a simple form.</p>
<p>One of the next major steps in the development will be the ability to upload new service scripts into the module rather than by manual upload.  As mentioned in the previous post on this project, we are looking to have a user portal; hopefully integrated with FreePBX v3 that will allow users to change their passwords.  Currently the system does support multi-phone login to a single user profile.  A remote logout function to remove a phones attachment to a user profile through the portal is also being planned.</p>
<p>Here is an example service that was built by Minded for keeping an eye on email as well as weather conditions, both current and future.  The email information used to check for messages and the location to look up weather for are both supplied by the profile that the phone is currently logged into.<br />
<em>(we are aware of the crappy purple background, this is just the default background color for the &#8216;Services&#8217; panels on the Communicator.  Its honestly entirely Cisco&#8217;s fault! I swear.)</em></p>
<p><img class="aligncenter size-full wp-image-86" title="Cisco IP Communicator Idle Screen" src="http://www.minded.ca/default/wp-content/uploads/2010/03/communicator-compact-idle.png" alt="" width="349" height="305" /></p>
<p>In setting up the module to be able to handle the various XML Services that could be used, we&#8217;ve also run into the idea of including support for directory XML objects as well.  At this point in the project the directories can be handled as if they were an XML services although the option has been tabled to add more specific support for directories and advanced organization of them.  Add a module for the directories support is also a possibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minded.ca/default/2010-03-13/cisco-services-project-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

