<?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>micolous.id.au &#187; VoIP</title>
	<atom:link href="http://micolous.id.au/archives/category/voip/feed/" rel="self" type="application/rss+xml" />
	<link>http://micolous.id.au</link>
	<description>the result of a blogging accident</description>
	<lastBuildDate>Wed, 21 Jul 2010 11:08:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>It&#8217;s Cisco-o-clock!</title>
		<link>http://micolous.id.au/archives/2008/05/17/its-cisco-o-clock/</link>
		<comments>http://micolous.id.au/archives/2008/05/17/its-cisco-o-clock/#comments</comments>
		<pubDate>Fri, 16 May 2008 17:11:33 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[VoIP Hardware]]></category>

		<guid isPermaLink="false">http://micolous.id.au/archives/2008/05/17/its-cisco-o-clock/</guid>
		<description><![CDATA[I thought I&#8217;d put up a couple of small new scripts I wrote for my Cisco IP phone.
The first is a simple image converter.  It converts images from any format that the [Python Imaging Library (PIL)][pil] supports and turns it into a Cisco IP Phone Image format (CIP) &#8211; a Python version of Cisco&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d put up a couple of small new scripts I wrote for my Cisco IP phone.</p>
<p>The first is a simple image converter.  It converts images from any format that the [Python Imaging Library (PIL)][pil] supports and turns it into a Cisco IP Phone Image format (CIP) &#8211; a Python version of Cisco&#8217;s `gif2cip`).  For convenience, the new lines in the images are displayed as a colon, so you can use it in other things where you need to chop up the images into parts by line (for example, my clock).  If you want to display the image statically, you would remove them.  It assumes you&#8217;re using 2-bits-per-pixel (4 colour) output for the Cisco 7940/7960, and that your image is an 8-bit greyscale image.  If you have an alpha channel or it&#8217;s RGB, the image won&#8217;t convert.</p>
<p>It uses a very basic algorithm to downsample the image to 2-bits-per-pixel which probably isn&#8217;t perfect in the nature of LCDs, so you may need to tweak the colour value curve in your graphics program if you&#8217;re using something other than text.  It will also automatically invert the image so black on your computer is black on the LCD.  You can [grab the script here][image2cisco].</p>
<p><img src="/static/resc/cisco-clock.jpg" title="It's ten past two on the rocket clock!" alt="" /></p>
<p><em>&#8220;It&#8217;s ten past two on the [rocket clock][playschool]!&#8221;</em></p>
<p>The second program is a big digital clock Python CGI script.  It&#8217;s based on the same idea as the &#8220;Clock&#8221; script from the [Cisco IP Phone Services SDK][servicessdk] (which was originally in classic ASP), with a bigger font and the full date displayed at the bottom of the screen.  The image for the digits is embedded in the Python script (which is why the file is so big), which you can change by using the image converter program.  You can [grab the script here][clock], and [the source PNG images for the digits here][digits] (only needed if you want to modify the digits).  Remember to set the execute bit if you&#8217;re using plain CGI (you don&#8217;t need to do this if you use mod_python).</p>
<p>I always believe you can&#8217;t have too many clocks. <img src='http://micolous.id.au/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>[pil]: http://www.pythonware.com/products/pil/<br />
[image2cisco]: /static/projects/asterisk/cisco-hax/image2cisco.py<br />
[clock]: /static/projects/asterisk/cisco-hax/clock.py<br />
[digits]: /static/projects/asterisk/cisco-hax/digits.zip<br />
[servicessdk]: http://www.cisco.com/en/US/prod/collateral/voicesw/ps6788/phones/ps379/product_data_sheet09186a00800925a8.html<br />
[playschool]: http://en.wikipedia.org/wiki/Play_School_%28Australian_TV_series%29</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2008/05/17/its-cisco-o-clock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco 7960/7940 VoIP Phones vs. Adelaide/SA&#8217;s timezone.</title>
		<link>http://micolous.id.au/archives/2007/01/19/cisco-79607940-voip-phones-vs-adelaidesas-timezone/</link>
		<comments>http://micolous.id.au/archives/2007/01/19/cisco-79607940-voip-phones-vs-adelaidesas-timezone/#comments</comments>
		<pubDate>Fri, 19 Jan 2007 12:53:28 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[VoIP Hardware]]></category>

		<guid isPermaLink="false">http://micolous.id.au/archives/2007/01/19/cisco-79607940-voip-phones-vs-adelaidesas-timezone/</guid>
		<description><![CDATA[The Cisco 7960/7940 (and probably also some others) seem to have this daft issue where they assume Darwin/NT&#8217;s timezone rules of GMT+9.5 hours, and no daylight savings time.  So, some additions to the TFTP configuration file `SIPDefault.cnf` are required.
    sntp_server: 129.127.40.3 ; ntp.adelaide.edu.au
    time_zone: CAST
    [...]]]></description>
			<content:encoded><![CDATA[<p>The Cisco 7960/7940 (and probably also some others) seem to have this daft issue where they assume Darwin/NT&#8217;s timezone rules of GMT+9.5 hours, and no daylight savings time.  So, some additions to the TFTP configuration file `SIPDefault.cnf` are required.</p>
<p>    sntp_server: 129.127.40.3 ; ntp.adelaide.edu.au</p>
<p>    time_zone: CAST<br />
    dst_offset: 1</p>
<p>    dst_start_month: October<br />
    dst_start_day_of_week: Sun<br />
    dst_start_week_of_month: 8 ; Last<br />
    dst_start_time: 2</p>
<p>    dst_stop_month: March<br />
    dst_stop_day_of_week: Sun<br />
    dst_stop_week_of_month: 8 ; Last<br />
    dst_stop_time: 3</p>
<p>Here I&#8217;ve used Adelaide University&#8217;s (S)NTP server, but you could easily substitute another server.  These will observe standard rules only, and won&#8217;t take into account when the Victorian government feels the need to needlessly change the daylight savings rules of the whole country to suit the Commonwealth Games, where daylight savings changes would normally apply a week after the closing ceremony.  Then again, some Victorian government officials have this strange idea that Australia is just them and New South Wales.</p>
<p>At least Sydney was nice about it and didn&#8217;t shove it down our throats. <img src='http://micolous.id.au/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2007/01/19/cisco-79607940-voip-phones-vs-adelaidesas-timezone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SA Police Speed Camera Monitor for Asterisk</title>
		<link>http://micolous.id.au/archives/2006/06/11/sa-police-speed-camera-monitor-for-asterisk/</link>
		<comments>http://micolous.id.au/archives/2006/06/11/sa-police-speed-camera-monitor-for-asterisk/#comments</comments>
		<pubDate>Sun, 11 Jun 2006 02:08:26 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://lz129.concreteairship.com/archives/2006/02/20/sa-police-speed-camera-monitor-for-asterisk/</guid>
		<description><![CDATA[I&#8217;ve written a PHP-AGI script that uses Asterisk 1.2, PHP 4.3 and Festival to download and speak the locations of speed cameras published on the SA Police website.  For high-traffic PBX systems, it may be desirable to cache the locations on the local machine to reduce PBX load.
Because the script generates wave files on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a PHP-AGI script that uses Asterisk 1.2, PHP 4.3 and Festival to download and speak the locations of speed cameras published on the SA Police website.  For high-traffic PBX systems, it may be desirable to cache the locations on the local machine to reduce PBX load.</p>
<p>Because the script generates wave files on demand, on some systems multiple threads running it may conflict with one another.</p>
<p>Included are extra prompts needed for the script.  They are for demonstration purposes only &#8211; if you want to put it in your own system, you&#8217;ll need to rerecord the prompts.</p>
<p><a href="/static/projects/asterisk/sapol-speedcam/sapol-speed-camera-0.1.tar.bz2">Download v0.1 of the script</a>.</p>
<p><strong>UPDATE</strong> (2006-12-05): This script probably doesn&#8217;t work anymore, as SAPOL nicely screwed up their website. <img src='http://micolous.id.au/wordpress/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/06/11/sa-police-speed-camera-monitor-for-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>conf.py v0.3</title>
		<link>http://micolous.id.au/archives/2006/05/01/confpy-v03/</link>
		<comments>http://micolous.id.au/archives/2006/05/01/confpy-v03/#comments</comments>
		<pubDate>Mon, 01 May 2006 02:12:25 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://lz129.concreteairship.com/archives/2006/05/01/confpy-v03/</guid>
		<description><![CDATA[There&#8217;s a small update to conf.py.  This version fixes some formatting bugs with the channel and flags fields that ment that they would occasionally overlap in varying directions, depending on the length of the channel name.  This version fixes the bug by doing tests to actualy see where the channel name ends, and [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a small update to conf.py.  This version fixes some formatting bugs with the channel and flags fields that ment that they would occasionally overlap in varying directions, depending on the length of the channel name.  This version fixes the bug by doing tests to actualy see where the channel name ends, and going by that.  So you can now <a href="/static/projects/asterisk/conf-monitor/conf-0.3.py">download v0.3 of the script</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/05/01/confpy-v03/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cirrus CPH-B661 Ethernet VoIP Phone</title>
		<link>http://micolous.id.au/archives/2006/03/10/cirrus-cph-b661-ethernet-voip-phone/</link>
		<comments>http://micolous.id.au/archives/2006/03/10/cirrus-cph-b661-ethernet-voip-phone/#comments</comments>
		<pubDate>Fri, 10 Mar 2006 10:22:16 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Toys]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[VoIP Hardware]]></category>

		<guid isPermaLink="false">http://lz129.concreteairship.com/?p=52</guid>
		<description><![CDATA[
I&#8217;ve recently bought one of these devices from eBay, for a mere 70$.  Bargin basement, considering the cost of an ATA is 70$, plus the cost of a phone, and that many other IP Phones sell for 300-400$, and I wasn&#8217;t willing to spend that much money on a phone.
It&#8217;s a nice gadget, it [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/~michael/cirrus-cph-b661-ipphone.jpg" title="Cirrus CPH-B661" alt="" /></p>
<p>I&#8217;ve recently bought <a href="http://www.us-cirrus.com/Product-ipphone-661.htm">one of these devices</a> from eBay, for a mere 70$.  Bargin basement, considering the cost of an ATA is 70$, plus the cost of a phone, and that many other IP Phones sell for 300-400$, and I wasn&#8217;t willing to spend that much money on a phone.</p>
<p>It&#8217;s a nice gadget, it has a &#8220;straight through&#8221; RJ-45 100mbit socket, and a crossover socket, allowing you to use an existing cable for your computer for your phone as well &#8211; something ideal in offices or other situations where there is limited cabling and you want to save money on VoIP rollout.</p>
<p>There are five different firmwares for the device: H.323, IAX2, MGCP, Net2Phone, and SIP.  By default, my unit had a SIP firmware on it, however it is painlessly switchable by <a href="http://www.us-cirrus.com/download.htm">downloading the firmware from Cirrus&#8217; website</a>, then uploading it via a web interface.  It takes about 5 minutes to complete the update.  Something interesting about the images is that the filesystem isn&#8217;t encrypted or encrapted at all &#8211; and you can see the raw HTML source in the file, as well as some of the strings used on the phone.  Initial minipulation hasn&#8217;t really been successful, however I could be in the wrong place, or there may be a checksum on the file to prevent modified or corrupted firmware from being uploaded to the device.</p>
<p>A couple of issues I had was that I found the manual difficult to follow to configure the device via the handset.  After I switched the device to using DHCP (it was using a static IP of 192.168.1.100 by default), it then was trivial to configure via a web interface.</p>
<p>Something I noticed using the original firmware that when reading out the &#8220;index&#8221; of the speed dial, that the numbers weren&#8217;t really right.  So for number &#8220;98&#8243;, it would read &#8220;9 ten 8&#8243;.  In v1.50 of the firmware, this issue was resolved.</p>
<p><img src="/~michael/IMG_0244.jpg" alt="" title="'l33t h4x0r', being displayed as the 'phone number' of the phone" /></p>
<p>I notice you can set a &#8220;phone number&#8221; to be displayed on the phone as any string you wish using the web interface, but not the handset.  I actually use this functionality (it simply pops up that it&#8217;s my phone), and then it displays my local extension number.  It would be good if that sort of thing was consistant.</p>
<p>The &#8220;Flash&#8221; button doesn&#8217;t do a &#8220;flash&#8221; (or &#8220;recall&#8221;) at all, but in fact accesses an interactive speed dial menu.  Additionally, the abbreviations for some of the buttons could be better (&#8220;anscal&#8221;, &#8220;miscal&#8221;, &#8220;diacal&#8221;), and there should be some functionality to change the ringing, and dialtone, much like the Sipura ATA units do.</p>
<p>So, we shall see how this all goes&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/03/10/cirrus-cph-b661-ethernet-voip-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk Time System</title>
		<link>http://micolous.id.au/archives/2006/02/16/asterisk-time-system/</link>
		<comments>http://micolous.id.au/archives/2006/02/16/asterisk-time-system/#comments</comments>
		<pubDate>Thu, 16 Feb 2006 12:47:18 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://lz129.concreteairship.com/?p=50</guid>
		<description><![CDATA[This is a simple dialplan menu that allows the user to enter an Australian postal code and display the current time for the location.  It supports the major time zones.
[custom-time-menu]
; nsw
exten => _2[0-5]XX,1,SayUnixTime(,Australia/NSW)
exten => _2[0-5]XX,2,Goto(custom-new-main-menu,s,1)
; act
exten => _2[6-9]XX,1,SayUnixTime(,Australia/ACT)
exten => _2[6-9]XX,2,Goto(custom-new-main-menu,s,1)
; vic
exten => _3XXX,1,SayUnixTime(,Australia/Victoria)
exten => _3XXX,2,Goto(custom-new-main-menu,s,1)
; qld
exten => _4XXX,1,SayUnixTime(,Australia/Queensland)
exten => _4XXX,2,Goto(custom-new-main-menu,s,1)
; sa
exten => _5XXX,1,SayUnixTime(,Australia/South)
exten => [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple dialplan menu that allows the user to enter an Australian postal code and display the current time for the location.  It supports the major time zones.</p>
<pre>[custom-time-menu]
; nsw
exten => _2[0-5]XX,1,SayUnixTime(,Australia/NSW)
exten => _2[0-5]XX,2,Goto(custom-new-main-menu,s,1)
; act
exten => _2[6-9]XX,1,SayUnixTime(,Australia/ACT)
exten => _2[6-9]XX,2,Goto(custom-new-main-menu,s,1)
; vic
exten => _3XXX,1,SayUnixTime(,Australia/Victoria)
exten => _3XXX,2,Goto(custom-new-main-menu,s,1)
; qld
exten => _4XXX,1,SayUnixTime(,Australia/Queensland)
exten => _4XXX,2,Goto(custom-new-main-menu,s,1)
; sa
exten => _5XXX,1,SayUnixTime(,Australia/South)
exten => _5XXX,2,Goto(custom-new-main-menu,s,1)
; wa
exten => _6XXX,1,SayUnixTime(,Australia/West)
exten => _6XXX,2,Goto(custom-new-main-menu,s,1)
; tas
exten => _7XXX,1,SayUnixTime(,Australia/Tasmania)
exten => _7XXX,2,Goto(custom-new-main-menu,s,1)
; nt
exten => _08XX,1,SayUnixTime(,Australia/North)
exten => _08XX,2,Goto(custom-new-main-menu,s,1)
; exit
exten => 9,1,Goto(custom-new-main-menu,s,1)

exten => s,1,ResponseTimeout(5)
exten => s,2,DigitTimeout(7)
exten => s,3,Wait(2)
exten => s,4,Background(custom/postcode-prompt)

exten => i,1,Wait(1)
exten => i,2,Playback(custom/unknown-location)
exten => i,3,Goto(s,1)

exten => t,1,Goto(custom-new-main-menu,s,1)</pre>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/02/16/asterisk-time-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>conf.py 0.2</title>
		<link>http://micolous.id.au/archives/2006/02/02/confpy-02/</link>
		<comments>http://micolous.id.au/archives/2006/02/02/confpy-02/#comments</comments>
		<pubDate>Thu, 02 Feb 2006 11:08:17 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://lz129.concreteairship.com/archives/2006/02/02/confpy-02/</guid>
		<description><![CDATA[I&#8217;ve now updated &#8220;conf.py&#8221; to version 0.2.  This release fixes a bug where if you had multiple Asterisk conferences, and conference A had users and conference B did not, that B would errornously report as having 1 user in it.  That&#8217;s now been fixed now that the script takes into account responses from [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve now updated &#8220;conf.py&#8221; to <a href="/static/projects/asterisk/conf-monitor/conf-0.2.py">version 0.2</a>.  This release fixes a bug where if you had multiple Asterisk conferences, and conference A had users and conference B did not, that B would errornously report as having 1 user in it.  That&#8217;s now been fixed now that the script takes into account responses from the Asterisk server a bit better.</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/02/02/confpy-02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy 2006, conf.py v0.1, autodialler-au v0.1</title>
		<link>http://micolous.id.au/archives/2006/01/24/happy-2006-confpy-v01/</link>
		<comments>http://micolous.id.au/archives/2006/01/24/happy-2006-confpy-v01/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 21:18:39 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://lz129.concreteairship.com/archives/2006/01/24/happy-2006-confpy-v01/</guid>
		<description><![CDATA[Happy 2006!  I&#8217;ve been slacking off with this whole blogging thing, and there&#8217;s a whole lot of changed things.  This whole use of static content in the blog has ment that I&#8217;m posting less.
I&#8217;ve written a small python script that shows who is in an Asterisk MeetMe conference.  You can download it [...]]]></description>
			<content:encoded><![CDATA[<p>Happy 2006!  I&#8217;ve been slacking off with this whole blogging thing, and there&#8217;s a whole lot of changed things.  This whole use of static content in the blog has ment that I&#8217;m posting less.</p>
<p>I&#8217;ve written a small python script that shows who is in an Asterisk MeetMe conference.  You can <a href="/static/projects/asterisk/conf-monitor/conf-0.1.py">download it from here</a>, and there is a <a href="/ap/py/conf.py">demo</a> showing the users on a conference I host.</p>
<p>In other coding, I&#8217;ve also written an autodialler for Asterisk, which is based on NotTheory&#8217;s <a href="http://www.oldskoolphreak.com/tfiles/voip/autodialer.txt">autodialer.pl</a>.  My version uses the ACMA allocated<br />
numbers list, and is written in Python.  The effect is that it simplifies wardialling using Asterisk in Australia.  It additionally generates a template file you can fill out to make notes, and records the phone calls made for future reference.  You can <a href="/static/projects/asterisk/autodialler-au/autodialler-au-0.1.tar.bz2">download it here</a>.  You&#8217;ll need <a href="http://www.rogerbinns.com/apsw.html">apsw</a> installed for python sqlite3 support, and a copy of <a href="http://web.acma.gov.au/numb/openAccess/inquiry/viewAllocationSearch.do">ACMA&#8217;s allocated number database</a> to use the software (converted to<br />
SQLite3 format using the included script, which is the same is what is used in phonesearch).</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/01/24/happy-2006-confpy-v01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
