Windows Download: idm-1.2.13-win-x86.exe
IDM
Message direction indicator is now uniform throughout all supported protocols. An arrow to the right is from the Mobile.
File associations under Windows now work again for the .xdat files. Opening them from Windows Explorer will launch the idm and load the file.
Bugfix
Fixed bug that caused a crash when decoding older versions of the CDMA extended channel assignment message.
Xenon SDK
Under windows, the xenon dll now only exports the public interface of the classes (instead of everything). This should make intellisense look less cluttered.
Protocol Support
TS-24.008-9 section 10.5.6.12, Traffic Flow Template, was not decoding correctly. Fixed.
The f-sync channel for cdma2000 was not decoding. Fixed.
The ueCapabilityInformation message for LTE NAS was not fully decoded. Fixed.
Xenon SDK
Redesigned decoding engine providing slightly better performance.
Windows Download: idm-1.2.11.exe
Bug Fix
The recent upgrade to LTE Release 9 was interpreting Release 8 messages as Release 9. Fixed.
Protocol Support
Upgraded cdma2000 to Revision 4
Upgraded LTE RRC and NAS to Release 9
IDM
Improved launch time.
Loading, editing and introducing errors, and reloading XDDL files in the IDM was problematic. Fixed.
Some messages that had conflicting restraints (like a record of fixed length yet contained no fields) could result in fields of negative lengths. Fixed.
Overall improved the presentation of invalid messages.
Xenon SDK
Fields and properties that had expressions that referenced itself were not causing load errors. An example would be:
<field name="A" length="A"/>
Fixed.
IT::Document and IT::Message no longer pre-allocate their memory.
Other internal improvements resulting in slightly faster decoding.
Tue Nov 1 09:23:50 CDT 2011
Windows Download: idm-1.2.9.exe
IDM
Xenon SDK
Fixed memory leak in IT::Document. This also occured in the Windows COM Control.
Fixed error related to decoding a large SIB message.
Fixed error related to uninitialized variable. This manifested in a crash in the Windows COM control.
A conflict arose when a program using Xenon also used its own lua based language. The header references to lua_state have been removed to avoid this conflict (and replaced with void *).
Added linux and mac shell installer and uninstaller.
Added XDDL to linux and mac distros.
IDM COM Control
CLI Tools
XDDL
Tue Sep 13 13:53:04 CDT 2011
This is a maintenance and bugfix release only.
Message::xml() was adding the containing
including
Mac OS X engine released (preliminary).
COM Control: The SelectedBitString property was not updating the Decode view correctly when changed. Fixed.
Added MessageNumber property to show/hide the message number.
Fri Sep 2 10:57:55 CDT 2011
API changes: The nodes() method has been removed from Message. Anyone using:
Node * ni = msg.nodes().begin();
should now use:
Node * ni = msg.firstNode();
Mon Aug 22 14:15:44 CDT 2011
Significantly reduced the complexity and number of header files in sdk. In fact, developers only have to include <IT/Xenon.h> from now on. This is an ongoing effort.
The IMSI_S field in cdma2000 General Page Message now displays the decoded phone number in the description.
The PD field is now decoded on the cdma2000 f-csch channel.
Non-printable characters in strings in messages are displayed as periods in the IDM descriptons.
Anyone trying to load the old and defunct "unified_index.xddl" file will now automatically be redirected to load "icd.xddl".
The distribution is now signed with Intrig's digital certificate. Intrig will no longer be known as "Unknown Publisher".
The uninstaller was not completely removing the desktop icon on Windows 7. Fixed.
Mon Aug 1 13:31:39 CDT 2011
The bias attribute was being ignored by the API when encoding messages. This resulted in field values being off by the bias. Fixed.
Added support for NameColor property in IDM. If set in a message, then the value of the color provided will be used for the Name of the message in the summary pane.
The Tech and Source Columns were being initially displayed even though they were not suppose to by default.
Fields and Properties with spaces in them can now be used in XDDL expressions by putting curly braces around them.
API calls that returned strings, and which failed on Windows do to dll shortcomings, now return const char *.
API calls that took std::string as parameters now take const char *. This was required in order for xenon.dll which is currently built under VS2008 to link correctly with VS2010. This is an ongoing issue.
Incoming ASCII Hex UDP messages may now contain whitespace.
Tue Jul 26 11:44:55 CDT 2011
Fixed bug where
Smartsizing of column widths is less dumb.
XDDL Parse errors encountered upon IDM launch are now displayed in a dialog box, not resulting in application crash.
Improved documentation for the script element
Updated ICD document with document versions for UTRA protocols
Fixed xddl function bugs used to upgrade legacy xddl
Upgraded more cdma2000 messages
July 15, 2011
The message list window now displays the message number and optionally displays the Technology and Source.
Added Technology and Source boolean properties to the COM control.
The message number is now displayed in the left column.
The IDM now automatically loads icd.xddl.
More cdma2000 protocol updates.
Improved the IDM's initial launch time performance.
Improved the IDM's log file load time performance.
In addition to automatically growing the size of the Name column as needed, the message display window will now also shrink the size to conserve on space.
Added -p option to the idm command line tool to display messages in C++
Message::text() was not showing out of band fields. It is now.
Removed the File->New IDM menu item. Multiple IDMs can always be launched via the Start meny or desktop icon.
Removed the File->Close menu item.
Removed the option of dragging and dropping XDDL onto the IDM. Bet you didn't even know you could do this. This feature may return in a later version.
July 4, 2011
This is a protocol update release only.
Updated cdma2000 r-csch and r-dsch channels to Rev E.
Added 3GPP2 Coverage document to track progress as the cdma2000 messages are upgraded to Rev E. This document will be updated to reflect UTRA and EVDO progress as well.
June 25, 2011
This release supports the new IDM ICD for all supported protocols. There is no longer a need to load individual xddl files. The icd is located at IDM ICD. The previous method, unified_index.xddl, is no longer available. The corresponding xddl file can be found in the xddl directory and is called icd.xddl.
Added EVDO decoding.
The IDM no longer shows an "Out-of-Band" section. Rather, the oob fields (i.e., the ones in the ICD), will either appear or not appear at the top level based on the View/Preferences settings.
There is only one example log file in the distribution. It is called mixed.xdat. It cantains a smattering of messages from the various radio access technologies now supported. This can be loaded after loading icd.xddl.
The IDM no longer supports the xdf file format and now only supports xdat files. xdf was an XML format for saving logs and a prime example of using XML when a simple text file (like xdat) was better.
Changed the following:
char * xml(char * dest, size_t length);
to
size_t xml(char * dest, size_t length);
This has been done for all methods throughout the API that populate a user provided character string. The returning value is the size required of the destination string. If it is greater than length, then not all characters were copied.
Added Node::inOob() method that returns a boolean value indicating if the node is out-of-band or not.
The IDM COM Control is not working correctly in a multithreaded environment. The second instantiation of the control fails.
LTE RRC is not correctly decoding the UE capability container.
April 17, 2011
Added View Preferences option to reverse the timestamp so that Date appears after the time. Default is false.
Added ReverseDateTime property to the IDM COM control.
Added View Preferences option to show just the last session. if unchecked, only the last session will be shown at once and the session timestamp will not be shown.
Added ShowSession property to the IDM COM control.
February 10, 2011
unified_index.xddl now supports CDMA, UMTS, and LTE NAS in addition to LTE RRC and IP. See the file for the correct out-of-band data. After loading unified_index.xddl you can load the sample file, messages.xdat to see different messages.
UMTS Notes: Support for UMTS is not complete. For one thing, the name is always "UMTS Message" for now. We will have to come up with a proper naming convention (similar to LTE I imagine). Also, UMTS NAS is not tested, and likely has errors.
Also, UMTS requires additional out of band data to decode properly. This is exactly the same as the oob data needed by the previous version of UMTS XDDL. So you should only have to add the additional Technology octet.
The PDN Type for IPv4v6 was not showing the correct description. Fixed.
The APN field is now decoded correctly.
January 14, 2011
January 9, 2011
SDK Methods that return std::string from xenon.dll caused memory
problems when called from executables that were compiled with a different
runtime or threading model than xenon was compiled in under Windows.
This was fixed by adding char * versions of the same routines. For
example
Instead of using this:
std::string Message::xml()
Windows developers should now use:
char * Message::xml(char * dest, size_t length)
The std::string versions are still available for use under other
platforms but the caveman version must be used for Windows development.
The parameters and return value are similar to those of the strncpy()
method.
The signature for the Message::text() that takes no parameters has been
removed and replaced with these methods:
std::string text(const char * fstring = "30n 6l 8v 10h s", bool headerOnly = false) const
char * text(char * dest, size_t length, const char * fstring = "30n 6l 8v 10h s", bool headerOnly = false) const
Please see the Message documentation for more on the
description of the fstring parameter.
December 8, 2010
Message Editing Support. Added an option to the View Preferences tab to enable editing of messages. If this is checked, than field values can be changed.
Added properties to the COM Control to also enable editing. The reference .Net application that ships with the IDM adds this support.
Added properties to the COM Control to enable editing of only specified fields.
Property Definition
--------------------------------------------------------------------------------
bool Editable Enable or disable the editing feature
String SelectedBitString Set or Get the ASCII Hex of the message being edited
String EditFilters colon separated field names that should be editable
See the eidmdemo solution for a source code example.
November 19, 2010
Timestamp support. If a message contains a Timestamp out-of-band
field, then it will be used. Otherwise a local timestamp will be used.
xdat files that don`t have timestamps will not have a timestamp shown
when they are loaded.
The IDM will not display a timestamp if the value is set to 0. Timestamps must be in the form of a 64 bit number that represents time from 12:00:00 midnight, January 1, 0001 A.D. through 11:59:59 P.M., December 31, 9999 A.D. measured in 100-nanoseconds units. This is the time representation used by .Net.
Added Show Timestamps checkbox to to the preferences' View tab.
Moved the direction arrow to be next to the name instead of the timestamp.
Removed debug dlls from distribution.
Added FileMonitorInterval property to set the interval in seconds to
check the file. Intervals set less than or equal to 99 are in seconds.
Intervals greater than 99 are in milliseconds. So if you want a 99
second interval set it to 99. If you want a 100 second interval, set it
to 100000. For a 100ms interval, set it to 100.
Added Timestamps property to show/hide the timestamp column.
Removed eidm2.dll and placed EmbeddedIdm2 in eidm.dll. Developers should update their projects accordingly. Tip: You may have to create a new Form and add the EmbbeddedIdm control to it for VS to recognized the control.
BitString: The BitString constructor that took a single const char * as the
parameter now takes a std::string const & :
BitString::BitString(const char * cstr)BitString::BitString(string const & str).Node: There is no longer a cast operator from Node to BitString. Use the
Node::bitString() method explicitly instead.
Paste and Drag-n-Drop did not work if the IDM was empty. Fixed.
The name for the NAS Service request message was not being shown. Fixed.
Monitoring a file that did not exist yet wasn't working. Fixed.