Well done Google, we know you care about the future of the web with your WebM Project (VP8)

Yes, it’s been announced as predicted:

http://webmproject.blogspot.com/2010/05/introducing-webm-open-web-media-project.html

All I can say is well done Google, they’ve truly done the right thing and could have single-handedly helped to preserve the future of video on the web! They’ve also hit the ground running with a very impressive list of people backing the format, such as:

nVidia
Intel
ARM
Qualcom
Adobe Flash platform
Opera
Mozilla / Firefox
CORE Codec
AMD
Logitech and more!

Why is this all so important?

Read more…

Tags:

FTTH (Fibre-to-the-Home) and ADSL2+ in NZ

Having explained this now 5x in the last 24 hours, I decided it was time to blog about it.

This post summarizes why NZ broad band doesn’t “suck”, why FTTH isn’t going to solve what your problems are, and what you can do about it in the mean time.

It’ll also explain to you how “The Internet” works, here in New Zealand, as well as giving you some figures to compare us against the rest of the world.

Read more…

Tags:

Installing ADA (Asterisk Desktop Assistant) on Elastix

Formerly SnapANumber, ADA is now offered by Digium. However, the first thing that you’ll notice is that it was written for their Asterisk Business Edition.

That’s great if you have ABE, but not so good if you’re one of the millions of installs out there that uses vanilla Asterisk.

This guide presumes you already have ADA downloaded and installed. If not, you can get the latest (At the time of writing) version 1.1 from here:

http://dl1.digium.com/ADA1.1/ADAInstall.exe

Now you’re going to ignore any instructions you’re previously read, and we’ll start from scratch. Don’t worry, you’ll be up and running in a matter of moments!

Read more…

Tags:

Why VP8 matters

This post was made prior to the Google IO conference which is May 19 -> 20th, and as such things may change after this date.

Read more…

Tags:

Migrating a windows user profile directory

Many times I’ve found myself wanting to do this, and only just recently learned how to.

If you’ve disconnected from a Domain for example and are now part of a workgroup but want to retain your existing “setup”, or perhaps you’ve got yourself something like an EeePC 900 and your C: Drive is running out of space, this can be a great way to free up additional space, and it’s a better all-round solution that purely moving the “My Documents” folder.

Read more…

Tags:

Using the Patton SN4554 for ISDN with Elastix

For any business migrating to SIP, the Patton SN4554 is a brilliant way to bring two ISDN lines (4-channels) in to their new PBX system, especially considering you don’t have to break open your PBX Server to install a PCI card.

This basic How-To shows you how to set it up to work with your Elastix system:

First off, you’ll want the following config which is a bit of a mash-up from some other documentation on making it work with an Aastra 800 (Include the header):

#----------------------------------------------------------------#
#                                                                #
# Template for SN4554/2BIS/UI to use with Elastix                #
# Use with firmware R5.1 or higher                               #
#                                                                #
# This template uses dhcp to retrieve an IP address. Comments in #
# the file indicate what to change (Start with '#')              #
#                                                                #
# See the SmartWare Software Configuration guide for command     #
# details (http://www.patton.com/manuals/SCG-r52.pdf)            #
# Modified by Josiah Spackman                                    #
# http://chillingsilence.wordpress.com                           #
#----------------------------------------------------------------#

cli version 3.20
webserver port 80 language en

system

  ic voice 0
    low-bitrate-codec g711alaw64k

system
  clock-source 1 bri 0 0
  clock-source 2 bri 0 1

profile ppp default

profile tone-set default

profile voip default
  codec 1 g711alaw64k rx-length 20 tx-length 20
  codec 2 g711ulaw64k rx-length 20 tx-length 20
  fax transmission 1 relay t38-udp

profile pstn default

profile sip default

profile aaa default
  method 1 local
  method 2 none

context ip router

  interface IF_IP_WAN
# replace 'dhcp' with your fix IP if needed, e.g. "ipaddress 172.16.1.20 255.255.0.0"
    ipaddress dhcp
    tcp adjust-mss rx mtu
    tcp adjust-mss tx mtu

context ip router
# uncomment the following line if you need to add routing table entries
  # route 0.0.0.0 0.0.0.0 172.16.1.1

context cs switch
  national-prefix 0
  international-prefix 00

  routing-table called-e164 RT_ISDN_TO_SIP
