Beyond Logic


SIP Debug Proxy Server

Having trouble trying to work out why your VoIP ATA is not registering? Maybe you are not receiving incoming calls?

Many ATAs (Analog Telephone Adaptors) do not have great reporting of errors. Some offer sysloging of SIP messages, but many don't. While you can use protocol analysers such as ethereal, often you need a Hub so you can sniff the packets between your router and your ATA. In other cases, you may have a all-in-one router and don't have access to eves drop on its communication.

The SIP debug proxy server is a quick and small utility which can assist in these issues. You can run the single sipdebug.exe executable on a windows based PC within your local network. Then you can point your ATA to register with the sipdebug proxy on your local machine. This will pass SIP traffic via the sipdebug proxy, display it in realtime and alternatively log it to a file or syslog server for later analysis.

Usage

The sip debug utility has the following settings:

C:\>sipdebug
SIP Debug Proxy Server V1.03
Copyright(C) 2006-2007 Craig.Peacock@beyondlogic.org

Usage: sipdebug  [options]
        -p [udp port]    SIP receiving port on localhost [default 5060]
        -s [udp port]    Source port for SIP destination server
        -f [filename]    Log to file
        -l [syslog:port] Log to syslog server

If your ATA registers with sip.xyz.com, simply start the sipdebug proxy with :

 sipdebug sip.xyz.com 

Then use ipconfig to find the IP address of the host you have sipdebug running on and set your ATA or softphone to register with the IP address of this host. By default sipdebug listens on udp 5060, the default port for SIP.

Other switches

By default, sipdebug listens on udp 5060 for requests from your ATA. You can set a different port to listen on using the -p switch.

Sipdebug will use a random, but free UDP port on the host to receive requests back from your VSP (Voice Service Provider). A predefined source port can be defined using the -s switch.

Many softphones will use random source ports, like sipdebug, while many ATAs will use 5060 as the source and destination ports. Some routers can do strange things when handling incoming traffic on 5060, hence as part of your debugging you may need to set sipdebug's source for traffic to your VSP to 5060. In this case, you will need to specify a SIP receiving port to something other than 5060 using the -p switch.

For further analysis, you can log the SIP messages to file using the -f switch. You can also log to a syslog server using -l. If the port number is omitted, the default syslog port of 514 will be used.


Download

  • Version 1.03, 6K bytes. (Freeware)
    • Revision History
      • 1st April 2007 - Version 1.00
        • First release to public.
      • 8th April 2007 - Version 1.02
        • Displays source port for communications to SIP server.
        • Displays host IP address for DHCP enabled hosts preventing need to use IPconfig.
      • 10th April 2007 - Version 1.03
        • Fixed bug when receiving zero byte packets (keep-alives).
        • Cleaned up formatting of logs to ease readability.


    Copyright 2006-2007 Craig Peacock - 10th April 2007.