ATM Switch

1,968 views
Skip to first unread message

abdu abdu

unread,
Jan 16, 2007, 7:14:42 AM1/16/07
to jpos-...@googlegroups.com
hello everyone.
i have been involved in developing a banking interface for switch.
the interface is deployed in the central bank and receives msgs from the switch.
it was done using the jpos 1.4.8. it was some how good.
 
but  now we have an idea to develop the whole switch for individual banks. it receives msgs from ATMs
and talk to the interface also. i wonder if i can use the same jpos for using it. if not , if any one know an idea or
have an expeirence, if hope to give some help.
 
thanks.   

Andrés Alcarraz

unread,
Jan 16, 2007, 8:30:26 AM1/16/07
to jpos-...@googlegroups.com
Hello abdu I've implemented something similar.
What I did was to use jPOS to talk to the banking interfase and implemented the
ATMs protocol, in fact the Subset of the protocol used by us.
From jPOS one thing that may be really useful is the org.jpos.util.FSDMsg class
for parsing/generation of atm messages.


Best regards

Andrés

abdu abdu escribió:

abdu

unread,
Jan 17, 2007, 6:23:56 AM1/17/07
to jPOS Users
Hi Andrés, THanks for your contribution.

i saw the class you said, but i didn't understand it well. i am also
doubt that the ATM and the switch either talk ISO 8583 msgs, so the
ISOMsg classes can be used.
i am asking if their are bulk of assistance classes (like Encryption
classes, Log to dbase, atm specific classes,..) that can be used to
implement a switch.

thanks

Alejandro Revilla

unread,
Jan 17, 2007, 6:18:54 AM1/17/07
to jpos-...@googlegroups.com
>
> i saw the class you said, but i didn't understand it well.
>
This link, although not related to ATM protocols can help you understand
how FSDMsg works: http://andyorrock.typepad.com/paymentsystems/2006/08/implementing_th.html

Andres Alcarraz

unread,
Jan 17, 2007, 10:57:20 AM1/17/07
to jpos-...@googlegroups.com
Hello abdu I don't know if I'm understanding you really, my English is
not very goo.
What I did was to implement some (a lot of in fact) classes for
handling the communication with the ATMs which in my case were using a
proprietary protocol (Diebold 912 and NDC+).
I' ve made a system that converted financial related messages to
ISOMsg ones and then used jPOS to send requests to the authorization
system.
If I understand you my situation was similar to yours, we had a third
party proprietary switch which we wanted to replace for our own (java)
implementacion.
The switch managed the ATMs and sent iso8583 (or ANSI don't remember
what) messages to our authorizer.
The implementation of the switch is not a trivial task given you hav
to manage lots of exceptions and things that could go wrong (problems
with dispensers, printers, cash cassettes).
My suggestion about using FSDMsg was only related to the
parsing/generation of messages from/to the ATM, given in general ATM
protocol are field separated messages, except for those implementing
IFX in wich case u want to use JDOM or another xml library.

Best regards

Andrés

2007/1/17, abdu <abduh...@gmail.com>:

abdu

unread,
Jan 18, 2007, 6:16:18 AM1/18/07
to jPOS Users
Thank's for ur help.

but im really confused and i don't know where to start. i really don't
know what switch is composed of, what specific modules i have to
implemement to have a reliable and real switch system. i need some
links for explanation of how generlly switch is working.

my question is how far these complicated switch tasks are provided by
the jpos package and where can i start (test examples, assistance
classes, ...) ??

Thanks..

Andrés Alcarraz

unread,
Jan 18, 2007, 6:59:04 AM1/18/07
to jpos-...@googlegroups.com
Well jPOS will only help you in exchanging financial message with your network.
An ATM switch acts as an acquirer so you need to implement all the logic to
handle the Atm state, but jPOS can't help a lot here, is not an specific task of
jPOS, perhaps an specific module could be make for that, but the help of all
people working with ATMs will be needed.
The first thing you need to do is get the documentation of the ATM protocol used
by the ATMs that will be connected to your switch.
You have to implement parsers for those protocols as well as generators, kinda
jPOS ISOPackager, you will need to implement the communications layer (TCP/IP
with length header or X.25 for the old ones) this would be some what equivalent
to jPOS channels.
And then you need a class that implements your business logic sending and
receiving messages to/from each ATM, here is when jPOS can help you to send
ISOMsg to your network when you receive a message from the ATM saying "this card
wants some money, should I give it to him?"

