Character sets and phone numbers

April 29th, 2005

It\’s not easy to merge a VoIP network and the PSTN network. Recently, I\’ve been looking into how Asterisk handles phone numbers, SIP uri:s and Caller ID names. SIP is based on UTF-8, so it\’s very transparent in how it handles names with non-US character sets. Asterisk happily takes a Caller ID Name, the From: name from SIP utf-8 and stuffs it into the Caller ID Name field, which seems to be ASCII. In Asterisk we have not-so-well-defined \”extensions\” that are alphanumeric in a way, but in a lot of cases expects a phone number only. It will strip off \”un-necessary\” characters, like \”()-.\”. Of course, a SIP address being \”firstname.lastname\” will be changed by these routines. In phone numbers, stripping these characters does not change the phone number. In SIP, it changes the address to something that is a different address. Just one example of many that needs to be fixed.We need to come up with a way to handle this properly and always be aware of the character set, character set encoding and be able to convert from one to another without loosing the ability to place calls and return calls.And it does not surprise me a bit that even in the 21st century, I still have to work with character set handling problems, conversions between character sets and teaching us/english programmers about the need to use national characters like our Swedish \”åäö\”.

Asterisk 2.0 out today (and only today)

April 1st, 2005

During the developer\’s conference call yesterday evening,it was decided that we finally should release the much-awaitedAsterisk 2.0 Stable release, also called \”codename AAFJ\”.This relaese is based on the \”hidden\” cvs that has been inoperation for six months by a group of core development membersin the Asterisk.org open source project, under the leadership ofBrian K. East, who will maintain the stable code base forthe 2.0 CVS tree and releases. Read the rest of this entry »

Asterisk versions and releases

March 17th, 2005

Asterisk - the Open Source PBX - is distributed in CVS versions and stable releases. This is sometimes confusing, but is intended as a way to provide the user base with a proven stable platform as well as letting the developers build a new version of Asterisk without having to worry about production systems.

The Asterisk CVS repository, cvs.digium.com, currently has two versions of Asterisk. One is v1_0, the Asterisk stable source code and the other is called HEAD, the source code without a CVS release tag. HEAD is the current development version, with all the bugs-of-the-day as well as all the new features. There\’s no gurantee that this version will work on your system at all. The maintainer of the Asterisk development version, currently v1.1, is Mark Spencer - the creator of Asterisk.

The stable source code base in CVS is tested and is used for producing stable releases. The stable releases are published on ftp.digium.com as .tar.gz archives and are given a version number. The current version is 1.0.6, with a 1.0.7 coming out any day now. If you want stable code, use the .tar.gz archives. The CVS source for stable is maintained, but changed and usually under testing so that we know that it is indeed stable. The maintainer of this source code is Russel Bryant.

You will find download instructions for Asterisk CVS or releases on www.asterisk.org.

So, to summarize, if you are willing to help us test the development version on a lab system, download Asterisk v1.1 (CVS head) today! Otherwise, use the .tar.gz stable release versions.

The Register: Asterisk - a star of the future?

March 16th, 2005

The Register has discovered Asterisk and predicts a bright future for Asterisk and Digium.

Larry Ellison has his super yacht, Bill Gates has his humanitarian fund. For Mark Spencer, the symbol of his success is a hot tub.

It may not be the most expensive trophy, but Spencer%u2019s achievement may well prove to be just as revolutionary - turning the world of enterprise telephony on its head.

br/>
The tub, now installed at his Huntsville, Alabama home, was bought for him as a token of gratitude by 150 software developers who work on the platform he initiated - Asterisk, the Linux-based IP private branch exchange (PBX) software.

Blogging and calling from the sky

March 4th, 2005

I\’m currently in the air, on my way over Canada to Chicago. Using the Boeing Connexion service, I\’m chatting, blogging and placing calls with the help of IAXphone and the Asterisk Open Source PBX. Can\’t help feeling like a little boy with a new toy. It\’s amazing. Not to mention friends that get a call from me and says \”Oh yeah, and I\’m in Calcutta :-)\”.

A new architecture for AMI - The Asterisk manager interface

March 2nd, 2005

After a few discussions about a new format for AMI, we are going to look into building an intelligent separate module to handle manager connectivity to third party applications. Asterisk is very time-sensitive and it doesn\’t make sense to burden the PBX with quite a lot of manager connections and duplication of event messages to a large quantity of clients.

The new architecture is therefore divided. Asterisk will have one connection to a manager proxy, that can handle

  • Filtering of events based on client requests
  • SSL/TSL security
  • A user authorization scheme
  • Event notification to IM systems, like Jabber
  • XML and web services support

The problem right now is development - who can take the lead in developing this proxy based on ideas in the current proof-of-concept proxy that is included in Asterisk? We have a lot of good ideas, a limited resource of freely available developers…

We also need to develop quite a few new manager interface routines within Asterisk in order to supply data in a fully parseable way. The current interface, the CLI, formats for a screen and has a lot of limitations and also cuts of important data at column boundaries. We need to produce better data from inside of Asterisk in order to make it easier to integrate third party applications to Asterisk. Building an Asterisk eco-system!

SIP users and peers - a confusing concept

February 27th, 2005

Lately, especially when training people in Asterisk, I\’ve been looking at some of the basic concepts in Asterisk with new eyes. One of the concepts is the SIP user, peer and friends. This concept came from the IAX channel, which has a protocol that clearly defines a user that places a call and a peer that receives a call. In the SIP channel, I find this very confusing as soon as you are trying to do something different from connecting a phone directly to your Asterisk server.
  In Asterisk CVS head, version 1.1dev, I\’ve added the capability to configure the peer with the same variables as previously only existed in a user. A SIP peer now supports all of the SIP device configuration settings. With this part done, I\’ll start experimenting with using the peer as both a peer and a user. One object, one client. Let\’s call that configuration object a phone or a client.

After that is done, I\’ll start with trying to simplify configurations for a service - connecting to a SIP provider with Asterisk as a SIP phone client - and a trunk - connecting to a gateway or another Asterisk server. The goal is to make connecting to a SIP service provider like Broadvoice, BBtele.se or FreeWorldDialup a much more simple process. Today, it is way too complicated and hard to explain.

The Asterisk 1.2 Realtime Architecture - ARA

February 27th, 2005

Introducing The Asterisk Realtime Architecture - ARA

The Asterisk Realtime Architecture is a new set of drivers andfunctions implemented in Asterisk 1.1dev (and the following v1.2 stable).The benefits of this architecture are many, both from a code managementstandpoint and from an installation perspective. This article introduces you to the ARA. 

The ARA is designed to be independent of storage. Currently, mostdrivers are based on SQL, but the architecture should be able to handleother storage methods in the future, like LDAP.efit comes in the database support. In Asterisk v1.0 somefunctions supported MySQL database, some PostgreSQL and other ODBC.With the ARA, we have a unified database interface internally in Asterisk,so if one function supports database integration, all databases that has arealtime driver will be supported in that function. Read the rest of this entry »

Amazed by VoIP - calling a SAS flight!

February 27th, 2005

I just placed a call to my business partner - on the flight between Stockholm and Chicago. He\’s connected to a wireless network on a SAS Flight, connecting with the IPsando IAXphone software to an Asterisk server. Apart from the cost of the Wireless access, we had a free call between Sweden and an airplane above Greenland.

We had 1 second latency but almost no jitter, so it was a bit like the old satellite phone connections across the atlantic. But it worked!

Amazed. On Friday, I will travel to VON in San José. You can rest assured that I will call everyone I know from the plane! Asterisk and VoIP takes off!

NIST report urges caution with VoIP security - Computerworld

January 27th, 2005

The world is slowly understanding the security issues with Voice over IP. Computerworld reports:

The 99-page NIST report, \”Security Considerations for Voice over IP Systems,\” includes nine recommendations for IT managers to help them implement VoIP in a secure manner. \”Lower cost and greater flexibility are among the promises of VoIP for the enterprise, but VoIP should not be installed without careful consideration of the security problems introduced,\” the report says.

\”Administrators may mistakenly assume that since digitized voice travels in packets, they can simply plug VoIP components into their already-secure networks and remain secure. However, the process is not that simple,\” the report says.