A server cannot initiate the connection to the client. So the Client Server protocols are typically request - respond.
You cannot get to the unknown, as you do not know where it is. I could call this Doug Rice's "Unknown" theorem.
If I know your phone number and you know mine, we can dial each other as we choose.
We have to exchange phone numbers and remember them.
If you come from the unknown to the known, maybe you can remember how to get back. How long can you remember how to get home?
How long does the network remember?
Client Server Peer to Peer Server Client
You cannot get to the unknown
If you come from the unknown to the known, maybe you can remember how to get back. How long can you remember how to get home?
Write down lists of types of connections and
connection | time to establish | how long it persists | time to tear down |
phone number to Phone in hall | order, reserve equipment, | years | years |
local loop | time to install cables and green boxes | years | years |
C7 call | Less than a second | as long as required | First party clear |
serve web page | Request / respond | static | cached |
serve web page images | time to download file | static | cached |
people | introduction | varied | long time |
This lists some examples.
Telephone calls -
Dial a known telephone numbers. The mapping from the Telephone number to the telephone terminal probably goes through many wires and connections.
The PSTN is a distributed database, with the telephone mapping stored in the exchanges and billing systems. The STD codes route to the remote exchange and then to the remote concentrators. There is a mapping that maps phone number to to a wire. The wire goes to the green cabinets in the street, and eventually to a house.
The exact route in not documented. The green boxes may be documented and there is documentation of the cabble run. However, keeping track of the pair used in the cable in a central database is difficult. It is too difficult to document precisely.
A fault will happen and an engineer needs to find a free pair.
The linesmen uses a tone generator on the line, and finds the pair in the hole in the road using a tone generator. They ask the telephone exchange to apply a test signal which is also found.
The exchange data maps telephone number to terminal number using a propriety name.
One maps to a device id, which is a object that stores its type
I think that if you dial a mobile number, the PSTN knows how to route to the mobile network and to a known database that stores the last known cell.
The mobile phone has to periocially connect to the nearest cell.
A rule of thumb of routing is this. I have got to where I am, look around for a "signpost" that tells me how to get to the next node.
The server does not know where the Web browswer is until the client connects.
As the HTTP is set up, the source port is mapped by DHCP and NAT and the URL and DNS entry and "remembered" by the nodes it routes through.
http://ccgi.dougrice.plus.com/cgi-bin/wiki.pl?ADSL_Home_Hub_NAT_Sessions records some work on this.
When a telephone call is made using C7, the circuit was selected based on next free circuit at the start of the call. As far as I know, this remained for the duration of the call.
The IAM had opc,dpc,cic,sls. The pointcodes are "known", the cic maps onto a "known" E1 and TS, The SLS is used to pick the same signalling link. In C7 the wiring is "known" as it is decided when the tranmission system is installed.
User agent - A user agent is a logical network endpoint that sends or receives SIP messages and manages SIP sessions. User agents have client and server components.
If you run a VoIp Phone on your laptop, it's IP address could be allocated uing DHCP in the 192.168.1.xxx subnet. This could go via a NAT translation and you could start up multiple terminals on the same IP address.
This IP addess is "unknown", until the software registers terminal to telephone. With the mapping in place, the call to the telephone number can resolve down to the ip address and port. This is now "known" for the duration this exists. It may time out and become "unknown".
When I ring a mobile number, it routes to a known operator and the operator must "know" the mapping of phone number to SIM card, and hence device. The mobile moves around from cell to cell. I do not know quite how this is managed. You often get told that the number cannot be reached if the mobile has disconnected by the battery going flat.
Normally a phone call is VOICE so there is a TX and an RX.
For Textphones the user can TYPE and READ.
So now we have a many more possiblilities.
SPEAK and HEAR TYPE and READ TYPE and HEAR SPEAK and READ
so TX could be a combination of SPEAK, TYPE and RX could be a combination of HEAR , READ
Mathmatically these are vectors.
We could write down truth tables.
There are many ways for carrying the SPEAK, HEAR, TYPE, READ signals.
A user may want to:
SPEAK and HEAR TYPE and READ
Some users want to
SPEAK and READ TYPE and HEAR
The GEEMARC SCREENPHONE has a VOICE / TEXT button that swaps between VOICE and V.21.
On its own the phone supports:
SPEAK and HEAR - using the handset SPEAK and READ - using the VOICE/TEXT button
It has a socket for a PS/2 Keyboard, which would enable all the combinations. The modem used V.21 and used the V.21 (ans) tones when returning from VCO back to Text.
SPEAK and HEAR TYPE and READ SPEAK and READ TYPE and HEAR
TYPE/V.21 and READ/V.21
[computer program]--[UART]--[modem]--[telephone system]--[modem]--[UART]--[Computer Program]
Very useful diagrams from https://docs.rs-online.com/a02c/0900766b800af005.pdf - data sheet for V21 modem.
We talk about TCP / IP , could we classify these combinations.
DUPLEX:
VOICE / VOICE - Duplex VOICE / PSTN - Duplex VOICE / MOBILE - Duplex VOICE / VOIP - Duplex
TEXT / V.21 - duplex - 300 baud TEXT / BELL103 - duplex - 300 baud TEXT / V.23 - duplex - 75 baud and 1200 baud
SIMPLEX ( 2 - wire HALF - DUPLEX )
TEXT / BAUDOT - simplex - 50 baud, 45.45 baud TEXT / EDT - simplex - 110 baud TEXT / DTMF - simplex - Variable speed by the fact that some characters require multiple DTMF codes for a single letter. TEXT / TURBO code - faster than BAUDOT, but uses BAUDOT
Not too sure what the definition of DUPLEX, HALF DUPLEX , SIMPLEX
The App uses DUPLEX, but the way you hold the smart phone device means it is SIMPLEX for some senario.
TEXT / IP VOICE / PSTN VOICE / MOBILE
To use the App on a smart phone in full DUPLEX mode, you need to use the Smart phone in loud speaker mode in front of your, so you can type and read on the little key pad. To use the App on a PC in full DUPLEX mode, you need to use Headphones, so you can type and read on the PC's keyboard and Screen. You can use the App on a PC in DUPLEX if you have a handset and can type with one hand.
The App is SIMPLEX if you hold the smart phone to your ear as you cannot read the screen, which may go dark as well.
The App is SIMPLEX if you use a PSTN phone with a handset as you have to pick up the handset to SPEAK and/or HEAR, if you need to hands to Type.
Although the App is DUPLEX for TYPE and READ, the SCREEN is SIMPLEX as the bubbles track the real time typing and still need the GA protocol.
So we could say ( as in TCP/IP )
VOICE / phone handset / PSTN VOICE / Headphone / PSTN VOICE / Earbuds / MOBILE VOICE / Hands free / MOBILE
TYPE / PC keyboard / PC TYPE / smartphone soft keyboard / Mobile TYPE / plug keyboard / Mobile TYPE / bluetooth keyboard / Mobile
READ / laptop screen / PC READ / smartphone screen / smartphone
A PSTN phone could be shared between multiple users in the household, so you may get a call that starts SPEAK and HEAR and goes to TYPE and READ and goes to SPEAK and HEAR.
The PSTN telephones started as two-wire and used a hybrid to reduce the speaker's sidetone.
Some Modems use SIMPLEX where only one direction types and apply CARRIER for a period.
Other modems use DUPLEX and use four frequencies to send the "1" and "0" or MARK and phone's
Early Telegraph machines would may record the call by making a mark of a paper tape, when the sending key was applying current.
You could use a multi core cable and have a TX wire for speach and a TX wire for Typing.
With Apps on smart phones we could do do the TYPE and READ over IP.
An "easy exercise for the reader" is to work out how to signal from one exchange to another using a tone generator and detector.
Starting from: "During the call, the users do not want to hear the tone", work out how to end the call, start the call, take the circuit out of service, idle the circuit.
You may need to have circuits that can only be set up from one end.
The circuit has a signalling module that can apply a tone and detect a tone.
During the call, listen for the tone, do not apply the tone.
To release the call, apply the tone in the forward direction.
To block the circuit from use, apply a backward tone
To indicate the near end wants to start the call cease the tone in the forward direction.
Dialling was done using short pulses and a relay that took time to respond and a relay that could track the dial passes.
This is all very interesting.
There are many ways for carrying the SPEAK, HEAR, TYPE, READ signals.
You may or may not have both at the same time?
My Wet String Theory tries to tie a label on a bit of wet string. Write on the label the circuit identification.
I need to update the Theory so the label is written on a bundle of wet string, or a wet rope. Some strands go over coppr, some go over IP.
What a challenge!