RFC 741
RFC 741
and
NSC NOTE 68
CONTENTS
PREFACE iii
ACKNOWLEDGMENTS iv
INTRODUCTION 2
REFERENCES 30
PREFACE
ACKNOWLEDGMENTS
o Lincoln Laboratory, for LPC and CVSD, with a TX2 and the
Lincoln FDP, and with a PDP-11/45 and the LDVT.
1. INTRODUCTION
Control messages are sent as controlled (TYPE 0/0) messages, and data
messages may be sent as either controlled (TYPE 0/0) or uncontrolled
(TYPE 0/3) messages (see BBN Report 1822 for definition of
MESSAGE-TYPE).
Cohen [Page 1]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
Throughout this document the 12-bit MESSAGE-ID (see BBN Report 1822)
is referred to as LINK (its 8 MSBs) and SUB-LINK (its 4 LSBs).
Both L and K should be between 340 and 375 (octal). L and K need not
differ.
The CALLER then calls again (this time on link L). The ANSWERER
initiates a negotiation session to verify the compatibility of the
two parties.
This bell ringing occurs only after the initial call (not after
renegotiation).
Cohen [Page 2]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
#1 "1,<WHO>,<WHOM>,K"
#3 "3,<WHAT>,<N>,<HOW(1),...HOW(N)>"
#4 "4,<WHAT>,<HOW>"
#7 "7"
#8 "8"
#9 "9"
#10 "10,<ID>"
#11 "11,<ID>"
#12 "12,<IM>"
#13 "13,<YM>,<OK>"
Cohen [Page 3]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
This call is issued first on link 377 and later on link L. Its
format is "1,<WHO>,<WHOM>,K", where <WHO> and <WHOM> are words
which identify respectively the calling party and the party
that is being called, and K is as defined above. The format of
the <WHO> and <WHOM> is:
(HHIIIIIIXXXXXXXX)
#2 GOODBYE (TERMINATION, on L or K)
1. I am busy.
3. Request of my user.
6. We have problems.
7. I am in a conference now.
Cohen [Page 4]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
"3,<WHAT>,<LIST-LENGTH>,<HOW-LIST>", meaning
"CAN-YOU-DO,<WHAT>,<LIST-LENGTH>,<HOW-LIST>".
#6 READY (on L or K)
#8 INQUIRY (on L or K)
Cohen [Page 5]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
#9 RINGING (on K)
Can be sent by either party at ANY stage after LINKS are agreed
upon. This message consists of the two words "12,<IM>". If the
word <IM> (for I MASTER) is non-zero, the sender of this
message requests to be the NEGOTIATION MASTER. If it is zero,
the receiver of this message is requested to be the NEGOTIATION
MASTER. Renegotiation is described later.
Messages #7, #8, and #9 are always a single word. Messages #1, #3,
#4, and #5 are several words long. Messages #2 and #6 are either a
single word or two words long. #10, #11 and #12 are always 2 words
long. Message #13 is always 3 words long. Message #1 is always 4
words long.
Cohen [Page 6]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
sent only by the ANSWERER. All the other control messages may be
sent by either party.
The last <HOW> which was both suggested by the NEGOTIATION MASTER
(in #3) and accepted by the NEGOTIATION SLAVE (in #4) for each
<WHAT> is assumed to be in use.
Cohen [Page 7]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
<WHAT> <HOW>
1. VOCODING * 1. LPC
+ 2. CVSD
3. RELP
4. DELCO
2. SAMPLE PERIOD
3. VERSION
5. If LPC:
If CVSD:
Time Constant
(in milliseconds) N. N (+50)
7. If LPC:
8. If LPC:
Cohen [Page 8]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
9. If LPC:
10. If LPC:
Table-set N. N (*1)
See definition of Set #1
in Appendix 1
1-1 LPC
2-150 150 microseconds sampling
3-1 V1
5-10 10 coefficients
6-128 128 samples per parcel
7-1 SIMPLE acoustic coding
8-1 SIMPLE information coding
9-58 mu = 58/64 = 0.90625
10-1 Tables set #1
1-2 CVSD
2-62 62 microseconds sampling (16 KHz sampling)
3-2 V2
5-50 50 msec time constant
6-192 192 samples per parcel
Cohen [Page 9]
NWG/RFC 741 DC 22 Nov 77 42444
Specifications for the Network Voice Protocol (NVP)
ON RENEGOTIATION
At any stage after links are agreed upon, either party might
request a RENEGOTIATION. If the request is approved by the other
party, either party might become the NEGOTIATION MASTER, depending
on the type of renegotiation request. When renegotiation starts,
no previously negotiated agreements (except LINK numbers) hold,
and all items have to be renegotiated from scratch. Note that
renegotiation may entirely replace the negotiation phase and
allows the CALLER to be the NEGOTIATION MASTER.
Data messages are the messages which contain vocoded speech. The
first 32 bits of each data message is the MESSAGE-HEADER, which
carries sequence and timing information as described below.
The serial number of the first parcel in the message is put in the
first 16 bits of the message and is referred to as the
MESSAGE-TIME-STAMP. Note that this time stamp is synchronized with
the data stream. Note also that these 16 bits are actually the
third word of the message, following the 2 words used as
IMP-to-HOST leader (see BBN Report 1822).
Note that if message number N has the time stamp T(N) and the
count C(N), then T(N+1) must be greater than or equal to
T(N)+C(N). Usually T(N+1) = T(N)+C(N), unless the XMTR decided not
to send some parcels due to silence. If this happens then the
WE-SKIPPED-PARCELS bit is set to ONE, else it is set to ZERO.
Hence, if T(N+1) is found by the RCVR to be greater than T(N)+C(N)
and the WE-SKIPPED-PARCELS is zero, some message must be lost.
There are two independent issues in the coding. One is, obviously,
the acoustic coding, i.e., which parameters have to be transmitted.
SIMPLE acoustic coding is sending all the parameters at every
transmission interval. OPTIMIZED acoustic coding sends only as little
as acoustically needed. DELCO is an example of OPTIMIZED acoustic
coding.
The details of the LPC data protocol and its Tables-Set-#1 can be
found in Appendix 1.
GAIN 5 bits
I(1) 7 bits
I(2) 7 bits
I(3) 6 bits
I(4) 6 bits
I(5) 5 bits
I(6) 5 bits
I(7) 5 bits
I(8) 5 bits
I(9) 5 bits
I(10) 5 bits
Another example:
.......
.......
Another example:
.......
.......
.......
APPENDIX 1
TABLES-SET-#1
by
John D. Markel
TABLES-SET-#1
GENERAL COMMENTS
Note that if N bits are used by a certain CODE, then there are
2**N+1 entries in the X-table, but only 2**N entries in the
R-table.
Values above and below the range of the X-table are mapped into
the maximum and minimum table indices, respectively.
The level J=0 defines the UNVOICED condition. The receiver maps it
into the number of samples per frame (here 128).
NSC Notes 36, 45, 56 and 58 supply background for the GAIN table.
Gain is the energy of the pre-emphasized, windowed signal.
This table is the NEW GAIN table. NSC Notes 56 and 58 explain the
reasoning behind the NEW GAIN.
Positive values are coded into the range [0-63, decimal]. Negative
values are coded into the 7-bits two’s complement of the codes of
their absolute value [65-127, decimal].
Note that all values -403 < V < 403 are coded as (and mapped into)
0. Note also that the code -64 (100 octal) is never used.
Positive values are coded into the range [0-31, decimal]. Negative
values are coded into the 6-bits two’s complement of the codes of
their absolute values [33-63, decimal].
Note that all values -805 < V < 805 are coded as (and mapped into)
0. Note also that the code -32 (40 octal) is never used.
Note that all values -1609 < V < 1609 are coded as (and mapped
into) 0. Note also that the code -16 (20 octal) is never used.
0 6002 10770
0 128* 21 33 42 61
0 6168 11080
1 18 22 34 43 63
3630 6338 11399
2 19 23 35 44 65
3724 6515 11728
3 19 24 36 45 67
3821 6696 12067
4 20 25 37 46 69
3921 6883 12417
5 20 26 38 47 71
4024 7075 12776
6 21 27 39 48 73
4131 7274 13147
7 22 28 40 49 75
4240 7478 13529
8 22 29 41 50 77
4353 7689 13922
9 23 30 43 51 80
4469 7905 14327
10 24 31 44 52 82
4588 8129 14745
11 24 32 45 53 85
4711 8359 15175
12 25 33 47 54 87
4838 8596 15618
13 26 34 48 55 90
4969 8840 16075
14 27 35 50 56 93
5104 9092 16545
15 27 36 51 57 95
5242 9351 17029
16 28 37 53 58 98
5385 9618 17529
17 29 38 54 59 101
5533 9894 18043
18 30 39 56 60 104
5684 10177 18572
19 31 40 57 61 107
5841 10469 19118
20 32 41 59 62 111
6002 10770 19681
63 114
infinity
0 225
0 0 16 245
20 266
1 20 17 289
22 315
2 24 18 342
26 372
3 28 19 404
30 439
4 33 20 478
36 519
5 39 21 565
42 614
6 46 22 667
50 725
7 54 23 789
59 857
8 64 24 932
70 1013
9 76 25 1101
83 1197
10 90 26 1301
98 1415
11 106 27 1538
116 1672
12 126 28 1818
137 1976
13 148 29 2148
161 2335
14 175 30 2539
191 2760
15 207 31 3000
255 infinity
0 15800 27897
0 0 21 16151 42 28106
402 16500 28311
1 804 22 16846 43 28511
1206 17190 28707
2 1608 23 17531 44 28899
2009 17869 29086
3 2411 24 18205 45 29269
2811 18538 29448
4 3212 25 18868 46 29622
3612 19195 29792
5 4011 26 19520 47 29957
4410 19841 30118
6 4808 27 20160 48 30274
5205 20475 30425
7 5602 28 20788 49 30572
5998 21097 30715
8 6393 29 21403 50 30853
6787 21706 30986
9 7180 30 22006 51 31114
7571 22302 31238
10 7962 31 22595 52 31357
8351 22884 31471
11 8740 32 23170 53 31581
9127 23453 31686
12 9512 33 23732 54 31786
9896 24008 31881
13 10279 34 24279 55 31972
10660 24548 32058
14 11039 35 24812 56 32138
11417 25073 32214
15 11793 36 25330 57 32286
12167 25583 32352
16 12540 37 25833 58 32413
12910 26078 32470
17 13279 38 26320 59 32522
13646 26557 32568
18 14010 39 26791 60 32610
14373 27020 32647
19 14733 40 27246 61 32679
15091 27467 32706
20 15447 41 27684 62 32729
15800 27897 32746
63 32758
infinity
0 22595
0 0 16 23170
804 23732
1 1608 17 24279
2411 24812
2 3212 18 25330
4011 25833
3 4808 19 26320
5602 26791
4 6393 20 27246
7180 27684
5 7962 21 28106
8740 28511
6 9512 22 28899
10279 29269
7 11039 23 29622
11793 29957
8 12540 24 30274
13279 30572
9 14010 25 30853
14733 31114
10 15447 26 31357
16151 31581
11 16846 27 31786
17531 31972
12 18205 28 32138
18868 32286
13 19520 29 32413
20160 32522
14 20788 30 32610
21403 32679
15 22006 31 32729
22595 infinity
0 22006
0 0 8 23170
1608 24279
1 3212 9 25330
4808 26320
2 6393 10 27246
7962 28106
3 9512 11 28899
11039 29622
4 12540 12 30274
14010 30853
5 15447 13 31357
16846 31786
6 18205 14 32138
19520 32413
7 20788 15 32610
22006 infinity
APPENDIX 2
IMPLEMENTATION RECOMMENDATIONS
SLNCTH 30 SILENCE-THRESHOLD.
Time for waiting for response for an initial call (#1 and #3).
The initial call is repeated every TRI until an answer arrives,
or until TRIGU expires.
REFERENCES
Bolt Beranek & Newman, Inc., Report No. 1822, Interface Message
Processor: Specifications for the Interconnection of a Host and an
IMP.
NSC Note 45, Everything You Always Wanted to Know about Gain, by E.
Randolph Cole, USC/Information Sciences Institute, October 11, 1974.
NSC Note 56, Nothing to Lose, but Lots to Gain, by John Makhoul and
Lynn Cosell, Bolt Beranek & Newman, Inc., March 10, 1975.