# 'T' in the following lines specifies "digit collection". The time for collection can be adjusted replacing 'T' wih 'T2' for 2 seconds.
    route T dest-interface IF_SIP

  routing-table calling-e164 RT_SIP_TO_ISDN
    route default dest-service SV_HUNT_PSTN MP_Unknown-Subscriber

# This mapping table sets the ISDN type of number for calls towards ISDN to 'subscriber'
  mapping-table calling-e164 to calling-type-of-number MP_Unknown-Subscriber
    map default to subscriber

  interface isdn IF_ISDN_0
    route call dest-table RT_ISDN_TO_SIP

  interface isdn IF_ISDN_1
    route call dest-table RT_ISDN_TO_SIP

  interface sip IF_SIP
    bind context sip-gateway GW_SIP
    route call dest-table RT_SIP_TO_ISDN
# This is the IP of your Asterisk. Replace with domain name if DNS server is available
    remote 192.168.0.250

  service hunt-group SV_HUNT_PSTN
    drop-cause normal-unspecified
    drop-cause no-circuit-channel-available
    drop-cause network-out-of-order
    drop-cause temporary-failure
    drop-cause switching-equipment-congestion
    drop-cause access-info-discarded
    drop-cause circuit-channel-not-available
    drop-cause resources-unavailable
    route call 1 dest-interface IF_ISDN_0
    route call 2 dest-interface IF_ISDN_1

context cs switch
  no shutdown

# The parameters realm, username and password have to match your Asterisk configuration
authentication-service AUTH_AASTRA800
  realm 1 smartnode-gw
  username patton password 6953789

# The parameters domain, username, identity (=username) below have to match your Aastra800 configuration
location-service LS_AASTRA800
  domain 1 smartnode-gw

  identity-group default

    authentication inbound
      authenticate 1 authentication-service AUTH_AASTRA800 patton 6953789

  identity 6953789

    authentication inbound
      authenticate 1 authentication-service AUTH_AASTRA800 patton 6953789

    registration inbound

context sip-gateway GW_SIP

  interface WAN
    bind interface IF_IP_WAN context router port 5060

context sip-gateway GW_SIP
  bind location-service LS_AASTRA800
  no shutdown

port ethernet 0 0
  medium auto
  encapsulation ip
  bind interface IF_IP_WAN router
  no shutdown

port bri 0 0
  clock auto
  encapsulation q921

  q921
    protocol pp
    uni-side auto
    encapsulation q931

    q931
      protocol dss1
      uni-side user
      bchan-number-order ascending
      encapsulation cc-isdn
      bind interface IF_ISDN_0 switch

port bri 0 0
  no shutdown

port bri 0 1
  clock auto
  encapsulation q921

  q921
    protocol pp
    uni-side auto
    encapsulation q931

    q931
      protocol dss1
      uni-side user
      bchan-number-order ascending
      encapsulation cc-isdn
      bind interface IF_ISDN_1 switch

port bri 0 1
  no shutdown

Copy this all into a notepad window and save it as “SN4554.cfg”

What you’re going to want to modify is the references to “192.168.0.250″ and point it to your Elastix / Asterisk system.

All the ISDN ports are set to “Point-to-Point”. You can adjust the “pp” settings to “pmp” if you require “Point-to-Multipoint”, though to be honest ISDN isn’t my strong point so I’m not entirely sure how relevant that is.

This will leave the WAN port using DHCP, hopefully you’ve got a semi-intelligent DHCP server that will give out the same IP each time.

Open the WebGUI of your SN4554 up, login with the default Username “administrator” and a blank password.

Click on “Import / Export” on the left-hand side, then hit the Import Configuration tab.

Select the file, import it, then reload the device.

Now, in asterisk you want to add a new SIP trunk. Name it “ISDN” and put the following in the SIP PEER Details:

username=patton
type=friend
secret=6953789
qualify=1200
insecure=very
host=192.168.0.141
dtmfmode=RFC2833
disallow=all
context=from-pstn
canreinvite=no
allow=alaw&g729

There’s no register string or USER details, though it may be worth specifying the max channels as “4″.

You’ll need to adjust the “host” setting to the WAN IP Address of your Patton box, as we’re semi-insecure with such a basic password.

