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…
Fighting Asterisk DoS Attack
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…
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…
Goodbye Linux! Hello Mac!
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.
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.
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…
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.
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.
Abstract:
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…