Work Perspectives

No Comments »

An interesting talk about agile, management, and the team, I really enjoyed it! Transforming the Three Dysfunctions of Management


Starting with FreeSWITCH and VOIP

No Comments »

FreeSWITCH is a very nicely written, C based communication server, and open source. Here I describe the steps I took for the first run and test, downloading the source, building and performing a voip call between two softphones on the same machine.

Getting the raw material and building it:

Most of the following steps are described in details in Installation for Windows.

  1. Download TortoiseGit for Windows
  2. Launch Tortoise Settings and go to Git > Config and uncheck Auto CrlLf convert, both AutoCrlf and SafeCrlF
  3. Create a folder Repository > right click > Git Clone > Url : git://git.freeswitch.org/freeswitch.git > OK
  4. Follow the steps in compiling the source code from the link above, in one of those steps instead of renaming libs/win32/libsndfile/config.h to libs/win32/libsndfile/sfconfig.h copy and paste the file into the same directory and then rename it, as both are needed.

Hints: Before Tortoise I tried downloading the source with Git, but unless you manage to setup the very important core.autoclrf to true before you run clone you’ll get compilation errors…

Running and Testing VoIP

All compatible sofphones are listed in Interop List.

  1. Run [your src path]\freeswitch\Debug\FreeSwitch.exe
  2. Run the command “freeswitch@MyPCName>sofia status” to get the IP address assigned to the server.
  3. Download X-Lite, launch > Go to Softphone > Account Settings > Account > User Details:
    • User ID: 1001
    • Domain: the server IP address from cmd “sofia status”
    • Password: 1234
    • Authorization name: 1001
    • Fill in Account Name and Display Name as desired and leave default settings for the remaining sections
  4. Download Express Talk, on first launch you’ll be asked to enter the following:
    • SIP Number (or User Name): 1002
    • Domain: the server IP address from cmd “sofia status”
    • Password: 1234
    • Display Name: a name of your choice
  5. Now that you have both softphones running you can quickly test calling X-Lite from Express Talk by dialling 1001 in Express Talk, X-Lite will receive the call, and you can hear yourself talking back, look at FreeSWITCH console for all registration and call information being set up and tore down. Express Talk has a nice detailed call log within its interface, pity it does not support video.

Spec.: Windows 7 Pro (x64), TortoiseGit-1.5.8.0-64bit, freeswitch-1.0.7, X-Lite 4, Express Talk 4.12


To cache or not to cache, that is the problem

No Comments »

As I walked through the Silverlight maze, I moved from my custom navigation to the System.Windows.Controls.Navigation, but that entailed a bigger change than I first thought.

Initially I made use of SLExtensions.Input to support the Command pattern, but this was no more suitable in the multi-page instance that comes along with the navigation cache. Static commands might still make sense if you want to notify many listeners for the click on a one-instance page, but there and only there. In multi-instance pages, or pages that are cached, the click on one page means the viewmodels of all the other pages are notfied too, and this is hardly the desired effect.

At this point my silverlight application was at the crossroad between a windows app and a web app, and funny enough Silverlight is the hybrid offspring of their marriage.

I don’t understand the authors of SLEXtensions having designed commands the way they did, maybe this is how most windows application work (? hmmm). Anyway I’m starting paying attention to Prism and I think is the way to go, if you’ve just started with silverlight and you are going to use navigation caching then be careful on what implementation of the command pattern you choose, as you’ll want to change caching independently from the command framework.

I’m going to dive into Prism and come back when I have more to say. Until then, goodbye.