Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Updates & Insights
  • Questions
  • Learning
    • E-learning Courses
    • Empower Replay: Limited Edition
    • Tutorials
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
      • About the DevOps Program
      • DataMiner DevOps Support
  • Downloads
  • More
    • DataMiner Releases & Updates
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

How to retrieve simple udp packets those have only length/data?

Solved1.24K views5th June 2024
2
Hideyuki Imaida [DevOps Advocate]447 20th February 2024 2 Comments

I'm trying to receive simple udp packet with length and data.
Packet structure has no header/trailer and like followings.
|LENGTH(2byte)|DATA(variable length)|
ex)
0C 00 00 01 02 03 04 05 06 07 08 09 0a 0b

I defined in the protocol like followings but didn't work.
The packets can be seen in stream viewer but not handled in the connector.

[Parameter]

<Param id="100">
<Name>DataLength</Name>
<Type>length</Type>
<Interprete>
<RawType>numeric text</RawType>
<LengthType>fixed</LengthType>
<Length>2</Length>
<Type>double</Type>
</Interprete>
<Length>
<Content>
<Param>1</Param>
</Content>
</Length>
</Param>

<Param id="101">
<Name>DataBody</Name>
<Type>read</Type>
<Interprete>
<RawType>other</RawType>
<Type>string</Type>
<LengthType>next param</LengthType>
</Interprete>
</Param>

[Response]

<Response id="100">
<Name>DevicePacket</Name>
<Content>
<Param>100</Param>
<Param>101</Param>
</Content>
</Response>

[Trigger]

<Trigger id="100">
<Name>Before Packet</Name>
<On id="100">response</On>
<Time>before</Time>
<Type>action</Type>
<Content>
<Id>10</Id>
<Id>11</Id>
</Content>
</Trigger>

<Trigger id="101">
<Name>After Packet</Name>
<On id="100">response</On>
<Time>after</Time>
<Type>action</Type>
<Content>
<Id>100</Id>
</Content>
</Trigger>

[Action]

<Action id="10">
<Name>Response Read</Name>
<On>response</On>
<Type>read</Type>
</Action>
<Action id="11">
<Name>Response Length</Name>
<On>response</On>
<Type>length</Type>
</Action>

Something wrong or missing?

Hideyuki Imaida [DevOps Advocate] Selected answer as best 5th June 2024
Hideyuki Imaida [DevOps Advocate] commented 21st February 2024

I tried replacing the order between action:read and action:length and the packet received correctly. (action:length > action:read)
Are these reasonable?
In doc – https://docs.dataminer.services/develop/devguide/Connector/ConnectionsSerialCreatingCommandsAndResponses.html#responses-with-length-field

It said “Note that the length action needs to be after “read response”.”…

Marieke Goethals [SLC] [DevOps Catalyst] commented 4th June 2024

Hi,
I noticed that this question has been open for some time now. If this has been resolved in the meantime, could you select the best answer so the question is closed? If none of the answers provided the solution, but you have found it yourself, could you add an answer of your own?

4 Answers

  • Active
  • Voted
  • Newest
  • Oldest
1
Fenta Alemahu [SLC] [DevOps Enabler]1.10K Posted 21st February 2024 1 Comment

Hi Hideyuki,

In addition to what Tom suggested, check if the value of the length parameter and the actual length of the Data are equal/matching. When the number of bytes is larger or smaller than the defined length, the response processing will fail, and the data parameter will not be updated with received content; only the length field will be updated with its corresponding new value. From the example you provided (assuming it is a valid response data), that seems the case. The actual length of the data is 12 bytes whereas the value of the length parameter (0C 00) is higher. This looks like the length parameter is coming in big endian. The default endianness used in Dataminer is little endian. You can change the endianness in the interpret tag of the length parameter definition as follows.

<Param id="100">
<Name>DataLength</Name>
<Type>length</Type>
<Interprete>
<RawType>numeric text</RawType>
<LengthType>fixed</LengthType>
<Length>2</Length>
<Type>double</Type>
<Base>16</Base>
<Endian>big</Endian>
</Interprete>
</Param>

Hideyuki Imaida [DevOps Advocate] Posted new comment 21st February 2024
Hideyuki Imaida [DevOps Advocate] commented 21st February 2024

Hi Fenta,

Thank you for the comment.
These streams are little endian. 0x0c is the first and 0x00 is the second.
As I commented in the main thread, this issue seems to be fixed by changing the action orders.

You are viewing 1 out of 4 answers, click here to view all answers.
Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin