BLOG     |     FORUM
IAX2 (Asterisk) Analysis using Unsniff

Troubleshoot Asterisk using UnsniffFind out how you can use Unsniff to develop, debug, or test the IAX2 protocol (the native protocol used by the Asterisk open source PBX).  Are you getting disconnected or the wrong codec is being negotiated ? Unsniff can help you debug it. Just hover your mouse over any field for bubble help to pinpoint your problem. You can track calls, playback each direction of a conversation, or save these conversations to a WAV file. If you know a scripting language (VBScript or Ruby) you can easily whip up your own analysis scripts.

IAX2 (Asterisk) Protocol Analysis using Unsniff 


What is IAX2 ?

IAX2 is a protocol used by the Asterisk Open Source PBX software. It stands for Inter-Asterisk Exchange version 2 (version 1 is now obsolete). IAX2 is developed using a community based effort led by Mark Spencer and other folks at Digium Inc. The key advantage of IAX2 over other protocols like SIP and the H.323 family is its friendliness to firewalls and NAT. With IAX2 both signalling and media use a single UDP port 4569.


Unsniff and IAX2

IAX2 is a relatively new protocol and most protocol analyzers out in the marketplace either do not support it at all or offer a very basic level of support. Unsniff offers unmatched support for IAX2 and Asterisk analysis. In addition to powerful built in decoding, call tracking, help, playback, and scripting support. We also provide a powerful offline tool called the "IAX2 Call Analyzer" . 

  • IAX2 Base Support  (complete decodes, filtering, call tracking, playback, save audio channels,scripting)
  • IAX2 Call Analysis Tool (bandwidth, interarrival delay, jitter, loss, and IAX2 event analysis)

IAX2 Base SupportIAX2 Call Analyzer Tool
  • Full decode of all message types 
  • Complete online bubble-help for each field
  • Stateful packet descriptions
  • Tracks asterisk calls in real time 
  • Powerful filtering mechanism using the display filter wizard
  • Each direction of an IAX2 call is tracked separately as an user object
  • Single click playback 
  • Save calls in bulk to WAV files for playback and later analysis
  • Fully scriptable using Ruby/VBScript
This tool if fully open source and you can adapt it to your own needs.
  • Extract all calls in an IAX2 capture session and present in a table
  • Track call information such as source, destination call numbers, codec used, time started, duration of the call in seconds, and more
  • Bandwidth Chart
  • Delay Chart: Interarrival Delay analysis 
  • Jitter Chart: Jitter analysis
  • IAX2 Events Chart:  (IAX control, DTMF and other events)

How to install and use the IAX2 Call Analysis Tool.


IAX2 Support Details

This section will give you an overview of what you can expect when you use Unsniff to analyze an Asterisk network  environment. 

Complete decodes of all IAX2 frames

IAX2 full frame
IAX2 Full FrameVisual Breakout view
  • Easier to read and analyze
  • No more "field tree" and "raw hex dumps"
  • Each bit is clearly marked
  • Excellent printing support , you can use the printouts as a reference or teaching material



IAX2 Control NEW showing codec capabilities and preferred codec
IAX Codec CapabilitiesUnmatched visual analysis
An IAX Control NEW message showing  codec capabilities and preferences.
You can see that the caller supports iLBC, SPEEX, GSM, G.711a, G.711u, but really prefers to talk GSM.



IAX2 mini frame
IAX2 MiniframeAn IAX2 Miniframe
This carries the bulk of the voice traffic. Unsniff offers views like this for all IAX2 frame types including both types of meta frames.


Bubble help for all fields

Full field level bubble help for IAX2Full online bubble help 
Unsniff is the only network analyzer to offer this feature. Just hover your mouse above any field.
  • Accurate help description for all fields
  • Help text carefully extracted from the relevant documents
  • Never get lost again while analyzing a protocol



Filtering

IAX Display FilterBuild  complex filters painlessly
The powerful display filter wizard is also available for IAX2
  • No need to remember or lookup field names
  • Specify regular expressions for string field types
  • Numeric expressions for integer field types
  • You can AND or OR expressions

In the example shown on left, we want to see all IAX2 (voice, video, or control) packets and all media packets with  source call number between 298 and 320 or destination call number in the 6000's. Creating such a complex filter takes only seconds that even a novice can do.


Call Tracking


Calls TrackedIAX2  Call Tracking
Unsniff extracts the voice conversations in real time by looking at IAX2 messages as they go by.
  • Track each leg of a call
  • Unique name for each leg
  • Print codec used for each IAX2 packet 
  • Show all call legs in the User Objects Sheet 
  • Play back or save each call leg to a WAV file



Play call

Extract Asterisk Calls and Playback with a single clickOne-Click play back
To play a voice stream right-click on the appropriate user object and select “Play”. You must have Windows Media Player or Winamp or any other player capable of playing WAV files.
Only supported for G.711 a-Law, G.711 u-Law, GSM, and iLBC codecs