[comp.protocols.iso] DESPARATE! Question on ISO/DIS10022

josef@nixdorf.de (Moellers) (11/15/90)

Hi,

I posted a question on ISO/DIS10022 referring to the physical layer
service definition.
I got one answer that didn't get my very far.

Isn't there someone out there who can answer a simple question like
this?

To re-phrase it and make it easier to answer, here are a couple of
questions I am interest in:

- When using X.21 or V.25bis, is it the responsibility of the physical
  Layer to do the actual dialing?

- If it is, how do I specify which number to dial when using ISO/DIS
  10022?

Hey, ISO gurus out there!

--
=======
| Josef Moellers		| c/o Siemens Nixdorf Informatonssysteme AG |
|  USA: mollers.pad@nixdorf.com	| Abt. PXD-S14				    |
| !USA: mollers.pad@nixdorf.de	| Heinz-Nixdorf-Ring			    |

enag@ifi.uio.no (Erik Naggum) (11/18/90)

In article <josef.658659224@peun11> josef@nixdorf.de (Moellers) writes:

   To re-phrase it and make it easier to answer, here are a couple of
   questions I am interest in:

   - When using X.21 or V.25bis, is it the responsibility of the physical
     Layer to do the actual dialing?

   - If it is, how do I specify which number to dial when using ISO/DIS
     10022?

<flame>