You *could* adjust the password and username in the config etc as applicable, but specifying the host should be enough, especially considering (in my instance) the whole system is LAN-accessible only.

When you’re finished, you should be able to login to your Elastix system via SSH and run:

asterisk -rx ’sip show peers’

And see:

ISDN/patton                192.168.0.141        N      5060     OK (19 ms)

If you do, congratulations, you’re ready to go!

Now you just need to setup inbound and outbound routes as applicable.

If this was useful to you, please leave a comment and say hi.

I’d also like to thank Byron from SnapperNet in New Zealand, he’s been such a great help, and also provided me with the initial configuration samples.

This How-To has also been re-posted here: http://blogs.elastix.org/en/2010/05/using-the-patton-sn4554-for-isdn-with-elastix/

Tags:

DIY FreeSWITCH & FreePBXv3 from LiveCD

This is a bit of a follow on from my previous post: http://chillingsilence.wordpress.com/2010/01/14/initial-thoughts-on-freepbxv3-and-freeswitch-vs-asterisk/

Everybody is starting to talk about FreeSWITCH as the next big PBX software (Amongst other things), and FreePBXv3 is shaping up to be a damn fine GUI.

The more I use it, the more I start to like FreeSWITCH as a progression from Asterisk. One will likely never completely kill the other, I can see a world where they both live happily, but for me I struggle knowing that Asterisk doesn’t 100% accurately do all CDR stuff, and it bugs me recommending that to a client.

I’ve blogged before on FreePBXv3, and the dev guys are still as friendly as ever (Granted they seem to be a truckload busier lately, but who can blame them).

What follows is a guide on booting a LiveCD (Debian!) and running FreeSWITCH & FreePBXv3 from this live system. From there, it’s up to you if you want to simply reboot and forget it ever happened, or potentially install it to a HDD. The choice is yours, I’m just going to give you a quick How-To on getting FreeSWITCH & FreePBXv3 up and running nicely, and in a flash! In fact, on a decent machine (C2D 2Ghz+) and a decent internet connection, you could be up n running from scratch, in less than 20 minutes :-)

Read more…

Tags:

Jetty 7 – Serve static content alongside dynamic content in the same context

I just spent the last few hours looking up how to do this and thought I would post my findings here for future reference.

The problem is that the examples on the Jetty Wiki use a ResourceHandler for serving static content, which completely takes over all servlet management for that context (effectively disabling all the servlets you have). Also, pretty much every other example on the internet does this too, which was extremely unhelpful.
Read more…

Tags:

How-To: Hotel Management System for Elastix

Two blog posts in 24 hours? We’re on a roll here!
Based off PIAF’s Hotel Management System, we’re going to make some minor adjustments to have this work with Elastix. This is a brilliant Hotel Room Management system with the ability to restrict the calls from Ext’s when they are not checked in, per-second billing, and more!

Contents:

  1. Installing the base system
  2. Updating the config
  3. Fixing up HTTPS
  4. Updating dial-plan
  5. Closing words

Read more…

Tags:

Linking systems via OpenVPN (No port-forwards needed on client-side)

Yes, this is the ultimate in remote access for your PBX systems! It’s also quite possibly the longest blog post ever!

Imagine a client of yours happens to move their PBX, perhaps they are shifting premises (Without notifying you — Their prerogative I suppose). Now, with the change of ISP’s they’ve changed router and network settings, new public IP Address etc, so until you fix the sip_nat.conf settings calls are dead quiet. What do you do?

Well, you could ring them up and get them to port-forward their router and let you in. Or, you can do everything yourself via your shiny remote-control VPN!

Not only does it not matter where your customer plugs in the box, provided DHCP gives it an IP Address and they don’t have some silly proxy in the way, it will tunnel out NAT, past their routers firewalls, and let you in! It’s a service-operators dream! Used in conjunction with the SSH Tunnelling blog article, you’ll find this gives you total control of their local endpoints as well, just as if you were right there sitting on their LAN. You can even access your clients ADSL Router WebGUI and make the required port-forward changes yourself, provided they give you the admin password of course.

Table of Contents

  1. Expected outcomes of this How-To
  2. Example final VPN layout
  3. Preperation & IP Addressing
  4. About the structure
  5. Server setup
  6. Client setup
  7. Testing
  8. Last words

Read more…

Tags: