DNVTs (Digital Non-secure Voice Terminals) are state machines which are controlled using in-band signaling. There is no concept of bytes or words on the line for these phones — the phone, in its various states, is constantly looking for cyclically permutable codewords and either sending codewords or CSVD encoded audio in response. There are 20 cyclically permutable codewords which can be determined mathematically. What each codeword does is dependent on the state of the phone.
DNVT States Derived from IEEE Paper
To map these codewords to specific functions, I used brute force: Knowing the expected states from the IEEE paper, I went through all 20 codewords in each state until I found the codeword needed to get the phone into the next state. The term 'codeword' here is overloaded. It refers both to the binary sequence sent over the line as well as the function (RING, SEIZE, etc.)
DNVT Codewords Enumerated in IEEE Paper
Some codeword sequences are used for different funtions depending on the state of the phone. The switch also re-uses codeowrd sequences for different purposes. Here is the mapping of codeword functions to codeword sequences:
Function | From Switch | From DNVT | Codeword (0d) |
---|---|---|---|
FORCE CLEAR | X | Unsure | |
IDLE | X | Unsure | |
CUE | X | 63 | |
SEIZE | X | 111 | |
DIAL | X | 53 | |
INTERDIGIT | X | 85 | |
GO TO PLAIN TEXT | X | 3 | |
LOCK IN | X | 0 | |
LOCK IN ACK | X | 0 | |
RELEASE | X | 95 | |
RELEASE ACK | X | 43 | |
RING VOICE | X | 45 | |
RING ACK | X | 53 | |
RING TRIP | X | 43 | |
Digit 0 | X | 5 | |
Digit 1 | X | 15 | |
Digit 2 | X | 39 | |
Digit 3 | X | 63 | |
Digit 4 | X | 29 | |
Digit 5 | X | 3 | |
Digit 6 | X | 43 | |
Digit 7 | X | 119 | |
Digit 8 | X | 141 | |
Digit 9 | X | 9 | |
R | X | 111 | |
C (Conference Request) | X | 17 | |
P (Priority) | X | 23 | |
I (Immediate) | X | 45 | |
F (Flash) | X | 51 | |
FO (Flash Override) | X | 53 | |
RATE CHANGE | X | Unsure | |
RATE CHANGE ACK | X | Unsure | |
RECALL | X | Unsure |
By brute force sending all codewords to the phone, I also found a few situations that did not align with the state diagram in the IEEE paper. It is possible that the codewords sent by the phone when it receives the FORCE OFF and IDLE codewords is different than when the phone goes on hook, but I was not able to conclusively determine those codewords. The RECALL codeword could possible be the same as the R codeword since I don't know under what circumstances the phone could send an "Emergency Access" code (as defined in the DNVT manual).
DNVT States Transitions Derived from IEEE Paper
The IEEE paper shows a state transition table which was instructive in determining the functionality of each codeword. I do not know the particular codeword to initiate certain state transitions, but these are not relevant transitions for nominal operation of the phone.