We're looking for an NCR Direct Connection(NDC+) parser(in C++/Java preferably) to understand the protocol in depth.

Are there tools or libraries which will help us grok the protocol and build an application which can digest the protocol and extract key information that we're interested in?

I understand that this is a proprietary protocol and our search on google didn't yield any readily available parsers

  • 1
    If you want to understand the protocol, you don't necessarily want a parser. Even if you had one, you want to parse what, exactly? Just the content of a message? What makes a protocol interesting is the sets of different messages that can be exchanged in different contexts; how do you expect a parser to give you that? If you had such a parser, how would it help you, uh, grok, the protocol? Ideally you want a reference manual. If this is a proprietary protocol, why would you expect to be able to find a source code parser for it, or the corresponding documentation?
    – Ira Baxter
    Commented Jun 17, 2015 at 4:46

1 Answer 1


The NCR NDC+ messaging format (which is typically over the TCP/IP protocol but can also be over async or bisync) used with ATMs is actually pretty straight forward with a limited number of message types and one can generally eyeball it to and tell what is going on once you have been looking at it long enough.

The full specification, though proprietary, can be readily found on the internet that includes most NDC message types and statuses for current devices. It can be licensed / purchased from NCR on their website relatively easily as well which is what I would recommend for official support and legal reasons; especially if you ever plan on connecting the software to their terminals.

Because it is proprietary I am not going to link directly to it but using the following search terms I can usually find a current copy of it in the first page of Google results with hits on Scribd, DocFiles, Wordpress, and many other sites.

  • "NDC Reference Manual"
  • "NCR Aptra Advanced Message"
  • "ncd_advanced_reference_manual"

The SNMP traps and how to connect to it is a bit more complicated and not as easily found on the web and as far as I know requires you to be authorized to connect to their terminal agent.

The vendors referenced in this StackOverflow answer have already developed parsers for NDC and Diebold 912 as part of their product but do not license them out.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.