Skip to content
May 24 12

Introducing e164.js: country from international phone number

by Pascal Deschenes
Rotary Phone

I’ve recently release (over GitHub) a small node module (browser javascript friendly) to deal with international phone number and their origination country as specified by the E.164 standard. read more…

May 16 12

Fighting Asterisk DoS Attack

by Pascal Deschenes

Oh Boy! We have recently experienced a Denial of Service (DoS) attack on one of our cloud asterisk platform hosted on Amazon Ec2. Since our platform does not allow SIP registration under any circumstance, our system hasn’t been compromised. read more…

Mar 25 12

Managing Distributed Asterisk Configuration and NoSQL Database

by Pascal Deschenes
CouchDB Logo

In my quest of getting out of the configuration spaghetti hell, I’ve previously suggest to use a new configuration layout and some helper scripts to load configuration on-demand through #exec instruction. While this alternative is interesting, it lacks in terms of environment distribution where a cluster of Asterisk platforms needs to share configuration or at least a central configuration repository. While a tiny few DB backed configuration technique exist (Asterisk RealTime for instance), I feel its time to have something new, fresh, and obviously more versatile :-) read more…

Feb 8 12

Goodbye Linux! Hello Mac!

by Pascal Deschenes

That’s it. I had enough. After more than 15 years with Linux on my main desktop, I’m now boarding the Mac train. 15 years of trying to convince everyone and the others that year of Linux on the desktop is about to come.

read more…

Feb 2 12

Asterisk, Amazon EC2, and Dynamic IP NATting

by Pascal Deschenes

When it comes to SIP communications, NATting always remains an interesting challenge. A SIP client needs to instruct the remote server how the RTP audio stream can be routed back once the communication with far end as been established.

read more…

Dec 31 11

A Sane Way to Manage Asterisk Configuration Files

by Pascal Deschenes

How do you manage your Asterisk configuration files? There are so many of them with so many parameters, sections, and such. All too easy to fall into configuration management spaghetti hell.  How do you differentiate default v. custom/override? How do you deactivate part of a configuration? This is really driving me insane in the membrane. read more…

Dec 1 11

Multi VoIP Provider Aggregation and Asterisk Local Channels

by Pascal Deschenes
Pay Phone

It’s been a while since I’ve first wanted to try the Asterisk local channels to offer the ability to dial into an aggregation of several VoIP providers so that, from a user perspective, the actual provider set is hidden behind the local context. Technically, I couldn’t see why it wouldn’t work out but I just did a small experiment today with interesting results.

read more…

Nov 19 11

First Impressions on Montreal Open Data Initiative

by Pascal Deschenes

Montreal finally did it! We now have access to some data set for Montreal. For now, the data set are quite limited but reading at the group report (zip), the effort won’t stop there.

read more…

Sep 14 11

How to Hack a Road Trip with a Webcam, a GSP and Some Fun: Part II

by Pascal Deschenes
Kerouac Screenshot

Reporting back from my summer vacation trip to wonderful Newfoundland. This road trip hacking consisted of 2 block features as briefly depicted in a previous posting: a local component for grabbing webcam frames, capturing GPS data location, and storing everything in CouchDB, and a UI featuring remote interaction with said webcam along with real-time tracking and visualization capabilities. This post summarizes the lesson learned while presenting a few improvements for next year’s road trip. Mostly for my own use.

read more…

Jul 26 11

NodeMTL Meetup: How to Hack a Road Trip with a Webcam, a GSP and Some Fun with Node

by Pascal Deschenes

NodeMTL Meetup


Presenting Kerouac, a real-time webapp featuring a remote GPS tracking device, a webcam and a whole lot of Node.js magic covering some basics of Node.js such as: event emitters and process spawning. read more…