jPOS can help you too in the parsing of the ATM messages through FSDMsg
converting the plain ATM message in a collection of fields you can use to
implement your business logic and the converse.

But before you can do all of this you have to read specifications of the
behavior and protocols of your ATMs else there is no way you can understand
messages sent from it.

If you have an already working switch you can do some reverse engineering by
sniffing the messages interchanged between ATMs and him, but this is only an
auxiliary to the documentation to see what is happening.

If what you are looking for is something that resolves the communications with
the atm for you, I'm afraid this does not exists as an open or free software, at
least I wasn't able to find it.

I hope I can clarify you a bit, if not I'm really sorry for that.

I wish you good luck :)

Andrés Alcarraz

abdu escribió:

shanon

unread,
Jan 18, 2007, 9:47:02 AM1/18/07
to jPOS Users
hi Andrés Alcarraz
and thanks for all information
u speak about standard ATM protocol (Diebold 912 and NDC+)
how can i exchange message with (ATM using this standard)
is there any classes or..any thing i can start from it,or i will begin
from zero.
in other word i want to know who can understand Diebold or NCR ATM
thanks for ur help again.

Andres Alcarraz

unread,
Jan 18, 2007, 11:04:11 AM1/18/07
to jpos-...@googlegroups.com
Well as far as I know you have to start from zero, if you find
something please let us know, here are lots of people trying to do
something like this, is really natural trying to connect an ATM to a
ISO8583 network for authorizing, but I think the fact that there isn't
an open source project about it, is that is not easy to configure what
to do with all the messages from the ATM, to abstract all the data
sent by different ATM kinds is the complicated part, as well as the
behavior of the ATM, there are lots of variations.
The people who have done so are selling their products really
expensive, not so really for the financial market and surely they had
to work various years to achieve that, so I guess that is the mainly
reason for not releasing their products under an open source license.
I'm only guessing, on the other hand when you or me have to implement
something, in general you have to implement only a subpart of the
protocol, and don't have time to implement the rest, so you find
difficult to start an open source project from what you have done.

The only thing I can do is suggest what steps I would take (the ones
in my previous post) and answering some questions from what I know,
sorry but I can't share any code because is property of my previous
employer.

Good luck

Andrés

2007/1/18, shanon <baha_...@yahoo.co.uk>:

chhil

unread,
Jan 19, 2007, 12:07:20 AM1/19/07
to jpos-...@googlegroups.com
Hi,

1. Get documentation on the protocols you want to atm protocols you want to implement.
2. If its NDC+/Diebold 911/912 here are a few pointers.
The 2 message definitions are kinda of similar with each of them having messages to
 
