Integration of NATO STANAG binary data from UDP

Adeptia supports UDP (User Datagram Protocol) and has the ability to capture and send binary message streams via UDP. 


For example, let's take NATO STANAG Standard.

The sample input binary data is NATO STANAG 4607 JAS 3 GMTI (Ground Moving Target Indicator) data.

Additional documentation can be found here:



In this example data, we start off with Packet header (section 2.1 of the standard)

Field Name              Bytes        Form           Value        Translation

Version ID                 2          A             31           Version 3.1

Packet Size                4          I32         0x00000020     32 bytes

Nationality                2          A             US           United States

Security Classification    1          E8            5            Unclassified

Class System               2          A             US           U.S. security classification

Security Code              2          FL            0            no special handling

Exercise indicator         1          E8           0x82          130

Platform ID                10         A            Sample        “Sample”

Mission ID                 4          I32          0x00000000    0

Job ID                     4          I32          0x00000000    0

The next thing that follows is a Segment Header (section 2.2)

Field Name                 Bytes        Form      Value        Translation

Segment Type               1             E8       6            Free Text Segment

Segment Size               4             I32      0x000000a0   160

Next is the Text Segment (section 2.8) itself

Field Name                 Bytes        Form      Value      Translation

Originator ID              10            A        Tester     “Tester”

Recipient ID               10            A        User       “User”

Free Text                  (160–5-20)    A        (text)

Note that we must read the data to the end.  There may be zero or more Segments in the packet.


Here are the steps on how to build the orchestration that receives an incoming UDP message and parses it into another format (such as XML etc).


A. Design a process flow that takes a stream from a source, sends the contents to a custom plugin and converts it into a SOAP Request XML format. Please use the attached deployable and deploy it in your local Integration Suite. Use the deploy option in the Migration Utility.
B. Install the UDP Utility in any Linux machine where Adeptia Integration Suite is running. Unzip the attached zip file and give executable permission to the shell
script files. Now go to the "etc" folder of the extract file and you will see "" file.
C. In this file put the value for ProcessFlowID of the process flow that is deployed in Step A above. This value is available in the Adeptia application (from the browser, login with admin/indigo1, and go to Develop > Process Flows. Right click on the process flow we created earlier and go to view and copy this value. It's a 30 digit number.)
D. Under the extracted folder that was created in Step B run the command to start the listener to receive UDP messages
             >> ./
E. Place the attached structure.txt and BinHexReader.jar in the ServerKernel > customClasses folder. This class and the structure file is used to parse the binary into a specific format, such as STANAG GMTI. Restart the Integration Suite.
​E. You are all set.​ The data received from UDP is automatically streamed into the process flow which parses the file and converts it into an XML output.
Make sure to edit the source file trigger, filename and target location defined in the deployable process flow so that it matches your local environment.
If you need help on how to use the plugins or the process flow to handle UDP data, please contact or



Have more questions? Submit a request


Article is closed for comments.