Hey you, get the idea that we have _layering_, here.  It's the NETWORK
LAYER which takes care of such things as routing and all that,
including dialling the stupid telephone number, or instructing the
DATA LINK LAYER to do it, which sends the necessary instructions to
the PHYSICAL LAYER, to be more precise.  The PHYSICAL LAYER, however,
doesn't have a clue whether it's transferring Physical Layer Service
Data Units (i.e. _bits_ :-) meaningful to a higher layer as dialling
(such as your modem's NETWORK LAYER), or bits meaningful to a higher
layer as this message.  The PHYSICAL LAYER knows about BITS and lines
that are ACTIVE or INACTIVE.  That's it.  End.  Period.  No more.
Dialling doesn't _exist_ at the PHYSICAL LAYER.  Aaarrgghh!

If you regard the Seven Holy Layers as the Ten Holy Commandments, you
lose.  The ISO RM for OSI is intended to describe the interrelation-
ship of functions, not to cast things in stone.  Telephone wires
(PHYSICAL LAYER) require a whole set of OSI layers to be useful to
you, qua PHYSICAL LAYER.  Considering dialling, PCM encoding, routing,
charging stuff, the whole song and dance, do you think they crammed
all that into the PHYSICAL LAYER?  "How do I specify reverse charging
or authenticate the caller using ISO/DIS 10022?"  You DON'T.

WHY is it that layering and hierarchical structures are so inordi-
nately difficult to understand?  Could it be that people have the
wrong philosophy of concepts?  That would explain why Germans seem to
have the most problems all over the ISO framework.

The answer to your "desperate" question goes like this: CCITT chose to
publish a set of principles to guide choosing the layers, in Appendix
A to CCITT X.200.  Go _read_ it.  _Don't_ come back until you have
_grasped_ the ideas behind each layer, the choices, etc.  Then you
will _understand_ that your question makes NIL sense.

Now get this: Eventually, the physical layer does _everything_.  That
does not mean it's meaningful to implement X.400 or X.500 in hardware.

</flame>

The considerate answer to your question is: I don't think you have
understood the ISO reference model.  Even though some physical layer
somewhere is going to output DTMF codes after having detected the dial
tone (V.25bis) or send bits corresponding to the subscriber number
(X.21), you have a _different_ physical layer for DTMF codes than for
QAM signals, which is yet a different physical layer from that which
eventually churns your bits out on the proverbial wire (fiber, copper,
radio, whatever) in the appropriate form.  Just as there are many
different application layers, there are many different physical
layers.  Now, luckily (!), we have this fantastic reference model to
guide us in eliminating the specific features of each instance of each
layer, and instead talk about more abstract functions and services
provided up and down the hierarchical model.

I thought this was blindingly obvious.

--
[Erik Naggum]	Snail: Naggum Software / BOX 1570 VIKA / 0118 OSLO / NORWAY
		Mail: <erik@naggum.uu.no>, <enag@ifi.uio.no>
My opinions.	Wail: +47-2-836-863
--

josef@nixdorf.de (Moellers) (11/19/90)

In <ENAG.90Nov17223116@hild.ifi.uio.no> enag@ifi.uio.no (Erik Naggum) writes:

><flame>

Hey, I needed this! The weather is lousy over here!

>Hey you, get the idea that we have _layering_, here.  It's the NETWORK
>LAYER which takes care of such things as routing and all that,
>including dialling the stupid telephone number, or instructing the
>DATA LINK LAYER to do it, which sends the necessary instructions to
>the PHYSICAL LAYER, to be more precise.  The PHYSICAL LAYER, however,
>doesn't have a clue whether it's transferring Physical Layer Service
>Data Units (i.e. _bits_ :-) meaningful to a higher layer as dialling
>(such as your modem's NETWORK LAYER), or bits meaningful to a higher
>layer as this message.  The PHYSICAL LAYER knows about BITS and lines
>that are ACTIVE or INACTIVE.  That's it.  End.  Period.  No more.

I know that the network layer is responsible for routing.
But I have never seen a modem which has a NETWORK LAYER built in B-{)
But as You say Yourself: The physical layer knows about BITS and lines
that are ACTIVE or INACTIVE.
Now I ask You: when the physical layer ACTIVATES a line, in the case
of V.25bis or X.21, activating a line means dialling.

>Dialling doesn't _exist_ at the PHYSICAL LAYER.  Aaarrgghh!

>If you regard the Seven Holy Layers as the Ten Holy Commandments, you
>lose.  The ISO RM for OSI is intended to describe the interrelation-
>ship of functions, not to cast things in stone.  Telephone wires
>(PHYSICAL LAYER) require a whole set of OSI layers to be useful to
>you, qua PHYSICAL LAYER.  Considering dialling, PCM encoding, routing,
>charging stuff, the whole song and dance, do you think they crammed
>all that into the PHYSICAL LAYER?  "How do I specify reverse charging
>or authenticate the caller using ISO/DIS 10022?"  You DON'T.

>WHY is it that layering and hierarchical structures are so inordi-
>nately difficult to understand?  Could it be that people have the
>wrong philosophy of concepts?  That would explain why Germans seem to
>have the most problems all over the ISO framework.

It is exactly layering and hierarchical structures I am thinking about
(see below for an explanation)!
As I am not part of any official work on ISO frameworks I do not apply
You commont to my person.

>The answer to your "desperate" question goes like this: CCITT chose to
>publish a set of principles to guide choosing the layers, in Appendix
>A to CCITT X.200.  Go _read_ it.  _Don't_ come back until you have
>_grasped_ the ideas behind each layer, the choices, etc.  Then you
>will _understand_ that your question makes NIL sense.

>Now get this: Eventually, the physical layer does _everything_.  That
>does not mean it's meaningful to implement X.400 or X.500 in hardware.

></flame>

Starts getting colder now B-{)

>The considerate answer to your question is: I don't think you have
>understood the ISO reference model.  Even though some physical layer
>somewhere is going to output DTMF codes after having detected the dial
>tone (V.25bis) or send bits corresponding to the subscriber number
>(X.21), you have a _different_ physical layer for DTMF codes than for
>QAM signals, which is yet a different physical layer from that which
>eventually churns your bits out on the proverbial wire (fiber, copper,
>radio, whatever) in the appropriate form.  Just as there are many
>different application layers, there are many different physical
>layers.  Now, luckily (!), we have this fantastic reference model to
>guide us in eliminating the specific features of each instance of each
>layer, and instead talk about more abstract functions and services
>provided up and down the hierarchical model.

To make my intentions clearer:
Imagine someone (e.g. me) was so stupid as to try and experiment with
a truely layered implementation of (part of) the OSI protocol stack.
One reason for this is exactly what You describe: to have several
physical layer implementations from which to choose, e.g. one that 
does V.25bis, one that does X.21, etc, and then to choose from these.

I do know that the ISO reference model is just a "MODEL", but then I'm
not referring to the model but to a (draft international) standard that
fits into the model.
Take e.g. the "Transport Layer Service Definition" (ISO 8072).
It was implemented as System V's TLI and if You compare the standard
with the implementation, You'll find the same priomitives in both, e.g.
T-CONNECT request -> T_CONN_REQ
T-CONNECT indication -> T_CONN_IND
T-DISCONNECT request -> T_DISCON_REQ
I was thinking about doing the same to the physical layer, i.e.
implement ISO DIS 10022 e.g. using STREAMS. The physical layer would be
implemented as a driver, the interface to the driver would be message
based. The messages between the next layer/module up would be based on
the primitives given in said standard.
Now, either the state of the physical interface doesn't matter and the
physical layer just sends whatever it is told to send and it is up to
the "network" to interpret the first x characters as a number, or there
has to be a way to tell the physical layer that "what now follows is a
number to dial" and "what now follows is the data to transfer".

>I thought this was blindingly obvious.

Sorry, no!

--
=======
| Josef Moellers		| c/o Siemens Nixdorf Informatonssysteme AG |
|  USA: mollers.pad@nixdorf.com	| Abt. PXD-S14				    |
| !USA: mollers.pad@nixdorf.de	| Heinz-Nixdorf-Ring			    |

enag@ifi.uio.no (Erik Naggum) (11/22/90)

In article <josef.659001155@peun11> josef@nixdorf.de (Moellers) writes:
   ><flame>
   Hey, I needed this! The weather is lousy over here!

Here too.  :-)  -9 (celcius) right now.

   I know that the network layer is responsible for routing.  But I
   have never seen a modem which has a NETWORK LAYER built in B-{) But
   as You say Yourself: The physical layer knows about BITS and lines
   that are ACTIVE or INACTIVE.

The Network layer doesn't have to be X.25 or IP.  It can be anything
which provides the necessary services specific to a Network layer.

   Now I ask You: when the physical layer ACTIVATES a line, in the case
   of V.25bis or X.21, activating a line means dialling.

Well, yes, in a very specific sense, it does.  In general, though, you
separate taking your phone off hook and punching all the buttons.  (My
phone has this fancy feature wherein I just listen to the dial tone
for 5 seconds, and then it automatically dials a predefined number.
Neat programmability, but probably not what you think of. :-)

In this case, I'd say the Network layer knows about which physical
path things are going to take, goes through a dialling sequence to get
there and change state from idle to connected.

The way I look at ACTIVATE is "raise DTR".  That is clearly a Physical
layer thing to do.  Then I talk to the modem for a while, and after
the modem has done _it's_ Network layer job, I talk to the remote
host.  (Hopefully.)  Then I DEACTIVATE the line by dropping DTR.
Veeeery simple.  You need to separate the tasks at hand according to
the Principles that made the invincible heroes of ISO and CCITT select
their layers.

   ></flame>
   ...

   I was thinking about doing the same to the physical layer, i.e.
   implement ISO DIS 10022 e.g. using STREAMS. The physical layer would be
   implemented as a driver, the interface to the driver would be message
   based. The messages between the next layer/module up would be based on
   the primitives given in said standard.

Remember that the modem is actually relaying your information in a
transparent way, and that you have to persuade the modem to do this.
Such persuasion does not belong in the Physical layer.  Don't you see
that even though you use the same ----ing wire you're talking to two
different machines?  You ACTIVATE the signal level on the Physical
layer, then get some junk back which indicates that the dialer or
switch is willing to accept your dialling command, then awaits the
answer to your command, and _then_ you talk to a different host,
_through_ the modem/switch/network/whatever.  On an X.25 network, you
do the same thing, only it's more automated and hidden from you.  The
Call Request packet is taken care of by your nearest switch, which
assigns you a VC number and then does whatever it pleases with the
request.  This is clearly at the Network layer, right?  (Or do you
consider addressing in X.25 to be part of the Physical layer, as
well?)

   Now, either the state of the physical interface doesn't matter and the
   physical layer just sends whatever it is told to send and it is up to
   the "network" to interpret the first x characters as a number, or there
   has to be a way to tell the physical layer that "what now follows is a
   number to dial" and "what now follows is the data to transfer".

My favorite Physical layer doesn't care a ---- what kind of bits my
Data link layer asks it to get out on that wire.  Yours shouldn't,
either.  If it does, it suffers from megalomania, and should see a
Layer Shrink.

   >I thought this was blindingly obvious.

   Sorry, no!

Sigh.  Did this help, then?

--
[Erik Naggum]	Snail: Naggum Software / BOX 1570 VIKA / 0118 OSLO / NORWAY
		Mail: <erik@naggum.uu.no>, <enag@ifi.uio.no>
My opinions.	Wail: +47-2-836-863
--

hta@isolde.Berkeley.EDU (Harald Tveit Alvestrand) (11/23/90)

Just see if I can get an idea of what Erik is aiming at:
ISO SEQUENCE FOR DIALLING A TELEPHONE LINE                   HAYES EQUIVALENT
                                                            

N-Connect(CldNsap=NSAP indicating telephone number 1234567)
   <processing inside network layer>
   <skip the data-link layer>
   Ph-Activate(connection to modem)                      -> ATDT
   Ph-Send(1234567)                                      -> 1234567\n
   Ph-Deactivate(connection to modem)                    <- CONNECT 2400\n
   Ph-Activate(connection THROUGH modem)                    (was done by modem)
   Ph-Data(Link layer construct with N-Connect)             Send data
N-Disconnect
   Ph-Deactivate(connection THROUGH modem)                  +++
   Ph-Activate(connection to modem)                         OK\n (from modem)

Surprise! It nearly fits!
If the standard okays both ends of a line doing things to it, that is....


                   Harald Tveit Alvestrand
Harald.Alvestrand@elab-runit.sintef.no
C=no;PRMD=uninett;O=sintef;OU=elab-runit;S=alvestrand;G=harald
+47 7 59 70 94