Send commands to the atm to bring it in and out of service, set a config id that tells the atm our current configuration set downloaded has this version and we can query it and send a different config info to the atm.
Send keys to the atm, here you can use jPOS security module and connect to a HSM.
Send Configuration information to the atm which includes the state flow,screen info, FIT (Financial Institution Table) info to govern the flow, it behaves like a switch statement to go to different flows (it does a lot more). The state flow will form something called an opcode (there are states taht will allow you to set and clear values in the opcode and when the atm send you a request the opcode will help you determine what type of 8583 transaction needs to be performed.
Accept consumer request (DBD terminology) or Transaction Requests (NDC terminology).
Send function commands that govern next state info, dispensing info, screen display info, receipt info.
Accept Solicited faults i.e. faults that are returned when a function command is sent e.g. dispenser faults,printer faults or faults from devices being used in the current function command.
Accepted un-solicited faults i.e. Atm is informing you of potential problems.

So you would need to wrap all this info/behavioral logic in your code that you will have to write from scratch.
If you search the group for a message # 6593 it will tell you a little on how you can use the FSDMsg to help in the parsing of the messages from the atm.

You will need to cater with the message flow from the atm and when you have accumulated enough info to form a 8583 message you can use jPOS to send these. The reason I say accumulated is because you may have several interactions with the atm before you have enough info.

Now for a good day scenario you have get a opcode of ACAAAA and an amount of $200.00
You have the knowledge tha ACAAAA is a withdrawal request (as you have designed the flow that is currently on the atm). You create an appropriate 8583 message (a 0200 message )
The upstream entity can come back with a approved response code so you go ahead and tell the atm to dispense the bills (by sending an appropriate function id in the function command) and some screen info for the text to be displayed on the screen, and receipt info.

If everything is fine at the atm it will come back with a solicited message (Ready B) or it will come back with a solicited fault if there is a problem. Say there was a dispensing problem and no or partial money was dispensed , you will now form a reversal 8583 (a 420 message)
and send it upstream so that the funds are credited accordingly.

Unfortunately I cannot go into more details as I could go on forever talking about atm functionality...but the bottom line is you need to write the logic for interacting with the atm and the above is a short list of interactions that are involved and where the jpos framework would fit in...


-chhil

shanon

unread,
Jan 30, 2007, 2:04:26 AM1/30/07
to jPOS Users
Hi, for all
i search for documentations to NDC+/Diebold 911/912, any help

best rgds

Message has been deleted

nitish nitish

unread,
Oct 2, 2007, 12:57:50 AM10/2/07
to jpos-...@googlegroups.com
Hi Richard,

I am also looking for the manual.Could you please send me that?

Thanking you in advance.

Regards,
Nitish

On 10/2/07, Resc <richard....@gmail.com> wrote:


Hi, i have ndc+ programer�s manual, this explain all message format. Give me
a e-mail to send you.
--
View this message in context: http://www.nabble.com/ATM-Switch-tf3020603.html#a12927204
Sent from the jPOS - Users mailing list archive at Nabble.com.





chhil

unread,
Oct 2, 2007, 4:17:01 AM10/2/07
to jpos-...@googlegroups.com
Nitish/Richard,

You are asking for manuals of proprietary protocols that are distributed under NDA's and copyrights. Please do not exchange such material on this list.
Try to acquire from your clients that have the atms and the manuals.

Regards chhil

Heru Nurasid

unread,
Mar 7, 2009, 4:23:15 AM3/7/09
to jpos-...@googlegroups.com

Hi Richard,

I didn't joint in this forum for long time, but I am now looking for NDC+
programmer's manual. I search the Google, and I find this forum. I am very
happy that have been joint in this forum, because many friend's can help me.
Also I have jPOS Programmer's Guide. Could you please send me that manual ?.
My e-mail address is heru...@yahoo.com

Thanks for your help and your attention.

Regards,

Heru


--
View this message in context: http://www.nabble.com/ATM-Switch-tp8389164p22385778.html

Mark Salter

unread,
Mar 7, 2009, 4:59:25 AM3/7/09
to jpos-...@googlegroups.com
Heru Nurasid wrote:
> I didn't joint in this forum for long time, but I am now looking for NDC+
> programmer's manual.
In reading posts to this mailing list, you should also have noted that
the NDC protocol is proprietary and that you may need to purchase such
documentation from the ATM supplier, perhaps via your client?

> Also I have jPOS Programmer's Guide.

You got it from jpos.org?

> Could you please send me that manual ?.
> My e-mail address is heru...@yahoo.com

Asking for copies of what I imagine are copyrighted works is
inappropriate - in my opinion, I hope that no one fulfils your request.

Speak to your NDC+ vendors, ask them what documentation they have available?


--
Mark

Mark Salter

unread,
Jun 21, 2009, 1:27:37 PM6/21/09
to jpos-...@googlegroups.com
jPOSse wrote:
> if you paid for the machine, you shouldn't have to pay for the
> directions to use it, that's just plain silly. these machines are
> very expensive, why should you pay extra to make them work?
I agree Mike, as you seem to agree, the vendor that supplied the ATM
should also be able to supply the documentation this person needs;
perhaps even for free.

> it's not like he is asking for a copy to redistribute for profit.

How can you tell?

I also did not suggest he was, I only suggested that such a work would
by controlled by copyright and thus the only real place to seek such
documentation would be with the vendor, either directly or through his
client.

If this was a NDC+ mailing list, perhaps this would be a good place to
ask for such an item, however it is not.

Asking for responses off-list is also - perhaps just in my opinion - bad
form.

If you have any issues with any post I make, I will be happy to discuss
it within the mailing list, that way all are free to contribute.

>
> On Mar 7, 3:59 am, Mark Salter <marksal...@talktalk.net> wrote:
>> Heru Nurasid wrote:
>>> I didn't joint in this forum for long time, but I am now looking
>>> for NDC+ programmer's manual.
>> In reading posts to this mailing list, you should also have noted
>> that the NDC protocol is proprietary and that you may need to
>> purchase such documentation from the ATM supplier, perhaps via your
>> client?
>>
>>> Also I have jPOS Programmer's Guide.
>> You got it from jpos.org?
>>
>>> Could you please send me that manual ?. My e-mail address is

>>> heru_...@yahoo.com


>> Asking for copies of what I imagine are copyrighted works is
>> inappropriate - in my opinion, I hope that no one fulfils your
>> request.
>>
>> Speak to your NDC+ vendors, ask them what documentation they have
>> available?
>>
>> -- Mark
>


--
Mark

chhil

unread,
Jun 21, 2009, 3:02:12 PM6/21/09
to jpos-...@googlegroups.com
Mark, I totally agree with your assessment and handling of  the request.

-chhil

Chhil

unread,
Jul 9, 2009, 9:26:55 PM7/9/09
to max1, jpos-...@googlegroups.com
Hello Max,
These protocols are proprietary and thus not available freely. You
need to contact your ATM vendor or client to get these manuals.

-murtuza

On Jul 9, 2009, at 10:25 PM, max1 <mpmax...@googlemail.com> wrote:

> hi
>
> i am interested in atm development work. could you send me information
> on the diebold atm protocol
> would be appreciated
>
> max

>>> 2007/1/18, shanon <baha_ed...@yahoo.co.uk>:

willard kurisa

unread,
Sep 11, 2015, 6:52:57 AM9/11/15
to jPOS Users, richard....@gmail.com
Hi Richard,

I am also looking for the ndc+ programer´s manual.Could you please send me that? Hope you still have it.

Thank you.

Regards,
Will


On Monday, 1 October 2007 21:52:02 UTC+1, Resc wrote:

Hi, i have ndc+ programer´s manual, this explain all message format. Give me
a e-mail to send you.

chhil

unread,
Sep 11, 2015, 7:17:35 AM9/11/15
to jpos-...@googlegroups.com
The manuals are proprietary and need to be bought. You should get them from the entity that you plan to write the atm driver for.
If you have access to atms, I know Diebold used to provide a copy in their windows based Atms.

-chhil

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
 
Join us in IRC at http://webchat.freenode.net/?channels=jpos
 
You received this message because you are subscribed to the "jPOS Users" group.
Please see http://jpos.org/wiki/JPOS_Mailing_List_Readme_first
To post to this group, send email to jpos-...@googlegroups.com
To unsubscribe, send email to jpos-users+...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/jpos-users
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/c0d40f9e-a9e4-4c91-8eb7-805398e18297%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

willard kurisa

unread,
Sep 11, 2015, 7:24:27 AM9/11/15
to jPOS Users
Ok Thanks.

O 1

unread,
Sep 6, 2016, 1:45:52 PM9/6/16
to jPOS Users
HI all, 

Is there anybody still following this topic, I really need document for NDC developing documents, could you please help me?

Thank so much

Mark Salter

unread,
Sep 6, 2016, 5:23:24 PM9/6/16
to jpos-...@googlegroups.com
On 06/09/16 18:45, O 1 wrote:

> Is there anybody still following this topic, I really need document for
> NDC developing documents, could you please help me?

The same advice given in this thread still applies, so please take it :-)


>
> Thank so much

Thanks

--
Mark

Israel Meshileya

unread,
Sep 13, 2016, 5:31:58 AM9/13/16
to jPOS Users
 
Sometimes, whenever I am kind of stressed out...all i need is just to read MARK's reply to some comments..

i can never forget the day...he gave me that his LINK http://www.catb.org/esr/faqs/smart-questions.html

Thanks Mark lol
 

Mark Salter

unread,
Sep 14, 2016, 10:44:49 AM9/14/16
to jPOS Users


On Tuesday, September 13, 2016 at 10:31:58 AM UTC+1, Israel Meshileya wrote:
Thanks Mark lol

You're very welcome :-)

--
Mark
Reply all
Reply to author
Forward
0 new messages