SIP Testing: FreeSWITCH with FSClient

In previous posts, I documented my attempts to build the pjsip package. However, verifying its correctness was challenging due to my limited foundational knowledge of the SIP (Session Initiation Protocol) stack. To rectify this, I decided to set up a controlled environment to better understand the protocol’s mechanics.

The first step was setting up a SIP server (Switch) on a PC. My two primary contenders were Asterisk and FreeSWITCH. I ultimately chose FreeSWITCH because it offered precompiled binaries for Windows 7, which significantly lowered the barrier to entry for initial testing.

Detailed installation instructions can be found in the FreeSWITCH Wiki. After installation, it is crucial to ensure the application is white-listed in your firewall. For these tests, I ran FreeSWITCH with its default configuration.

Once the server was operational, I needed a “Softphone” to act as a client. The FreeSWITCH Softphones Wiki provides an excellent list of compatible software. I settled on FSClient for Windows 7.

The setup process involved:

  1. Configuring the audio device options within FSClient.
  2. Adding a test extension account and registering it with the local FreeSWITCH server.

With registration successful, I could utilize the built-in testing extensions provided by FreeSWITCH:

  • 1000 – 1019: Generic SIP test extensions.
  • 5000: Demo IVR (Interactive Voice Response).
  • 9195: Five-second delay echo test.
  • 9196: Standard real-time echo test.
  • 9664: Music on hold.

Simplicity is key here; once the server is up and the client is registered, you just dial and listen. This sandbox has been invaluable for bridging the gap between theoretical protocol specs and practical, packet-level behavior.


Comments & Feedback