1ОЋ~ЄJддддде Commumications protocol and definitions for the KNET data channel, whkII 7/28-95
H & K COMMUNICATIONS, INC.

KNET INTERFACE DEFINITION TECHNICAL REFERENCE




Reviewed and approved by

WILLIAM H. KIRN
PRESIDENT
H & K COMMUNICATIONS, INC.
Phone  415-967-7688
Fax      415-967-1008

William Kirn @ H&K Communications, Inc.

ALL INFORMATION CONTAINED HEREIN IS PROPRIETARY AND IS NOT TO BE DISCLOSED TO OTHERS WITHOUT THE WRITTEN CONSENT OF THE PRESIDENT OF H & K COMMUNICATIONS, INC. COPYRIGHT 1986-1995, H & K COMMUNICATIONS, INC., ALL RIGHTS RESERVED No part of this publication may be reproduced or distributed in any form or by any means, or stored in a data base or retrieval system, without the prior permission of the president of H & K COMMUNICATIONS, INC.

1. TABLE OF CONTENTS

1. TABLE OF CONTENTS 2. INTRODUCTION 2.1 Preface 3. MESSAGE PROTOCOL 3.1 BLOCK PROTOCOL 3.2 BLOCK FORMAT 3.2.1 Send Block Protocol 3.2.2 Receive Block Protocol 3.2.3 Flags 3.2.4 SRAM MEMORY MAP 3.3 MESSAGE BLOCK LAYOUT 3.4 ADDRESS FIELD FORMAT 3.5 ADDRESS FIELD BITS AND THEIR MEANING 3.6 SEQ BIT 3.7 DIR BIT 3.8 CB0/CB1 3.9 DATA PACKET 3.10 WATCHDOG/RESYNC 3.11 RESYNC/COMM FAIL 3.12 ACKNOWLEDGE 3.13 NORMAL KNET ADDRESSES 3.14 INITIALIZING SOFT KNET ADDRESSES 3.15 INITIALIZING HARD KNET ADDRESSES 3.16 ADDRESS MAPPING 3.17 KNET ADDRESS CONFLICT 3.18 BLOCK RECEIVING SCENARIO 3.19 TRUNK INDICATOR SCENARIO 3.20 BROADCAST MESSAGE SCENARIO 3.21 TRUNK LED SCENARIO 3.22 DEVICE COMM FAIL SCENARIO 3.23 VCIF COMM FAIL SCENARIO 3.24 KSU/VCIF FAIL SCENARIO 3.25 DEVICE RESET SCENARIO 4. MESSAGES 4.1 Messag Formats 4.2 Message Types 4.3 Outbound messages 4.4 Inbound messages 4.5 MESSAGE TYPE ENCODING 4.6 Message Number 5. MESSAGE DESCRIPTIONS 5.1 OUTBOUND 5.2 INBOUND 5.3 Message - RCNFG - Request configuration 5.4 Message - RDIAG - Diagnostic read (Not Implemented) 5.5 Message - RDIG1/RDIG2/RSHFT - Request Digital Data 5.6 Message - RSTAT - Request status 5.7 Message - SACAD - Set Audio, Cadence and Digital Chip 5.8 Message - SADDR - Set device address and mode 5.9 Message - SCNFG - Set configuration 5.10 Message - SCONF - Set Conference Bus 5.11 Message - SDIG1/SDIG2/SSHFT - Set Digital Data 5.12 Message - SDILD - Write DTMF keystrokes 5.13 Message - SDILP - Write PULSE keystrokes 5.14 Message - SDTXT - Write display text 5.15 Message - SINDI - Set indicators 5.16 Message - SLIND - Set line indicators 5.17 Message - SLTBL - Set line indicators table 5.18 Message - STONE - Set Tone Generator 5.19 Message - STRKS - Set trunks 5.20 Message - CCNFG - Current configuration 5.21 Message - CDDNE - Dial Done 5.22 Message - CDIAG - Diagnostic response (Not Implemented) 5.23 Message - CDIG1/CDIG2/CSHFT - Digital Chip Data 5.24 Message - CDTMF - DTMF Tone Detect 5.25 Message - CENER - Energy detect 5.26 Message - CEVNT - Device Event 5.27 Message - CSTATCSTAT - WSTAT - Watchdog/Status 5.28 Speaker phone volume discussion

2. INTRODUCTION

2.1 Preface

This document assumes some technical familiarity with the KNET system. The KNET Theory of Operation document should be read prior to reading this one for an overview of nomenclature, purpose, etc. This document describes one of the system nodes on the KNET (Voice network) system. This node is located at the interface between the KEY SYSTEM UNIT (KSU) and the KNET CONTROLLER INTERFACE (VCIF). It defines the message protocol for the node. Further information on the messages is found in the appropriate KNET DEVICE SPECIFICATION. The actions taken for each message can be found in the KNET CONTROLLER SPECIFICATION. The KSU acts as a "bus master" with access to all features of any device which is be attached to the KNET. Other features of the system design philosophy are: "open ended" architecture so that new devices may be added to the system with ease. concentration of processing horsepower in a single device in order to reduce costs (i.e. the KSU) It is capable of passing data at a rate which does not cause it to become a system bottleneck and ultimately a source of annoyance to system users. The number of message types is minimized and formats are as similar as possible. This approach causes some redundancy in the information being passed but does not load the KNET control channel significantly. This is because redundancy is concentrated in the shorter messages (where link turn-around time is significant). It should be kept in mind that the communication channel operates as a collision detect asynchronous protocol allowing devices to initiate data transmissions without being polled or placed in some form of time slot. The channel protocol is optimized so that it degrades gracefully under heavy loading conditions.

3. MESSAGE PROTOCOL

3.1 BLOCK PROTOCOL

Refer to the KNET THEORY OF OPERATION for a description of all the KNET communications channels. The base band channel is reserved for passing of the data which controls and co-ordinates all of the devices attached to KNET. This channel is fixed by the hardware and operates half duplex using a collision detect protocol. The VCIF connects the KSU to this channel so that it may control the operation of the KNET. Some of the voice channels may be used by other equipment to carry data information, however the control channel is the only one which is "visible" to the KSU at this interface. The purpose of the VCIF is to translate and buffer the KNET control channel protocol to the KSU PC Bus. When receiving a packet from the KNET control channel the VCIF handles packet framing (start, stop), checksum, collision detect, re-transmit on error, etc. autonomously. It then forwards the address and message portions of the packet to the KSU. On transmission the reverse occurs.

3.2 BLOCK FORMAT

The hardware interface between the KSU and the VCIF is a dual ported SRAM. The software interface is an interrupt driven, full duplex protocol.

3.2.1 Send Block Protocol

When KSU desires to send a message, it check the "send" ticket and "send" receipt. If the ticket and the receipt are equal, then both the "A" and "B" buffers are empty and available. If the ticket is one greater then the receipt, then one of the "send" buffers is free. If the ticket is two greater than the receipt then both buffers are full. The next buffer to place data into is determined by the ticket, if it is even then the "A" buffer is next. The KSU determines the next free buffer, places the message and message length into the buffer. It then increments the ticket to signal the VCIF that a new message is available to be sent. When VCIF is free to send a message to the KNET, it check the "send" ticket and "send" receipt. If the ticket and the receipt are equal, then both the "A" and "B" buffers are empty. If the ticket is one greater then the receipt, then one of the "send" buffers is has a message to send. If the ticket is two greater than the receipt then both buffers are full. The next buffer to get data from is determined by the receipt, if it is even then the "A" buffer is next. The VCIF determines the next full buffer, and gets the message and message length from the buffer. It then increments the "send" receipt to signal the KSU that the buffer message is now free and interrupts the PC. If for some reason the ticket and receipt are off by more than two, the KSU will set the ticket equal to the receipt.

3.2.3 Flags

If for some reason the receive ticket and receive receipt are off by more than two, the VCIF will set the ticket equal to the receipt and set the BUFFER ERROR FLAG. The VCIF will set flags in the VCIF FLAG byte only if the whole byte is zero. When the KSU has read the flags, it will reset the byte to all zero.

3.2.4 SRAM MEMORY MAP

x0000 Send ticket x0001 Send Receipt x0002 Receive Ticket x0003 Receive Receipt x0004 VCIF to KSU FLAGS bit 0 Buffer Error x0005 KSU to VCIF FLAGS ... x0010 length of "A" send message x0011 ... 31 bytes, "A" send message x002f x0030 length of "B" send message x0031 ... 31 bytes, "B" send message x004f x0050 length of "1st" received message x0051 ... 31 bytes, "1st" received message x006f x0070 length of "2nd" received message x0071 ... 31 bytes, "2nd" received message x008f x0090 length of "3rd" received message x0091 ... 31 bytes, "3rd" received message x00Af x00B0 length of "4th" received message x00B1 ... 31 bytes, "4th" received message x00Bf NOTE: "send" means "to" KNET, "receive" means "from" KNET. Both the VCIF and KSU send and receive the checksum as the last byte of the message. If a checksum error is detected by the VCIF it sets the CHECK SUM ERROR bit in the FLAGS byte, and ignores the message. The KSU logs all CSTATS and checksum errors for diagnostic purposes. If the receive buffer is not unloaded in time by the KSU then the VCIF will stop ACKing regular messages. The messages not ACKed are lost. It will continue to ACK Watchdog messages.

3.3 MESSAGE BLOCK LAYOUT

The message block passed between the VCIF and the KSU consists of an address word, a message and the checksum. The maximum length of the address and message on the KNET BUS is 24 bytes long. BYTE 0 Message Length BYTE 1-2 ADDRESS FIELD BYTE 3-25 MESSAGE BYTE 26 CHECKSUM BYTE The CHECKSUM BYTE does not included the Length Byte in the checksum calculation. The LENGTH BYTE is the length of the following message bytes including the CHECKSUM BYTE. Each block consists of a device control and address field followed by a data stream which consists of only one message. The block then appears thus - _________________ | | byte - LENGTH ----------------- _________________ | | |-- --| word - CONTROL/ADDRESS FIELD | | ----------------- _________________ | | | | |/\ /\ /\ /\ | \/ \/ \/ /\ /\ /\ /\ /\ 23 bytes or less - MESSAGE |\/ \/ \/ /\ | | | | | |_______________| _________________ | | byte - CHECKSUM -----------------

3.4 ADDRESS FIELD FORMAT

_________________ | | Byte 0 ----------------- | | | | | | | | | | | | | | | - DIR BIT | | | | | | --- CB0 | | | | | ----- CB1 | | | | ------- SEQ BIT | | | --------- ADR 08 | | ----------- ADR 09 | ------------- ADR 10 --------------- ADR 11 ----------------- | | Byte 1 ----------------- |ADR 7 --- ADR 0|

3.5 ADDRESS FIELD BITS AND THEIR MEANING

The address field contains specific control bits in the 1st byte. The following paragraphs describe the function of the four control bits. They are the DIR BIT, CB0, CB1, and the SEQ BIT.

3.6 SEQ BIT

The sequence bit is 0 (and ignored) for all RESYNC messages. All other messages are data packets, and consecutive new data packets alternate the sequence bit. The sequence bit allows detection of multiple transmissions of the same data packet. It is possible for the receiving device to receive a good data packet, however the ACK sent back was not received. This causes a re-transmission of the same data packet by the sending device. To avoid interpreting this repeated packet as new data the sequence bit is compared. If the last received sequence bit is not the same as the current one the packet is accepted as new data, and the received sequence bit is then saved. If the sequence bits compare, the device does not consider the packet to be new data and ignores it. Regardless, all KNET packet are immediately ACKed if they are received error free.

3.7 DIR BIT

The direction bit identifies the source of the packet. The packet can originate from the VCIF or a device. The convention is: DIR BIT = 0, the packet it to the VCIF; DIR BIT = 1, the packet originated from the VCIF.

3.8 CB0/CB1

CB1 CB0 These two bits define message types. 0 0 data packet 0 1 watchdog/resync. message 1 0 resync./comm. fail message 1 1 acknowledge message

3.9 DATA PACKET

A transmission that contains information such as status, display text, switch numbers, etc.

3.10 WATCHDOG/RESYNC

A periodic transmission from the devices to the controller. It resets the controllers' sequence bit for that device when received and reset the devices transmit sequence bit when sent.

3.11 RESYNC/COMM FAIL

A transmission indicating that the previous transmission sequence was not acknowledged. If received by a device, forces the device to its idle state. If received by the controller, indicates the device went to idle state. Also resets the respective sequence bits.

3.12 ACKNOWLEDGE

A transmission acknowledging reception of a valid block. It is transmitted immediately following the valid block.

3.13 NORMAL KNET ADDRESSES

All communication on the KNET control channel is between the KNET device and the VCIF. No inter-device communication is allowed. In normal operation, each device has a unique address. When transmitting from the VCIF to peripheral at address "XX" the packet address is taken as "to device X". When transmitting from peripheral address "XX" to the VCIF the packet address is taken as "from device X".

3.14 INITIALIZING SOFT KNET ADDRESSES

When NEW or after losing an address conflict, KNET devices are in the INITIALIZATION state. Devices in the INITIALIZATION state are at KNET ADDRESS 0. A device in the installation state does not ACK any messages. It does receive broadcast messages. It only transmits CSTAT messages. All address "0" messages (like other Broadcast Messages) are transmitted only twice with no retries, no ACKS, and the sequence bit is ignored. To install a device the installer hits any key on a keyboard device or the PUSH BUTTON on a non-keyboard device. The device then sets itself to address 1. The device sends a WSTAT message. The KSU then picks an unused KNET address and sends a SADDR message to KNET address 1. The device then sets its address to the address given in the SADDR. The KSU then checks the device type with a RCNFG message.

3.15 INITIALIZING HARD KNET ADDRESSES

The Triple CO cards have hard coded KNET address depending upon the slot they are installed in. Slot zero (0) contains the CO at KNET address 10 hex, slot one (1) contains the CO at address 11 hex, etc. There may be 8 CO cards total in the system. There is a push button on the CO card allowing the card to be busied out. 3.15.1 Keyboard/display devices - The KSU sends a SDTXT message "ENTER AN EXTENSION #" to the new address. The installer then enters (at the device) the requested EXTENSION NUMBER (or NULL) followed by an pound sign ("xxx#"). This is sent as normal keypunches by the device. The KSU responds with a SDTXT message confirming or denying the requested EXTENSION NUMBER. Upon confirmation of a valid extension number the device is installed. 3.15.2 Non-keyboard/display devices - Upon determining the device type, and switch code the KSU OPERATOR is then prompted for the relevant details. These may include TELCO line #, rotary sequence, etc. 3.15.3 Triple CO Devices Upon determining the device type, and slot number the device is installed and active. Triple COs are assigned one KNET address and each CO line is assumed to be a sub address.

3.16 ADDRESS MAPPING

8 bit Logical KNET ADDRESSES are encoded to a 12-bit address, to increase error tolerance. The address coding is a modified HAMMING code as follows: Bit 11 even parity (bits 0-7). Bit 10 not even parity (bits 0,2,4,6). Bit 09 not even parity (bits 0,1,4,5). Bit 08 not even parity (bits 0,1,2,3). The upper 4 bits of the address are sent in the upper nibble of the control and address word. Some typical addresses are: 0 (0x800) Devices Waiting to be installed Devices detecting Address conflict 1 (0x701) Single Device in midst of installation. 2 (0x302) VCIF address. 3-15 Reserved for Future System Use. 16-27 Triple COs #1 to #11 28-127 other non-display devices 128-0xC0 for all keyboard/display devices 0xC0 to 0xFF 64 Broadcast Addresses

3.17 KNET ADDRESS CONFLICT

It is possible that a device to be installed already has assigned to it a KNET address already in use. When a KNET device is installed it immediately sends a WATCHDOG message on power up. It ignores all KNET messages until its first WATCHDOG is ACKed. If a device hears its' KNET address used by another device it automatically sends a "SADDR 0" message to its own address, with the direction bit set to "VCIF sending". This will kill the other device. The killed device may ACK, then sets KNET ADDRESS 0, and sends a WSTAT. The KSU then broadcasts a SDTXT "NEEDS INSTALLATION" message to all KNET ADDRESS 0's. The KSU checks the current device at the conflicted address (with a RCNFG) for the proper serial number. Devices in the INITIALIZATION state then send watchdog messages alerting the KSU of devices requiring installation. If any unknown address is received by the KSU it will force that device to KNET address 0. This is done by sending "SADDR 0". The device will then enter the installation state. If there are any WSTAT messages from KNET address 0 the KSU immediately sends a SDTXT "NEEDS INSTALLATION" message to all KNET ADDRESS 0's. No address 0 messages are ever ACKed. Local detection of non-keyboard devices (CO interface, etc.) needing initialization is done with the on-board LED. Un- installed SLTI's are automatically installed when any button is pressed.

3.18 BLOCK RECEIVING SCENARIO

A device sends a packet on the KNET control channel to the VCIF. The VCIF checks for collision and checksum. If these are in error it does not ACK the message and the device re-transmits. If the packet is good the VCIF sends an ACK to the device.

3.19 TRUNK INDICATOR SCENARIO

On initialization each KNET device is sent an SLTBL message. This message sets the devices TRUNK TABLE and BROADCAST ADDRESS. When a CO Line changes status (on-hook, off-hook, etc.), its trunk number is sent as a broadcast SLIND message. Each phone receiving the broadcast message then uses its internal TRUNK TABLE to decide which (if any) LEDS to turn on/off/blink.

3.20 BROADCAST MESSAGE SCENARIO

When a KNET device is initialized its broadcast address is set with the SLTBL message. The KSU sends a broadcast message to the VCIF. This message always has the resync bit set, and the sequence bit is ignored. The VCIF then sends the message using the fixed broadcast address (previously encoded in the message). The VCIF does not wait for an ACK, because it recognized the message as a broadcast message from the address. Since no ACK is sent the VCIF has no way of knowing if the message was successfully sent. To resolve the problem of no ACK, the VCIF sends all broadcast messages twice. The KSU also periodically re-broadcasts messages (as a low priority task) to further ensure that all devices are up to date. When the KNET devices receive a BROADCAST message they ignore the sequence bit, and never ACK.

3.21 TRUNK LED SCENARIO

When a trunk card is recognized by the KSU, its LED is placed on.

3.22 DEVICE COMM FAIL SCENARIO

If any device fails to receive an ACK after 4 tries to send a packet it enters the COMM FAIL state. Since ADDRESS 0 is never ACKed COMM FAIL can never be entered when in the install state. On COMM FAIL a device sends a WSTAT message with the COMM FAIL bit sequence instead of its normal watchdog. If any key or status change occurs, while the device is in the COMM FAIL state, it sends a COMM FAIL message, and no other. It responds to any and all requests with another COMM FAIL message. The device leaves the COMM FAIL state when it receives a valid ACK.

3.23 VCIF COMM FAIL SCENARIO

If the VCIF fails to receive an ACK after 4 tries to send a packet. It sends a COMM FAIL message to the KSU but not the KNET DEVICE. The COMM FAIL message is a special case of the CSTAT message. Since ADDRESS 0 or BROADCAST messages are never ACKed COMM FAIL can never be entered by these messages. The status byte is set to all ones. The KSU then sends an RSTAT with the COMM FAIL bits set to the failing device. The COMM FAIL condition is reset when the device ACKs properly, or a valid message is received from the device.

3.24 KSU/VCIF FAIL SCENARIO

The VCIF sends to the KSU a WSTAT every 10 seconds. The KSU responds with a RSTAT. If the VCIF fails to receive the RSTAT after 1 second the VCIF enters the COMM FAIL state. When the VCIF is in this state it will ACK only watchdog messages. Therefore the KNET will continue in its present state upon KSU failure until a device requests a KSU action at witch time the device requesting action will go into the COMM FAIL state. (Not yet implemented 1/6/86).

3.25 DEVICE RESET SCENARIO

On power up the KNET device sends a WSTAT within 1 second of reset. The KNET device reads the digital chip before sending the WSTAT so that it contains the information on the type of reset (power-up reset or watchdog reset).

4. MESSAGES

4.1 Messages Formats

Each single message consists of two basic elements. They are the "message type", and "operand". Although these two elements may be thought of as a command and arguments to that command, a message is not always a command. The "message type" is the key which determines the nature of the message and what operation is to be performed with the operand. The message type is a single byte appearing at the beginning of each message. The operand immediately follows the message type. Although the structure and length of the operand varies from message to message, its' format is fixed for any given message type. There are four general formats for operands. An operand is either one (1), three (3), four (4) or variable (less than 24) bytes long. In general the fixed format messages control specific hardware, convey status information, operator actions (such as key strokes) etc. The variable length format is used for messages which perform functions such as transferring information to ASCII displays or device memory. In the variable data format, the first byte of the operand (or second byte of the message) is always the length of the data stream which follows the length byte.

4.2 Message Types

Since normal communication is between a device and the KSU there are two basic message types. These are referred to as "outbound" (from KSU) and "inbound" (to KSU).

4.3 Outbound messages

Requests - These messages cause the device being addressed to send back information about its' current state. These allow the KSU to keep track of the system status. Sets - These set up the hardware on the device which affects its' specific function (i.e. audio channel assignments etc.).

4.4 Inbound messages

Spontaneous - Informational messages which inform the KSU of status and operator or external device actions. Responses - Response messages are caused by a request from the KSU for specific information from the particular device.

4.5 MESSAGE TYPE ENCODING

_________________ | | | Message Type ----------------- \ / \ / | \_______/ ----- Message Number | __________________ - unused

4.6 Message Number

The message number is an arbitrarily assigned 6 bit number for the message type. The Direction bit may be required to differentiate between message types. Back To Messagm

5. MESSAGE DESCRIPTIONS

5.1 OUTBOUND

Hex Mnem Type Description 05 RCNFG data Request configuration xx RDIAG data Diagnostic read 24 RDIG1 data Digital Chip 1 read request 25 RDIG2 data Digital Chip 2 read request 26 RSHFT data Shift register read request 07 RSTAT resync Request status cfail 01 SADDR resync Set device address and mode 02 SACAD data Set audio, and digital 06 SCNFG data Set device configuration 28 SCONF data Set Conference bus 21 SDIG1 data Set Digital chip 1 22 SDIG2 data Set Digital chip 2 2B SDILD data Write DTMF keystrokes to dialer 2A SDILP data Write Pulse keystrokes to dialer 04 SDTXT data Set Display Text, and control 03 SINDI data Set indicators 08 SLIND data Set Line Indicator 29 STRKS data Set trunks 09 SLTBL data Set Line Table and Broadcast Address 23 SSHFT data Set Shift Register C2 SCHAN data Set Audio Channel (Obsolete!!)

5.2 INBOUND

10 CCNFG data Current device configuration 1A CDDNE data Dial Done 1B CDTMF data DTMF digit detected XX CDIAG data Diagnostic response 34 CDIG1 data Digital Chip 1 contents 35 CDIG2 data Digital Chip 2 contents 1C CENER data Energy Detect 12 CEVNT data Device Event 36 CSHFT data Shift Register contents 13 CSTAT data Change in Status WSTAT resync Watchdog/status CFAIL cfail Comm fail

5.3 Message - RCNFG - Request configuration

5.3.1 Purpose This message is used by the KSU to determine the type of each device attached to the KNET on initial power up. It contains information about the device operating mode (set by KSU). This allows the KSU to recover setup data from the device. 5.3.2 Applicable device(s) All 5.3.3 Response KNET device sends CCNFG message 5.3.4 Message format _________________ | 0x05 | byte 0 - RCNFG ----------------- _________________ | | byte 1 - EEPRMADR - EEPROM Address ----------------- 5.3.5 Notes See SCNFG message for a summary of EEPRMADR values.. See also RCNFG. For the Triple CO Card, should re-check the KNET address in EEPROM against the slot address. Back To Message Index

5.4 Message - RDIAG - Diagnostic read (Not Implemented)

5.4.1 Applicable device(s) All 5.4.2 Purpose This message is intended to be used only for diagnostic functions. It allows the KSU to directly read the internal memory of KNET devices. 5.4.3 Response KNET devices responds with a CDIAG message 5.4.4 Message format _________________ | 0x?? | byte 0 - RDIAG ----------------- _________________ | | byte 1 - DLENGTH (length of desired memory ----------------- data string in bytes) _________________ | | byte 2 - low INTADDR ----------------- | | byte 3 - high INTADDR ----------------- (internal memory address in KNET device) 5.4.5 Notes Not currently implemented. May not be implemented!! Back To Message Index

5.5 Message - RDIG1/RDIG2/RSHFT - Request Digital Data

5.5.1 Applicable device(s) All 5.5.2 Purpose These messages are intended to be used only for diagnostic functions. It allows the KSU to directly read the Digital Chip 1, Digital Chip 2 and external shift registers. 5.5.3 Response KNET devices responds with a CDIG1, CDIG2 or CSHFT message 5.5.4 Message format _________________ | 0x24,0x25,0x26 | byte 0 - RDIG1/RDIG2/RSHFT ----------------- _________________ | | byte 1 - unused -----------------

5.6 Message - RSTAT - Request status

5.6.1 Purpose The purpose of this message is to allow the KSU to determine the current working state of any device attached to the KNET link. RSTAT is always received regardless of the sequence bit, and it always resets the send and receive sequence bits to a 0. 5.6.2 Applicable device(s) All devices 5.6.3 Response KNET device sends CSTAT Watchdog/status message 5.6.4 Message format _________________ | 0x07 | byte 0 - RSTAT ----------------- | | | | | | byte 1 - SSTAT (set status) * ----------------- \ \ \ \ \ \ \ \___ bit 0= Power up Mode, 1= Power Down \ \ \ \ \ \ \ \ \ \ \ \__ bit 1 800/200ms WATCHDOG \ \ \ \ \ bit 2 - must be = 0 \ \ \ \ \_____ bit 3 - Reset External Reset bit \ \ \ \______ bit 4 - Reset D-chip checksum bit \ \ \_______ bit 5 - must be = 1 \ \________ bit 6 - must be = 0 \________ bit 7 - Reset Commfail Bit and mode 5.6.5 Notes Power Down Mode turns off the KNET Transmitter/Receiver, device audio, and the indicators. RSTAT BB = Power Down, Long Watchdog, RSTAT BA = Power Up, Long Watchdog Back To Message Index

5.7 Message - SACAD - Set Audio, Cadence and Digital

Chip 5.7.1 Purpose This message sets the parameters that define the behavior of some audio and cadence in a particular KNET device. 5.7.2 Applicable device(s) All KNET devices 5.7.3 Response None 5.7.4 Message format _________________ | 0x02 | byte 0 - SACAD ----------------- _________________ | | | | | | | | | byte 1 - AUDCTL1 (audio control) ----------------- \ \ \ \ \ \ \ \____ bit 0 - 0 \ \ \ \ \ \ \_____ bit 1 - DTMF Mode enable or DTMF detector enable \ \ \ \ \ \______ bit 2 - CRJ11 -cadence to external ringer \ \ \ \ \_______ bit 3 - CTEL -cadence to phone \ \ \ \________ bit 4 - CD -cadence duration, 0 = once, 1 = continuous \ \ \_________ bit 5 - BONG - bong \ \__________ bit 6 - Re-order or Busy Cadence \___________ bit 7 - 1 = alternate TONEL,TONEH with cadence. _________________ | | | | | | | | | byte 2 - CADENCE ----------------- Followed by the 1st 8 bytes of the Digital Chip data. _________________ | | | | | | | | | byte 3 - TONEL ----------------- _________________ | | | | | | | | | byte 4 - TONEH ----------------- _________________ | | | | | | | | | byte 5 - BLOG|TLOG ----------------- _________________ | | | | | | | | | byte 6 - ENTONES ----------------- \ \ \ \ \ \ \ \____ bit 0 - Tones and White noise Enable, must =0 \ \ \ \ \ \ \_____ bit 1 - White Noise Enable \ \ \ \ \ \______ bit 2 - Tristate, must =0 \ \ \ \ \_______ bit 3 - Tones to TX Audio enable \ \ \ \________ bit 4 - Tones to speaker \ \ \_________ bit 5 - Tones to headphone \ \__________ bit 6 - Warble Bit 0 \___________ bit 7 - Warble Bit 1 _________________ | | | | | | | | | byte 7 - ENAUD enable Audio Paths ----------------- \ \ \ \ \ \ \ \____ bit 0 - Receive audio to handset receiver \ \ \ \ \ \ \_____ bit 1 - Receive audio to case speaker enable \ \ \ \ \ \______ bit 2 - handset mike to TX audio enable \ \ \ \ \_______ bit 3 - case mike to TX audio enable \ \ \ \________ bit 4 - TX audio to sidetone enable \ \ \_________ bit 5 - Receive Audio to TX audio loopback enable \ \__________ bit 6 - TX Carrier enable \___________ bit 7 - attenuate tones to sidetone disable _________________ | | | | | | | | | byte 8 - SYNTHA ----------------- _________________ | | | | | | | | | byte 9 - SYNTHB ----------------- _________________ | | | | | | | | | byte 10- AGC,7/5KHZ ----------------- \ \ \ \ \ \ \ \____ bit 0 - AGC0 \ \ \ \ \ \ \_____ bit 1 - AGC1, 00=32MS,01=64MS,10=128MS,11=256MS \ \ \ \ \ \______ bit 2 - SYNREF (7/5 KHZ) \ \ \ \ \_______ bit 3 - PD/ER MODE 0 FOR PHONES, 1 FOR CO'S \ \ \ \________ bit 4 - ERF or PDF frequency \ \ \_________ bit 5 - EREN OR PDMBP (MK/BK SELECT) \ \__________ bit 6 - 0 = LOOP CURRENT ON, (CPEIF). \___________ bit 7 - N/A 5.7.5 NOTES When the Bong bit is set the current audio is BONGed with cadence, must have CTEL= 1. When the KEYPAD changes from DTMF to BEEP mode the 8049 resets the ENTONES byte in the digital chip. Any time a DTMF tone is sent the mikes must be muted in the ENAUD byte, and the TONES to TX Audio Bit must be set in ENTONES.. Each bit in the Cadence byte enables/disables the audio for 224 mS. The last cadence bit (bit 0) is held for 2 seconds unless the RE-ORDER/BUSY bit is set. No beeping if DTMFL = FFH CPEIF only, If the ALT bit is set in AUDCTL the cpeif will enable toneh for first 4 bits or 1/2 the cadence and tonel for next 4 bits or the other 1/2 of cadence. This is to product a ding dong type effect for the doorphone. Upon completion of the cadence a CSTAT message will be sent to indicate the ding dong is finished. Back To Message Index

5.8 Message - SADDR - Set device address and mode

5.8.1 Applicable device(s) All 5.8.2 Purpose Sets the devices address and its' mode of operation. It is used on power up to assign an initial unique device address to each KNET peripheral and set its' operating mode. 5.8.3 Response None 5.8.4 Message format _________________ | 0x01 | byte 0 - SADDR ----------------- _________________ | |xxxxxxx| byte 1 ----------------- \-----/_________ bits 4-7 - address check bits ----------------- | | byte 2 NEWADDR (new device address) ----------------- 5.8.5 Notes A device that receives an SADDR 00 message will place itself in the installation state. An SADDR 00 message is sent by a KNET device to another KNET device if it detects the other device using its address. The direction bit is set so that the device will ACK the message and the VCIF will not. The VCIF passes the message to the KSU for diagnostic purposes. Back To Message Index

5.9 Message - SCNFG - Set configuration

5.9.1 Purpose This message allows the KSU to set the current configuration of any KNET device. 5.9.2 Applicable device(s) All devices 5.9.3 Message format Same as CCNFG Message _________________ | 0x06 | byte 0 - SCNFG ----------------- _________________ | | byte 1 - EEPRMADR Address ----------------- _________________ | | byte 2 - CONFIGH High byte ----------------- | | byte 3 - CONFIGL low byte ----------------- 5.9.4 NOTES The format of this block (as with device status) is device dependent. For the standard KNET phone the word addresses are: 06 MSB of serial number. 07 8 bits Device Type (high byte), 8 bits LSB of Serial number (low byte). 0F Current KNET address. Configuration Addresses are not hardware protected, may be written into at any time To set: See also CCNFG and RCNFG. Does not apply to CO, since its address is hard wired in ribbon cable. Back To Message Index

5.10 Message - SCONF - Set Conference Bus

5.10.1 Applicable device(s) CO interface 5.10.2 Purpose The purpose of this message is to set up the conference bus hardware on the CO line interface. 5.10.3 Response None 5.10.4 Message format _________________ | 0x0D | byte 0 - SCONF ----------------- _________________ | | | | | | | | | byte 1 - CONF0 ----------------- \ \ \ \ \ \ \ \___ bit 0 - XPOINT Address bit A \ \ \ \ \ \ \____ bit 1 - XPOINT Address bit B \ \ \ \ \ \_____ bit 2 - XPOINT Address bit D (!) \ \ \ \ \______ bit 3 - XPOINT Address bit C (!) \ \ \ \_______ bit 4 - XPOINT Data In \ \ \________ bit 5 - CONF1 Terminator \ \_________ bit 6 - CONF2 Terminator \__________ bit 7 - CONF3 Terminator 5.10.5 Notes Each CO line must be always assigned a conference bus, and that conference bus must have the terminator on, unless it is conferenceing. To clear all conference lines simultaneously use bit in STRKS. Back To Message Index

5.11 Message - SDIG1/SDIG2/SSHFT - Set Digital Data

5.11.1 Applicable device(s) - All 5.11.2 Purpose These messages are used only for INITIAL TEST PURPOSES. They allow the KSU to directly write the Digital Chip 1, Digital Chip 2, and external Shift Registers. They are not presently available. 5.11.3 Response None 5.11.4 Message format - _________________ | 0x21,0x22,0x23 | byte 0 - SDIG1/SDIG2/SSHFT ----------------- ----------------- | | byte 1 - DLENGTH(length of remainder of ----------------- message) _________________ | | \ first byte | | | |/\ /\ /\ /\ | | \/ \/ \/ \ | /\ /\ /\ /\ --- data to be written to device |\/ \/ \/ \ | | | | | | | | |_______________| / last byte 5.11.5 Notes Back To Message Index

5.12 Message - SDILD - Write DTMF keystrokes

5.12.1 Applicable device(s) All CO interfaces. 5.12.2 Purpose This message is used to output DTMF tones. 5.12.3 Response CDDNE when dial is completed. 5.12.4 Message format _________________ | 0x2B | byte 0 - SDILD ----------------- _________________ | | byte 1 - DLENGTH (length of remainder of ----------------- message) _________________ | | | | | | | | | byte 2 - (??) ----------------- \ \ \ \ \ \ \ \__ bit 0 \ \ \ \ \ \ \___ bit 1 \ \ \ \ \ \____ bit 2 - tone gen select (0=gen1, 1=gen2) \ \ \ \ \_____ bit 3 \ \ \ \______ bit 4 \ \ \_______ bit 5 \ \________ bit 6 \_________ bit 7 _________________ | | \ | | | |/\ /\ /\ /\ | | \/ \/ \/ \/ | /\ /\ /\ /\ --- DTMF words. |\/ \/ \/ \/ | | | | 8 digits MAX | | | |_______________| / 5.12.5 Notes DTMF word is composed of 2 bytes of tone generator codes to be sent to the digital chip. The order of High/Low tone does not matter. The connection between tone generator and line must be pre-set with STRKS. SDILD 01 00 WILL STOP THE DIALER Back To Message Index

5.13 Message - SDILP - Write PULSE keystrokes

5.13.1 Applicable device(s) All CO interfaces. 5.13.2 Purpose This message is used to output pulse to the dialer chip. 5.13.3 Response CDDNE when dial is completed. 5.13.4 Message format _________________ | 0x2A | byte 0 - SDIALP ----------------- _________________ | | | | | | | | | byte 2 - (??) ----------------- \ \ \ \ \ \ \ \__ bit 0 - bit 1/0 -00=pulse dial mode, 01=flash, 11=pause, 10=? \ \ \ \ \ \ \___ bit 1 \ \ \ \ \ \____ bit 2 - pulse gen select (0=gen1, 1=gen2) \ \ \ \ \_____ bit 3 \ \ \ \______ bit 4 - Pulse Per Min (0=10pps, 1=20pps) \ \ \_______ bit 5 - Make/Break Ratio (0=66/33, 1=60/40) \/_________ bit 6/7 - Line to Flash/Pulse Dial _________________ | | DIGIT/LENGTH ----------------- 5.13.5 Notes In Pulse Dial Mode the DIGIT value is the desired number of pulses minus one. In Flash Mode the DIGIT value is the length of the flash in 120mS increments. DIAL TRANSLATION TABLE NMBR PULSE COUNT 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 Flash TRANSLATION TABLE 0 none 1 120 mS Flash 2. 240 mS Flash .. 120 mS increments Back To Message Index

5.14 Message - SDTXT - Write display text

5.14.1 Applicable device(s) All display devices. 5.14.2 Purpose This message is used to output text to the ASCII display on the device. This display is used for operator prompting and information. The first two message bytes are mandatory and contain display control bytes. 5.14.3 Response None 5.14.4 Message format _________________ | 0x04 | byte 0 - SDTXT ----------------- _________________ | | byte 1 - DLENGTH ( length of remainder of ----------------- message) _________________ | | byte 2 - display control byte ----------------- | | byte 3 - display control byte ----------------- _________________ | | \ | | | |/\ /\ /\ /\ | | \/ \/ \/ \/ | /\ /\ /\ /\ --- ASCII text to be displayed |\/ \/ \/ \/ | | maximum 20 bytes text | | | | | | |_______________| / 5.14.5 NOTES When SDTXT is broadcast it should not contain a display clear command or any command requiring timing in the KNET device. Back To Message Index

5.15 Message - SINDI - Set indicators

5.15.1 Applicable device(s) KNET devices with LED indicators. 5.15.2 Purpose This message is used to set some of the indicators on the device. The CO/LINE indicators are set in a different manner using the SLIND. On the KNET phone, these are the LED indicators on the front panel. Other devices use this same message but the physical appearance and meaning of the indicators is different. 5.15.3 Response None 5.15.4 Message format _________________ | 0x03 | byte 0 - SINDI ----------------- _________________ | | | | | | | | | byte 1 - DIND1 (led indicators on) ----------------- \ \ \ \ \ \ \ \__ bit 0 - IND0 (indicator 0) \ \ \ \ \ \ \___ bit 1 - IND1 (etc.) \ \ \ \ \ \____ bit 2 - IND2 \ \ \ \ \_____ bit 3 - IND3 \ \ \ \______ bit 4 - IND4 \ \ \_______ bit 5 - IND5 \ \________ bit 6 - IND6 \_________ bit 7 - IND7 _________________ | | byte 2 - BLIND1 (blink indicators) * ----------------- _________________ | | | | | | | | | byte 3 - DIND2 (led indicators on) ----------------- \ \ \ \ \ \ \ \__ bit 0 - IND8 (indicator 8) \ \ \ \ \ \ \___ bit 1 - IND9 (etc.) \ \ \ \ \ \____ bit 2 - IND10 \ \ \ \ \_____ bit 3 - IND11 \ \ \ \______ bit 4 - IND12 \ \ \_______ bit 5 - IND13 \ \________ bit 6 - IND14 \_________ bit 7 - IND15 _________________ | | byte 4 - BLIND2 (blink indicators) * ----------------- _________________ | | | | | | | | | byte 5 - DIND3 (led indicators on) ----------------- \ \ \ \ \ \ \ \__ bit 0 - IND16 (indicator 16) \ \ \ \ \ \ \___ bit 1 - IND17 (etc.) \ \ \ \ \ \____ bit 2 - IND18 \ \ \ \ \_____ bit 3 - IND18 \ \ \ \______ bit 4 - IND20 \ \ \_______ bit 5 - IND21 \ \________ bit 6 - IND22 \_________ bit 7 - IND23 _________________ | | byte 6 - BLIND3 (blink indicators) * ----------------- _________________ | | | | | | | | | byte 7 - DIND4 (led indicators on) ----------------- \ \ \ \ \ \ \ \__ bit 0 - IND24 (indicator 16) \ \ \ \ \ \ \___ bit 1 - IND25 (etc.) \ \ \ \ \ \____ bit 2 - IND26 \ \ \ \ \_____ bit 3 - IND27 \ \ \ \______ bit 4 - IND28 \ \ \_______ bit 5 - IND29 \ \________ bit 6 - IND30 \_________ bit 7 - IND31 _________________ | | byte 8 - BLIND4 (blink indicators) * ----------------- 5.15.5 NOTES All 8 bytes are sent to a display device. Bit positions in this Blink byte correspond to those in DIND. The encoding is : BLIND DIND 0 0 = Off 1 0 = Slow Blink 0 1 = Fast Blink 1 1 = On CPE . The page will change later _________________ | | | | | | | | | byte 1 - DIND1 (led indicators on) ----------------- \ \ \ \ \ \ \ \__ bit 0 - SYSTEM STATUS (indicator 0) \ \ \ \ \ \ \___ bit 1 - LINE STATUS \ \ \ \ \ \____ bit 2 - MUTE \ \ \ \ \_____ bit 3 - PAGE = DIND1(3),BLIND1(3) = 11 \ \ \ \______ bit 4 - HOLD \ \ \_______ bit 5 - ICM \ \________ bit 6 - CO \_________ bit 7 - NOT USED _________________ | | byte 2 - BLIND1 (blink indicators) * ----------------- Additional bytes have been added to send 2 dtmf digits with delays for voice mail direct access thru the cpe. Back To Message Index

5.16 Message - SLIND - Set line indicators

5.16.1 Applicable device(s) KNET devices with LED indicators. 5.16.2 Purpose This message is used to set the line indicators on the device. The SINDI message is used to set the other indicators. This message sends the TRUNK number to set and the KNET Phone is responsible for selecting the proper LED to manipulate. 5.16.3 Response None 5.16.4 Message format _________________ | 0x08 | byte 0 - SLIND ----------------- _________________ | | | | | | | | | byte 1 - DINDR (red led indicators) ----------------- \ \ \ \ \ \ \ \__ bit 0 - \ BLINK RATE \ \ \ \ \ \ \___ bit 1 - / 00 = OFF, 01 = SLOW, 10 FAST, 11 = ON \ \ \ \ \ \____ bit 2 - unused \ \ \ \ \_____ bit 3 - unused \ \ \ \______ bit 4 - \ \ \ \_______ bit 5 - | TRUNK # \ \________ bit 6 - | \_________ bit 7 - / 5.16.5 NOTES The KNET Phone maintains an internal table mapping TRUNK # to LED #. This mapping table is sent using the SLTBL message. Back To Message Index

5.17 Message - SLTBL - Set line indicators table

5.17.1 Applicable device(s) KNET devices with LED indicators. 5.17.2 Purpose This message is used to assign the physical location of RED leds on the phone to a particular CO line. These RED LED locations are assigned in the 8049 ROM. It also selects the devices broadcast message address. 5.17.3 Response None 5.17.4 Message format _________________ | 0x09 | byte 0 - SLTBL ----------------- _________________ | | | byte 1 - DTBL0 (device table 0) ----------------- \ / \ / \ / \ / \/ \ /_____ bits 0-3 - TRUNK #, RED LED 4 \ ____________ bits 4-7 - TRUNK #, RED LED 1 _________________ | | | byte 2 - DTBL1 (device table 1) ----------------- \ / \ / \ / \ / \/ \ /_____ bits 0-3 - TRUNK #, RED LED 5 \ ____________ bits 4-7 - TRUNK #, RED LED 2 _________________ | | | byte 3 - DTBL2 (device table 2) ----------------- \ / \ / \ / \ / \/ \ /_____ bits 0-3 - TRUNK #, RED LED 6 \ ____________ bits 4-7 - TRUNK #, RED LED 3 _________________ | |xxxxxxx| byte 4 ----------------- \_____/_________ bits 4-7 - address check bits _________________ | | byte 5 BRDADDR (new broadcast address) ----------------- 5.17.5 NOTES 6 LINE LCD KNET Phones: RED LED 1 = CO1 red RED LED 2 = CO2 red RED LED 3 = CO3 red RED LED 4 = CO4 red RED LED 5 = CO5 red RED LED 6 = CO6 red This table is used by the KNET Phone to decide which line number's LEDs to control with the SLIND message. Back To Message Index

5.18 Message - STONE - Set Tone Generator

5.18.1 Applicable device(s) CO interface 5.18.2 Purpose The purpose of this message is to set up the tone generator for call progress tones. Use SDILD to send DTMF tones. It is also used to place a tone or tones on the line to check line balance. When the CHK LINE LENGTH bit is set in Audctl and gen2 is selected, the 3CO will increment TLOG-2 until the energy detector detects energy at which point a CSTAT msg is returned with that TLOG-2 value in DVSTAT2 byte. 5.18.3 Response None 5.18.4 Message format _________________ | 0x27 | byte 0 - STONE ----------------- _________________ | | | | | | | | | byte 1 - ----------------- \ \ \ \ \ \ \ \___ bit 0 - \ \ \ \ \ \ \____ bit 1 - \ \ \ \ \ \_____ bit 2 - Tone Gen Select (0=gen1, 1=gen2) \ \ \ \ \______ bit 3 - \ \ \ \_______ bit 4 - \ \ \________ bit 5 - \ \_________ bit 6 - \__________ bit 7 - _________________ | | | | | | | | | byte 1 - AUDCTL ----------------- \ \ \ \ \ \ \ \____ bit 0 - must be zero \ \ \ \ \ \ \_____ bit 1 - CHK LINE LENGTH \ \ \ \ \ \______ bit 2 - \ \ \ \ \_______ bit 3 - Tone Enable \ \ \ \________ bit 4 - CD -cadence duration, 0 = once, 1 = continuous \ \ \_________ bit 5 - BONG - bong \ \__________ bit 6 - Re-order or Busy Cadence \___________ bit 7 - must be zero _________________ | | byte 2 - CADENCE ----------------- _________________ | | byte 3 - TONEL ----------------- _________________ | | byte 4 - TONEH ----------------- _________________ | | byte 5 - RINGLOST ----------------- 5.18.5 Notes NOISE may be added to the tones if the tone gens are set to the same value. For noise only, set tonel and toneh to ff = off. RINGLOST must be sent to the triple CO upon initialization. It is the duration to wait after the end of the last RING DETECT before reporting RING LOST in the CEVNT message. RINGLOST is in 20 mS intervals. Back To Message Index

5.19 Message - STRKS - Set trunks

5.19.1 Applicable device(s) CO line interface 5.19.2 Purpose The purpose of this message is to set up the hardware on the CO interface which affects the incoming trunk lines. This includes such things as on/off hook etc. 5.19.3 Response Returns a CSTAT message when line busy is detected after going off-hook. CDTMF is returned if DTMF decoder is enabled. 5.19.4 Message format _________________ | 0x29 | byte 0 - STRNK ----------------- _________________ | | | byte 1 - DCHIP1 ----------------- \----/ \----/ \ / \_/_____ bit 0/3 - TLOG-1 (Ll SPRK PHONE VOL.) was (L1 Receive Level) \_____________ bit 4/7 - BLOG-1 (L2 SPKR PHONE VOL. was (L2 Receive Level) _________________ | | | | | | | | | byte 2 - TONE GEN 1, E-AUDIO ----------------- \ \ \ \ \ \ \ \__ bit 0 = 0 \ \ \ \ \ \ \___ bit 1 = 0 \ \ \ \ \ \____ bit 2 = 0 \ \ \ \ \_____ bit 3 - L2TXAUD to E-AUDIO \ \ \ \______ bit 4 - L3TONE from Gen 1 \ \ \_______ bit 5 - L2TONE from Gen 1 \ \________ bit 6 = 0 \_________ bit 7 = 0 _________________ | | | | | | | | | byte 3 - TONE GEN 1, E-AUDIO, TXCR1 ----------------- \ \ \ \ \ \ \ \__ bit 0 - L1RXAUD SW, 0 = RX mute, 1= RX on \ \ \ \ \ \ \___ bit 1 = 0 \ \ \ \ \ \____ bit 2 = XTIE to E-AUDIO \ \ \ \ \_____ bit 3 - L3TXAUD to E-AUDIO \ \ \ \______ bit 4 - L1TXAUD to E-AUDIO \ \ \_______ bit 5 = 0 \ \________ bit 6 - TXCR1 \_________ bit 7 - L1TONE from GEN 1 _________________ | | byte 4 - DCHIP 1 SYNTH A, L1 LO ----------------- _________________ | | byte 5 - DCHIP 1 SYNTH B, L1/L2/L3 TXO ----------------- _________________ | | | byte 6 - DCHIP2 ----------------- \----/ \----/ \ / \_/_____ bit 0/3 - TLOG-2 (GEN2 level) \_____________ bit 4/7 - BLOG-2 (L3 SPKR PHONE VOL.) was (L3 receive level) _________________ | | | | | | | | | byte 7 - TONE GEN 2, DTMF Decoder ----------------- \ \ \ \ \ \ \ \__ bit 0 = 0 \ \ \ \ \ \ \___ bit 1 = 0 \ \ \ \ \ \____ bit 2 = 0 \ \ \ \ \_____ bit 3 - L2CONF to DTMF decoder \ \ \ \______ bit 4 - L3TONE from Gen 2 \ \ \_______ bit 5 - L2TONE from Gen 2 \ \________ bit 6 = 0 \_________ bit 7 = 0 _________________ | | | | | | | | | byte 8 - TONE GEN 2, DTMF Decoder, TXCR2 ----------------- \ \ \ \ \ \ \ \__ bit 0 - L2RXAUD SW, 0 = RX mute, 1 = RX on \ \ \ \ \ \ \___ bit 1 = 0 \ \ \ \ \ \____ bit 2 - XTIE to DTMF Decoder \ \ \ \ \_____ bit 3 - L3CONF to DTMF decoder \ \ \ \______ bit 4 - L1CONF to DTMF decoder \ \ \_______ bit 5 = 0 \ \________ bit 6 - TXCR2 \_________ bit 7 - L1TONE from GEN 2 _________________ | | byte 9 - DCHIP 2 SYNTH A, L2 LO ----------------- _________________ | | byte 10 - DCHIP 2 SYNTH B, L# LO ----------------- MAJOR CHANGES TO L3,L2,L1 BYTES FOR NEW 3CO CARDS 3/91 __________________________________________________ ____ __________________________________________________ ____ _________________ | | | | | | | | byte 11 - L3 interface Byte ----------------- \ \ \ \ \ \ \/___ bit 0/1 - 00=Disconnect,01=Connect \ \ \ \ \ \ 10=Pulse Dialer 1, 11=Pulse Dialer 2 \ \ \ \ \ \____ bit 2 - Mute Trunk In *, 0 = Mute, 1 = Audio In \ \ \ \ \_____ bit 3 - LLD3 was 8Kft line length compensation \ \ \ \______ bit 4 - LLD2 was 4Kft " " " \ \ \_______ bit 5 - LLD1 was 2Kft " " " \ \________ bit 6 - BT2 was T OUT 2bB, 1 = 2db Attenuator \_________ bit 7 - BT1 was T OUT 4dB, 0 = 4dB Attenuator _________________ | | | | | | | | byte 12 - L2 interface Byte ----------------- \ \ \ \ \ \ \/___ bit 0/1 - 00=Disconnect,01=Connect \ \ \ \ \ \ 10=Pulse Dialer 1, 11=Pulse Dialer 2 \ \ \ \ \ \____ bit 2 - Mute Trunk In *, 0 = Mute, 1 = Audio In \ \ \ \ \_____ bit 3 - LLD3 was 8Kft line length compensation \ \ \ \______ bit 4 - LLD2 was 4Kft " " " \ \ \_______ bit 5 - LLD1 was 2Kft " " " \ \________ bit 6 - BT2 was T OUT 2bB, 1 = 2db Attenuator \_________ bit 7 - BT1 was T OUT 4dB, 0 = 4dB Attenuator _________________ | | | | | | | | byte 13 - L1 interface Byte ----------------- \ \ \ \ \ \ \/___ bit 0/1 - 00=Disconnect,01=Connect \ \ \ \ \ \ 10=Pulse Dialer 1, 11=Pulse Dialer 2 \ \ \ \ \ \____ bit 2 - Mute Trunk In *, 0 = Mute, 1 = Audio In \ \ \ \ \_____ bit 3 - LLD3 was 8Kft line length compensation \ \ \ \______ bit 4 - LLD2 was 4Kft " " " \ \ \_______ bit 5 - LLD1 was 2Kft " " " \ \________ bit 6 - BT2 was T OUT 2bB, 1 = 2db Attenuator \_________ bit 7 - BT1 was T OUT 4dB, 0 = 4dB Attenuator KFT DB LL DATA KFT BT DATA _____ ___ 321 ____ 21 PBX -3.3 0 011 0.75 00 0.0 0 010 2.25 01 3.3 2 001 3.75 10 6.6 2 000 5.25 11 H88 LOADED 4 111 9.9 4 110 13.2 6 101 16.5 6 100 _________________ | | | | | | | | byte 14 - TONE GEN1 level, E- AUDIO,... ----------------- \ \ \ \ \ \ \/___ bit 0/1 - TONE GEN 1 level, 00=BUSY/REORDER, 01=RINGBACK \ \ \ \ \ \ 10=DIAL TONE, 11=DTMF \ \ \ \ \ \____ bit 2 - E-AUDIO LEVEL(0=low,1=High) \ \ \ \ \_____ bit 3 - XTIE from TONE2 \ \ \ \______ bit 4 = 0..+6db E-AUDIO changed 12/21 \ \ \_______ bit 5 = TX3SEN \ \________ bit 6 = RX3SEN \_________ bit 7 - CO LED _________________ | | | | | | byte 15 - Misc 1 Byte ----------------- \ \ \ \ \/ \/___ bit 0/1 - AGC DCHIP 1 \ \ \ \ \ \ \ \ \ \______ bit 2/3 - AGC DCHIP 2 \ \ \ \ \ \ \ \______ bit 4 - SPKRPH 1 ENAB = 1 \ \ \_______ bit 5 - SPKRPH 2 ENAB = 1 \ \________ bit 6 - SPKRPH 3 ENAB = 1 \_________ bit 7 - 1 = Clear Conference Bus _________________ | | | | | | | | | byte 16 - MISC2 ----------------- \ \ \ \ \ \ \ \__ bit 0 - Start E-AUDIO \ \ \ \ \ \ \___ bit 1 - Stop E-Audio \ \ \ \ \ \____ bit 2 = 0 = Dial Tone 1 = Busy/Reorder \ \ \ \ \_____ bit 3 - 0 \ \ \ \______ bit 4 = 0 \ \ \_______ bit 5 = EXT RING RELAY (1=on) changed 7/24/89 \ \________ bit 6 = ANI spare 1 \_________ bit 7 = ANI spare 2 5.19.5 Notes Wait a minimum of 2 seconds after disconnecting for the CO to recognize the HANG-UP (?). Connect bit for digital chips always set to 1 by 8040 Clearing the conference buses takes >32mS ! The CO I/F card will not ACK any messages until completed! (try to change this) Back To Message Index

5.20 Message - CCNFG - Current configuration

5.20.1 Purpose This message gives the KSU access to the current configuration of any KNET device. 5.20.2 Applicable device(s) All devices 5.20.3 Response Response to RCNFG. 5.20.4 Message format _________________ | 0x10 | byte 0 - CCNFG ----------------- ----------------- | | byte 1 - EEPROM Address ----------------- _________________ | | byte 2 - CONFIG High byte ----------------- | | byte 3 - CONFIG low byte ----------------- 5.20.5 NOTES The format of this block (as with device status) is device dependent. See SCNFG for device addresses. Back To Message Index

5.21 Message - CDDNE - Dial Done

5.21.1 Purpose This message informs the KSU of a dial complete status. This can be is a FLASH done, PAUSE done, DTMF done or PULSE DIAL done. 5.21.2 Applicable device(s) CO I/F 5.21.3 Response None 5.21.4 Message format _________________ | 0x1A | byte 0 - CDDNE ----------------- _________________ | | | | | | | | | byte 1 - DIALDONE ----------------- \ \ \ \ \ \ \ \__ bit 0 - GEN 1 done \ \ \ \ \ \ \___ bit 1 - GEN 2 done \ \ \ \ \ \____ bit 2 - Pulse Dial 1 done \ \ \ \ \_____ bit 3 - Pulse Dial 2 done \ \ \ \______ bit 4 - Flash Line 1 done \ \ \_______ bit 5 - Flash Line 2 done \ \________ bit 6 - Flash Line 3 done \_________ bit 7 - unused _________________ | | byte 1 - unused ----------------- 5.21.5 NOTES Pulse Dial X Done is sent for Pulse Dial, Flash and Pause done events. Only 1 of the bits in CDDNE will be set in any single message. Back To Message Index

5.22 Message - CDIAG - Diagnostic response (Not Implemented)

5.22.1 Purpose This message is the response to the diagnostic read request from the KSU. It is used to read the internal memory contents of any KNET device. 5.22.2 Applicable device(s) All devices 5.22.3 Response Response to RDIAG 5.22.4 Message format _________________ | 0x?? | byte 0 - CDIAG ----------------- _________________ | | byte 1 - DLENGTH (length of remainder of ----------------- Message) _________________ | | \ | | | |/\ /\ /\ /\ | | \/ \/ \/ \ | /\ /\ /\ /\ --- Memory data from KNET device | \/ \/ \/\ | | | | | | | | |_______________| / 5.22.5 Notes See RDIAG for address details. Not currently implemented. May not be implemented. Back To Message Index

5.23 Message - CDIG1/CDIG2/CSHFT - Digital Chip Data

5.23.1 Purpose These messages are the responses to the RDIG1, RDIG2 and RSHFT messages from the KSU. They contain the internal contents of the Digital Chip or shift register from a KNET device. 5.23.2 Applicable device(s) All devices 5.23.3 Response Response to RDIG1/RDIG2/RSHFT. 5.23.4 Message format Message type _________________ | 0x34,0x35,0x36 | byte 0 - CDIG1/CDIG2/CSHFT ----------------- _________________ | | byte 1 - length of data to follow ----------------- 8 for digital chip 5 for shift register _________________ | | | | | | | | \ / \ / | | | | |_______________| 5.23.5 Notes See the Digital Chip Specification for the details of the Digital Chip bits. Back To Message Index

5.24 Message - CDTMF - DTMF Tone Detect

5.24.1 Purpose This message informs the KSU of a detect DTMF tone. 5.24.2 Applicable device(s) CO Interface and CPEIF 5.24.3 Response None 5.24.4 Message format _________________ | 0x1B | byte 0 - CDTMF ----------------- _________________ | | | | | | byte 0 - DTMFD decoded digit ----------------- \ \ \ \ \----/___ bit 0-3 - detected digit \ \ \ \ \ \ \ \_______ bit 4 - 0 \ \ \_______ bit 5 - 0 \ \________ bit 6 - 0 \_________ bit 7 - 1 5.24.5 NOTES KEY DTMFD KEY DTMFD _______________ ________________ 1 = x81 7 = x87 2 = x82 8 = x88 3 = x83 9 = x89 4 = x84 0 = x8A 5 = x85 * = x8B 6 = x86 # = x8C Back To Message Index

5.25 Message - CENER - Energy detect

5.25.1 Purpose This message informs the KSU of detected energy. 5.25.2 Applicable device(s) CO Interface 5.25.3 Response This message is returned when the Energy Detect (E-Audio) is enabled. 5.25.4 Message format _________________ | 0x1C | byte 0 - CENER ----------------- _________________ | | byte 1 - On Interval 1 ----------------- _________________ | | byte 2 - Off Interval 2 ----------------- _________________ | | byte 3 - On Interval 3 ----------------- _________________ | | byte 4 - Off Interval 4 ----------------- 5.25.5 NOTES (modified 8/1/89) The ON/OFF intervals are in increments of 20mS. In the dial tone mode if any one interval is greater than 19hex or (20msx25= 500ms) then the message is sent immediately. No message will be sent until the first interval detects energy greater than 200ms. If in the Busy/Reorder mode, intervals of up to 4.5 seconds will be accumulated and sent. Message is sent as long as energy is present and the E-AUDIO detect is not stopped with the STRKS message. Message is sent if an on or off interval is greater than 18hex in dial tone mode; if four intervals have been found; or if an interval is greater than 4.5seconds in the busy reorder mode. Back To Message Index

5.26 Message - CEVNT - Device Event

5.26.1 Purpose This message informs the KSU of an external event which has been sensed by a KNET device, and serves as a logical interrupt. On a telephone the CEVNT is a keystroke (or key release if enabled). On a CO I/F it is a FLASH, DIAL COMPLETE or RING. On a CPE(SLTI) it is a buttone number, or hookflash indication (1FH). 5.26.2 Applicable device(s) All devices 5.26.3 Response None 5.26.4 Message format For CO I/F _________________ | 0x12 | byte 0 - CEVNT ----------------- _________________ | | | | | | | | byte 1 - Internal LXSTATUS ----------------- \ \ \ \ \ \ \/___ bit 0/1 Line # of event, 00 = never, 01 = line 1, \ \ \ \ \ \ 10 = line 2, 11 = line 3 \ \ \ \ \ \____ bit 2 - Ring Detect \ \ \ \ \_____ bit 3 - Ring Lost \ \ \ \______ bit 4 - Connect State(1=connected) \ \ \_______ bit 5 = 0 \ \________ bit 6 - Pulse Dialing/Flashing \_________ bit 7 - Wink (>100mS) _________________ | | | | | | | | | byte 2 - Wink Value in 20mS increments ----------------- For Phone _________________ | 0x12 | byte 0 - CEVNT ----------------- _________________ | | byte 1 - EVTNUM (number event) ----------------- _________________ | | byte 2 - Audio STATUS ----------------- 5.26.5 NOTES This message is used by other devices to interrupt the KSU in a device dependent manner. CO I/F: CEVNT is send when a wink is detected. Wink Value is the length of the wink in 20 mS increments. Winks shorter than 100mS are ignored by the CO I/F. Any wink over 3 Seconds generates an automatic disconnect at the CO I/F Need a value to set minimum time for Ring Lost. PHONE DEVICE: CEVNT sends the scan code of the depressed button. Audio STATUS ..check AUDCTL1 of SACAD message. Used to verify if DTMF or non DTMF mode when button pressed. Back To Message Index

5.27 Message - CSTAT - WSTAT - Watchdog/Status

5.27.1 Purpose Transmits the device status every 10 seconds or any time the device status changes. If this message is not received from each KNET device every 15 seconds, a "comm fail" condition exists between the VCIF and that KNET peripheral. 5.27.2 Applicable device(s) All devices 5.27.3 Response Is given in response to RSTAT, as a Watchdog and on a status change. 5.27.4 Message format - PHONE DEVICE _________________ | 0x13 | byte 0 - CSTAT ----------------- _________________ | | | | | | | | | byte 1 - DVSTAT (device status) * ----------------- \ \ \ \ \ \ \ \__ bit 0 - CPE loop det. flash \ \ \ \ \ \ \___ bit 1 - unused \ \ \ \ \ \____ bit 2 - LOWRCVSG (receive carrier level low) \ \ \ \ \_____ bit 3 - External Reset \ \ \ \______ bit 4 - CHKF - Digital Chip checksum failure \ \ \_______ bit 5 - LOOP DET 3/4/91 \ \________ bit 6 - Hook Switch \_________ bit 7 - Comm Fail _________________ | | | | | | | | | byte 2 - DCHIP STATUS * ----------------- \ \ \ \ \ \ \ \__ bit 0 - PDWN FLAG \ \ \ \ \ \ \___ bit 1 - WATCHF 800/200ms \ \ \ \ \ \____ bit 2 - POWER WATCHDOG FLAG \ \ \ \ \_____ bit 3 - LSB Power margin \ \ \ \______ bit 4 - .. 0001=cause power down \ \ \_______ bit 5 - .. 0010=very low power \ \________ bit 6 - MSB Power margin \_________ bit 7 - unused 5.27.5 NOTES - Phone Device The status byte defined here is for the KNET phone device. The meaning of individual bits in the status byte is different for other KNET devices. CB0/CB1 in address field differentiates Watchdog/status CHKF is sent when the KNET device detects a checksum failure on one of the serial shift loops. The KSU should reload the serial shift registers (see SCONF and SDIGI).. External Reset is set if the KNET device was reset by the digital chip. ENTONES and ENAUD bytes in the digital chip are reset if the HOOK SWITCH status changes. 5.27.6 OPERAND FORMAT - CO INTERFACE DEVICE _________________ | | | | | | | | | byte 1 - DVSTAT1 (device status) * ----------------- \ \ \ \ \ \ \ \__ bit 0 - L1 ring/loop, 1 = ringing/loop current \ \ \ \ \ \ \___ bit 1 - L2 ring/loop, 1 = " " " \ \ \ \ \ \____ bit 2 - L3 ring/loop, 1 = " " " \ \ \ \ \_____ bit 3 - External reset \ \ \ \______ bit 4 - l1 sigdet, 0 = low RF Rec Level \ \________ bit 6 - L2 sigdet, 0 = " " " " \ \_______ bit 5 - L3 sigdet, 0 = " " " " \________ bit 7 - Commfail _________________ | | | | | | | | | byte 2 - DVSTAT2 (device status) * ----------------- \ \ \ \ \ \ \ \__ bit 0 - L1 busy, 1 = low line voltage \ \ \ \ \ \ \___ bit 1 - L2 busy, 1 = " " " \ \ \ \ \ \____ bit 2 - L3 busy, 1 = " " " \ \ \ \ \_____ bit 3 - unused \ \ \ \______ bit 4 - TLOG-2 bit0 was unused \ \ \_______ bit 5 - TLOG-2 bit1 was unused \ \________ bit 6 - TLOG-2 bit2 was unused \_________ bit 7 - TLOG-2 bit3 was unused 5.27.7 NOTES - CO INTERFACE DEVICE The triple CO card has only one address. The status bytes defined here are for the CO INTERFACE. The meaning of individual bits in the status byte are different for other KNET devices. Only busy spontaneously generates a CSTAT message. 5.27.8 OPERAND FORMAT - VCIF DEVICE _________________ | | | | | | | | | byte 1 - DVSTAT (device status) * ----------------- \ \ \ \ \ \ \ \__ bit 0 - \ \ \ \ \ \ \___ bit 1 - \ \ \ \ \ \____ bit 2 - WDF Watchdog fail \ \ \ \ \_____ bit 3 - \ \ \ \______ bit 4 - CHKF checksum failure \ \ \_______ bit 5 - LPW - Low Power Warning \ \________ bit 6 - PU - Power Up Flag \_________ bit 7 - PD - Power Down Flag 5.27.9 NOTES - VCIF DEVICE CHKF is sent when the KNET device detects a checksum failure on one of the serial shift loops. The KSU should reload the serial shift registers (see SCONF and SDIGI).. The status byte defined here is for the CO INTERFACE. The meaning of individual bits in the status byte are different for other KNET devices. Back To Message Index

5.28 Speaker phone volume discussion

Speaker volume adjustments will depend on the mode the phone is in. The modes are intercom conversation/ full duplex mode, and half duplex speaker phone mode. FULL DUPLEX MODE 1/2 DUPLEX MODE SPKR Vol [ BLOG in phone] [BLOG in phone, b/tlog at CO ] 8 8 8(max start) 1 8 8 8 1 8 8 8 3 9 A 8 5 A B 8 7 B C 8 9 C D 8 B D E 8 D E F 8 E F F 8(max vol) F 8 D 8 B 8 9 8 7 8 5 8 3 8 1 8 0 7 7 7 0 In the half duplex speaker mode, the starting and ending limits for BLOG may vary, but should be calculated from the Speaker volume number which is the present speaker volume number. Note: inorder to allow dtmf to break dial tone through the speaker phone chip the initial co speaker phone volume is set to 1, then adjusted to normal volume relationship after 3 digits. Back To Message Index Back to Top of Index
Here's how many times this doucment has been accessed


€,yw7ysx}o‚}k~Єg€ˆџџуџџэџџѕџџїџџџџџџ6џџ8џџ:џџ„џџбџџгџџмџџчџџюџџ№џџђџџєџџџџџџ!џџ,џџHџџ]џџtџџzџџгџџеџџзџџйџџлџџнџџпџџ/џџrџџ˜џџšџџрџџтџџтgџџгџџїџџџџCџџџџЭџџџџlџџНџџџџaџџГџџџџWџџЉџџћџџM џџŸ џџё џџё C џџ• џџч џџ9 џџ‹ џџн џџ/ џџ џџг џџ% џџw џџЩ џџџџmџџПџџџџcџџВџџџџFџџF„џџТџџџџ>џџ“џџбџџџџbџџКџџ§џџPџџаџџ#џџvџџЩџџџџZџџ­џџџџSџџSІџџљџџLџџŸџџђџџEџџЋџџюџџAџџ”џџчџџ?џџ‰џџšџџЩџџЫџџкџџмџџїџџљџџљ<џџџџТџџбџџгџџџџYџџœџџнџџпџџ"џџeџџ•џџ—џџкџџџџ<џџ>џџџџ”џџ”–џџйџџџџџџџDџџ‡џџЃџџЅџџшџџ+ џџn џџБ џџє џџ!џџ!џџH!џџ‹!џџЮ!џџ"џџN"џџN"V"џџX"џџ’"џџ”"џџ–"џџ˜"џџг"џџе"џџ#џџi#џџГ#џџ§#џџG$џџ‘$џџл$џџ%%џџo%џџŠ%џџŒ%џџж%џџж% &џџj&џџД&џџў&џџH'џџ`'џџb'џџd'џџf'џџŸ'џџщ'џџ3(џџL(џџN(џџP(џџ”(џџ–(џџр(џџ*)џџt)џџt)О)џџ*џџR*џџœ*џџД*џџЖ*џџ+џџJ+џџŽ+џџ+џџ—+џџ™+џџу+џџ-,џџw,џџС,џџ -џџU-џџŸ-џџП-џџП-С-џџ .џџU.џџŸ.џџУ.џџХ.џџ/џџO/џџQ/џџS/џџ™/џџ›/џџх/џџ/0џџy0џџУ0џџ 1џџW1џџu1џџw1џџw1С1џџ 2џџU2џџŸ2џџщ2џџ33џџ`3џџb3џџЌ3џџі3џџ@4џџŠ4џџд4џџ5џџ5џџc5џџ­5џџї5џџ6џџ6џџ66џџ6џџZ6џџœ6џџž6џџ 6џџж6џџи6џџ"7џџl7џџ›7џџ7џџч7џџ18џџK8џџM8џџV8џџ–8џџІ8џџЈ8џџЈ8Ь8џџё8џџ9џџ@9џџj9џџЂ9џџЬ9џџл9џџ:џџ:џџQ:џџ`:џџ“:џџЂ:џџз:џџц:џџ;џџ.;џџj;џџy;џџy;Г;џџТ;џџџ;џџ<џџG<џџV<џџ“<џџЂ<џџм<џџы<џџ(=џџ8=џџM=џџƒ=џџЃ=џџЌ=џџб=џџ>џџe>џџЏ>џџЏ>љ>џџ?џџ?џџb?џџЌ?џџъ?џџь?џџѓ?џџѕ?џџ6@џџ8@џџ‚@џџЬ@џџAџџAџџHAџџ|AџџЊAџџоAџџіAџџіA@Bџџ^Bџџ`BџџЊBџџЯBџџбBџџCџџeCџџ‡Cџџ‰CџџВCџџъCџџDџџGџџGGџџIGџџOGџџQGџџ’Gџџ”GџџНGџџюGџџHџџH>HџџoHџџœHџџЩHџџњHџџ*IџџZIџџŠIџџЙIџџтIџџJџџ\џџˆ\џџв\џџѕ\џџї\џџљ\џџћ\џџJ]џџL]џџ–]џџр]џџ*^џџj^џџl^џџЖ^џџЪ^џџЬ^џџд^џџ_џџ_џџ_O_џџ™_џџу_џџ-`џџw`џџС`џџт`џџф`џџц`џџaџџaџџeaџџЏaџџуaџџхaџџчaџџ bџџbџџYbџџЃbџџЃbмbџџоbџџрbџџтbџџ cџџ"cџџlcџџЖcџџзcџџйcџџdџџ]dџџЃdџџщdџџeџџKeџџeџџeџџ•eџџ—eџџ—eиeџџљeџџBfџџ‡fџџЌfџџхfџџ+gџџfgџџІgџџэgџџ/hџџ1hџџ3hџџwhџџyhџџУhџџ iџџWiџџœiџџžiџџžiшiџџ2jџџ|jџџЦjџџkџџZkџџЄkџџюkџџ8lџџNlџџPlџџšlџџфlџџmџџmџџgmџџБmџџЫmџџЭmџџћmџџћm§mџџGnџџ‘nџџлnџџьnџџюnџџѕnџџїnџџ>oџџ@oџџŠoџџдoџџpџџZpџџ\pџџ^pџџ`pџџЇpџџЉpџџѓpџџѓpqџџˆqџџвqџџrџџ^rџџ`rџџbrџџdrџџ­rџџЏrџџљrџџsџџsџџesџџЏsџџљsџџCtџџtџџзtџџзt!uџџkuџџЕuџџџuџџvџџKvџџpvџџrvџџtvџџvvџџЗvџџЙvџџwџџwџџ wџџwџџDwџџFwџџwџџкwџџкw$xџџnxџџИxџџyџџLyџџ–yџџаyџџвyџџдyџџжyџџ zџџSzџџzџџчzџџ1{џџ{{џџк{џџ$|џџn|џџ|џџ|’|џџ”|џџ–|џџл|џџн|џџ'}џџ›}џџх}џџ/~џџy~џџУ~џџ џџ*џџ,џџ.џџ0џџtџџvџџРџџ €џџ €T€џџ€€џџ‚€џџŠ€џџŒ€џџО€џџР€џџТ€џџФ€џџя€џџё€џџ;џџ…џџЯџџјџџњџџD‚џџŽ‚џџи‚џџ"ƒџџ"ƒlƒџџЖƒџџФƒџџЦƒџџ„џџc„џџ­„џџї„џџA…џџ‹…џџе…џџ†џџ`†џџb†џџd†џџf†џџŽ†џџ†џџк†џџ$‡џџ$‡O‡џџQ‡џџS‡џџU‡џџ‡џџƒ‡џџЭ‡џџˆџџGˆџџIˆџџ“ˆџџдˆџџжˆџџоˆџџрˆџџ ‰џџ ‰џџW‰џџ‰џџ‘‰џџ‘‰л‰џџŠџџŠџџ Šџџ"ŠџџRŠџџTŠџџ}ŠџџДŠџџнŠџџ‹џџC‹џџ^‹џџ“‹џџЋ‹џџУ‹џџХ‹џџЧ‹џџ№‹џџђ‹џџђ‹<Œџџ†ŒџџГŒџџЕŒџџшŒџџэŒџџяŒџџ-џџ/џџ8џџGџџIџџlџџnџџœџџžџџьџџюџџ7Žџџ9Žџџ9ŽxŽџџzŽџџЙŽџџЛŽџџњŽџџќŽџџJџџLџџ џџЂџџёџџѓџџDџџFџџ‘џџ“џџЫџџЭџџ‘џџ‘џџ‘`‘џџb‘џџМ‘џџО‘џџ’џџ’џџ`’џџb’џџЏ’џџБ’џџѕ’џџї’џџ]“џџ_“џџ–“џџ˜“џџк“џџм“џџо“џџр“џџр“”џџ”џџZ”џџ\”џџŸ”џџЁ”џџя”џџё”џџ+•џџ-•џџk•џџm•џџЋ•џџ­•џџє•џџі•џџ=–џџ?–џџ|–џџ~–џџ~–Щ–џџЫ–џџ—џџ—џџ5—џџ7—џџ?—џџH—џџW—џџ­—џџЏ—џџБ—џџЬ—џџЮ—џџ˜џџb˜џџЌ˜џџъ˜џџь˜џџю˜џџю˜™џџ™џџ$™џџ&™џџ(™џџD™џџF™џџƒ™џџ…™џџ‡™џџЉ™џџЋ™џџд™џџ šџџ6šџџ?šџџAšџџjšџџИšџџсšџџсšуšџџќšџџўšџџP›џџR›џџ›џџ›џџЫ›џџє›џџћ›џџ2œџџ4œџџ–œџџ˜œџџšœџџТœџџФœџџаœџџвœџџдœџџдœяœџџёœџџ;џџ…џџЅџџЇџџЉџџХџџЧџџњџџќџџўџџ žџџ"žџџKžџџ„žџџ­žџџЖžџџИžџџсžџџсž6Ÿџџ†ŸџџŸџџ‘ŸџџКŸџџљŸџџ" џџb џџЖ џџИ џџб џџг џџЁџџЁџџKЁџџMЁџџšЁџџœЁџџžЁџџЦЁџџЦЁШЁџџдЁџџжЁџџёЁџџѓЁџџ6Ђџџ~ЂџџЖЂџџИЂџџдЂџџжЂџџЃџџЃџџ=Ѓџџ?ЃџџhЃџџЎЃџџзЃџџЄџџ;Єџџ;ЄdЄџџfЄџџmЄџџoЄџџОЄџџРЄџџТЄџџнЄџџпЄџџ)ЅџџpЅџџrЅџџМЅџџ§ЅџџџЅџџІџџ)Іџџ+Іџџ?ІџџAІџџAІCІџџ_ІџџaІџџ™Іџџ›ІџџІџџПІџџСІџџъІџџ#ЇџџLЇџџ™ЇџџТЇџџЈџџ)ЈџџPЈџџ–ЈџџжЈџџ#ЉџџqЉџџqЉБЉџџёЉџџ8ЊџџXЊџџZЊџџsЊџџuЊџџПЊџџуЊџџхЊџџ/Ћџџ@ЋџџBЋџџ~Ћџџ€Ћџџ‚ЋџџсЋџџѓЋџџѕЋџџїЋџџїЋЌџџЌџџ^Ќџџ•Ќџџ—Ќџџ™ЌџџСЌџџУЌџџмЌџџоЌџџрЌџџќЌџџўЌџџ ­џџ ­џџ­џџ1­џџ3­џџ\­џџ•­џџ•­О­џџЧ­џџЩ­џџђ­џџ4ЎџџTЎџџ}ЎџџГЎџџЏџџfЏџџВЏџџАџџVАџџЃАџџџАџџБџџ Бџџ3БџџnБџџЮБџџЮБаБџџљБџџ2Вџџ[ВџџdВџџfВџџВџџШВџџёВџџњВџџќВџџ%ГџџbГџџ‹Гџџ”Гџџ–ГџџПГџџњГџџ#Дџџ}Дџџ}ДФДџџ ЕџџWЕџџœЕџџуЕџџ$ЖџџeЖџџnЖџџ›ЖџџчЖџџЗџџfЗџџПЗџџИџџdИџџДИџџЙџџXЙџџАЙџџЙЙџџЙЙЛЙџџфЙџџКџџGКџџPКџџRКџџ{КџџЕКџџоКџџчКџџщКџџЛџџPЛџџyЛџџВЛџџМџџTМџџЎМџџјМџџIНџџIНœНџџдНџџжНџџмНџџѕНџџїНџџAОџџeОџџgОџџБОџџпОџџсОџџ+ПџџpПџџrПџџМПџџРџџ,Рџџ.РџџPРџџPРRРџџœРџџцРџџ0СџџzСџџФСџџЦСџџџСџџТџџ]Тџџ_ТџџaТџџ‰Тџџ‹Тџџ—Тџџ™Тџџ›ТџџЖТџџИТџџУџџУLУџџУџџƒУџџ…УџџЁУџџЃУџџАУџџВУџџДУџџжУџџиУџџФџџ:ФџџcФџџlФџџnФџџ—ФџџШФџџёФџџ;Хџџ;ХDХџџFХџџoХџџНХџџцХџџшХџџЦџџЦџџMЦџџmЦџџoЦџџЙЦџџЧџџMЧџџ—ЧџџДЧџџЖЧџџѓЧџџѕЧџџќЧџџќЧNШџџPШџџRШџџmШџџoШџџЙШџџвШџџдШџџжШџџўШџџЩџџЩџџЩџџЩџџ:Щџџ<ЩџџZЩџџ\Щџџ…ЩџџОЩџџОЩчЩџџ№ЩџџђЩџџЪџџ_ЪџџˆЪџџ‘Ъџџ“ЪџџМЪџџЫџџ*ЫџџnЫџџ—Ыџџ™ЫџџŸЫџџИЫџџКЫџџЬџџЬџџЬџџЬUЬџџ^ЬџџЬџџЪЬџџоЬџџЭџџ ЭџџTЭџџuЭџџwЭџџ‡Эџџ‰Эџџ’Эџџ›ЭџџчЭџџщЭџџ3ЮџџBЮџџIЮџџ„Юџџ„Ю†ЮџџпЮџџсЮџџуЮџџ ЯџџЯџџ#Яџџ%Яџџ'ЯџџCЯџџEЯџџЯџџКЯџџМЯџџОЯџџлЯџџнЯџџъЯџџьЯџџюЯџџюЯаџџаџџ<аџџuаџџžаџџЇаџџЉаџџваџџ бџџ4бџџ}бџџЦбџџвџџhвџџЋвџџ№вџџ5гџџzгџџƒгџџ…гџџ…г‡гџџЁгџџЃгџџэгџџ7дџџNдџџPдџџWдџџГдџџЕдџџ№дџџђдџџєдџџ>еџџ@еџџBеџџqеџџsеџџuеџџ‘еџџ‘е“еџџнеџџ'жџџqжџџ„жџџ†жџџˆжџџЅжџџЇжџџДжџџЖжџџИжџџнжџџпжџџзџџNзџџwзџџ€зџџ‚зџџЋзџџЋз§зџџ9иџџBиџџDиџџmиџџЇиџџгиџџџиџџ+йџџtйџџ йџџЬйџџјйџџ1кџџ:кџџ<кџџVкџџXкџџ“кџџ•кџџ•кькџџюкџџ№кџџлџџлџџ6лџџ8лџџ:лџџVлџџXлџџ‹лџџлџџлџџЌлџџЎлџџщлџџылџџђлџџмџџмџџм@мџџyмџџЂмџџКмџџумџџ6нџџrнџџŠнџџГнџџынџџоџџEоџџvоџџЪоџџћоџџ,пџџ]пџџŽпџџПпџџзпџџзпрџџ,рџџXрџџ„рџџАрџџшрџџсџџPсџџ|сџџЈсџџБсџџГсџџКсџџдсџџжсџџ тџџjтџџzтџџ|тџџЦтџџЦтятџџётџџуџџуџџWуџџYуџџБуџџГуџџЕуџџоуџџруџџћуџџ§уџџџуџџфџџфџџ^фџџ`фџџbфџџфџџффџџЇфџџЉфџџЋфџџЮфџџафџџљфџџ3хџџ\хџџeхџџgхџџхџџШхџџёхџџZцџџ‹цџџрцџџчџџeчџџНчџџНч шџџ#шџџLшџџƒшџџЁшџџЊшџџЌшџџГшџџЭшџџЯшџџщџџcщџџŠщџџŒщџџЋщџџ­щџџЦщџџещџџфщџџѓщџџѓщъџџъџџ ъџџ/ъџџ>ъџџMъџџ]ъџџfъџџhъџџˆъџџŠъџџœъџџЖъџџаъџџяъџџёъџџ)ыџџ,ыџџ€ыџџ‚ыџџ‚ы„ыџџ­ыџџЏыџџЬыџџЮыџџаыџџьыџџюыџџ8ьџџ‚ьџџЬьџџѓьџџѕьџџїьџџэџџэџџ#эџџ%эџџ'эџџJэџџJэLэџџuэџџЎэџџзэџџрэџџтэџџ юџџ_юџџЃюџџЌюџџЎюџџзюџџяџџHяџџяџџЙяџџТяџџФяџџЬяџџѕяџџѕя!№џџM№џџy№џџЅ№џџь№џџ/ёџџ[ёџџ‡ёџџГёџџЕёџџЯёџџбёџџђџџ_ђџџaђџџ™ђџџ›ђџџьђџџюђџџ№ђџџ№ђѓџџѓџџEѓџџGѓџџIѓџџeѓџџgѓџџБѓџџћѓџџEєџџєџџЮєџџаєџџвєџџяєџџёєџџўєџџѕџџѕџџ%ѕџџ%ѕ'ѕџџPѕџџ‰ѕџџВѕџџЛѕџџНѕџџцѕџџ3іџџ\іџџЂіџџсіџџїџџQїџџ‰їџџСїџџљїџџ1јџџ:јџџ<јџџeјџџeјДјџџнјџџцјџџшјџџљџџ_љџџˆљџџЮљџџ њџџFњџџњџџИњџџёњџџ*ћџџcћџџlћџџnћџџ—ћџџцћџџќџџќќџџќџџCќџџќџџЙќџџ§џџA§џџz§џџГ§џџь§џџ%ўџџ^ўџџ—ўџџ ўџџЂўџџЫўџџџџџCџџџLџџџNџџџNџUџџџ~џџџЫџџџєџџџ<џџ|џџЕџџюџџ'џџ`џџ™џџвџџлџџнџџџџUџџ~џџ€џџ‡џџЁџџЁЃџџеџџзџџ!џџ7џџ9џџPџџwџџЅџџгџџљџџџџ-џџ6џџ_џџЌџџеџџ$џџcџџ›џџ›эџџ%џџ\џџ’џџЮџџзџџйџџџџQџџzџџƒџџШџџѕџџїџџ/џџ3џџ‰џџ‹џџџџЖџџЖИџџтџџфџџцџџ џџ џџN џџ˜ џџт џџ" џџ$ џџ& џџC џџE џџR џџT џџV џџy џџ{ џџЄ џџЄ н џџ џџ џџ џџ: џџˆ џџБ џџё џџL џџ† џџР џџѕ џџ3 џџi џџž џџ  џџК џџМ џџџџFџџFHџџ~џџ…џџсџџуџџхџџџџџџ:џџ<џџ>џџZџџ\џџІџџ№џџ:џџ]џџ_џџhџџjџџjlџџ‰џџ‹џџ˜џџšџџœџџПџџСџџъџџ#џџLџџUџџWџџ€џџЪџџѓџџџџBџџ‹џџдџџднџџпџџџџRџџ{џџЃџџЪџџџџ\џџeџџgџџ“џџнџџџџ.џџUџџžџџчџџ№џџђџџђџџLџџuџџПџџШџџЪџџѓџџDџџmџџoџџ‰џџ‹џџЋџџ­џџЩџџхџџџџџџ9џџUџџU^џџ`џџЊџџуџџхџџџџ!џџuџџwџџyџџЂџџЄџџЙџџЛџџНџџйџџлџџ%џџoџџЙџџЙџџMџџ—џџНџџПџџСџџоџџрџџэџџяџџёџџџџџџ?џџxџџЁџџЊџџЌџџеџџџџ1џџeџџ™џџюџџ"џџVџџŠџџОџџђџџћџџ§џџџџ-џџgџџџџбџџ џџI џџ‰ џџэ џџэ -!џџz!џџЛ!џџФ!џџЦ!џџя!џџ*"џџS"џџ\"џџ^"џџ‡"џџР"џџщ"џџђ"џџє"џџ#џџV#џџ#џџˆ#џџŠ#џџŠ#Г#џџя#џџ$џџ!$џџ#$џџ%$џџ?$џџA$џџ‹$џџб$џџг$џџ%џџg%џџБ%џџЪ%џџЬ%џџ&џџ &џџ &џџW&џџW&Y&џџ[&џџ„&џџ†&џџ &џџЂ&џџЄ&џџР&џџТ&џџ 'џџV'џџ~'џџ€'џџ‚'џџŸ'џџЁ'џџы'џџ§'џџџ'џџ5(џџ5(7(џџ9(џџ\(џџ^(џџ‡(џџР(џџщ(џџђ(џџє(џџ)џџW)џџ€)џџЇ)џџ*џџt*џџ}*џџ*џџ…*џџЎ*џџѕ*џџѕ*+џџS+џџˆ+џџН+џџ,џџH,џџ,џџТ,џџї,џџ-џџ-џџ+-џџy-џџЂ-џџї-џџ,.џџo.џџЕ.џџћ.џџ0/џџ0/i/џџЎ/џџЗ/џџЙ/џџт/џџ,0џџU0џџ^0џџ`0џџ‰0џџк0џџ1џџ 1џџ1џџ71џџq1џџš1џџС1џџ 2џџp2џџp2y2џџ{2џџЉ2џџі2џџ3џџT3џџ‰3џџО3џџ4џџM4џџ’4џџЧ4џџќ4џџ5џџ5џџ05џџƒ5џџЌ5џџ6џџ76џџ766џџЩ6џџ7џџH7џџ7џџЦ7џџЯ7џџб7џџњ7џџD8џџm8џџv8џџx8џџЁ8џџь8џџ9џџ9џџ 9џџ"9џџq9џџq9Р9џџ:џџ':џџP:џџ–:џџП:џџ ;џџb;џџН;џџ<џџp<џџХ<џџ#=џџ=џџŠ=џџŒ=џџЕ=џџћ=џџ$>џџr>џџr>Ч>џџ"?џџ€?џџи?џџ0@џџ@џџ№@џџљ@џџ"AџџhAџџ‘AџџрAџџ5Bџџ‘BџџяBџџGCџџžCџџўCџџ]DџџfDџџfDhDџџМDџџEџџfEџџМEџџFџџhFџџšFџџдFџџ GџџFGџџ^GџџgGџџiGџџ’GџџхGџџHџџrHџџТHџџIџџITIџџЅIџџпIџџJџџSJџџ\Jџџ^Jџџ‡JџџЧJџџ№Jџџ1KџџUKџџ–KџџКKџџLџџFLџџŒLџџиLџџсLџџуLџџуL MџџFMџџoMџџАMџџ№MџџCNџџxNџџ­NџџOџџEOџџ„OџџOџџOџџ“Oџџ­OџџЏOџџљOџџPџџPџџ\Pџџ\P^PџџЈPџџыPџџэPџџ(Qџџ*QџџQџџƒQџџ…QџџЁQџџЃQџџэQџџRџџRџџ Rџџ3Rџџ5RџџIRџџKRџџMRџџMRjRџџlRџџ‡Rџџ‰Rџџ‹RџџЎRџџАRџџйRџџSџџ;SџџDSџџFSџџoSџџБSџџкSџџуSџџхSџџTџџRTџџ{Tџџ{TОTџџчTџџщTџџUџџUџџOUџџ˜UџџšUџџеUџџзUџџ"Vџџ$Vџџ&VџџBVџџDVџџŽVџџдVџџжVџџиVџџWџџWWџџWџџWџџWџџ3Wџџ5WџџBWџџDWџџFWџџiWџџkWџџ”WџџЭWџџіWџџџWџџXџџ*XџџfXџџXџџЭXџџЭX YџџPYџџ•YџџкYџџZџџdZџџžZџџЇZџџЉZџџвZџџ [џџ5[џџ7[џџQ[џџS[џџ[џџ­[џџЏ[џџЕ[џџќ[џџќ[ў[џџ9\џџ;\џџЂ\џџЄ\џџІ\џџТ\џџФ\џџ]џџX]џџm]џџo]џџq]џџš]џџœ]џџА]џџВ]џџД]џџб]џџг]џџг]^џџ^џџ^џџ)^џџ+^џџT^џџ^џџЖ^џџП^џџС^џџъ^џџ=_џџ_џџŠ_џџŒ_џџ“_џџМ_џџш_џџ`џџ@`џџ@`l`џџЗ`џџу`џџaџџ;aџџgaџџiaџџƒaџџ…aџџфaџџbџџbџџ>bџџ@bџџBbџџbџџbџџ‘bџџ­bџџЏbџџЏbіbџџ@cџџ{cџџ}cџџІcџџЈcџџМcџџОcџџлcџџнcџџdџџdџџ)dџџ+dџџ@dџџidџџЏdџџиdџџeџџNeџџNeweџџКeџџџeџџfџџ@fџџifџџ’fџџЛfџџфfџџ gџџ6gџџ_gџџˆgџџБgџџГgџџЭgџџЯgџџhџџ,hџџ.hџџ.hdhџџfhџџmhџџПhџџСhџџУhџџпhџџсhџџiџџiџџ!iџџJiџџLiџџkiџџmiџџoiџџŒiџџŽiџџ›iџџiџџiŸiџџТiџџФiџџэiџџ&jџџOjџџXjџџZjџџƒjџџЪjџџѓjџџ7kџџZkџџkџџЦkџџќkџџ2lџџ4lџџNlџџPlџџPllџџбlџџmџџOmџџŽmџџЭmџџ nџџKnџџcnџџšnџџœnџџЃnџџЅnџџєnџџіnџџјnџџoџџoџџOoџџQoџџQoSoџџ|oџџ~oџџ“oџџ•oџџ—oџџДoџџЖoџџpџџpџџpџџpџџ8pџџ:pџџcpџџœpџџХpџџЮpџџаpџџљpџџљp:qџџcqџџlqџџnqџџ—qџџйqџџrџџ rџџ rџџ6rџџwrџџ rџџЉrџџЋrџџдrџџsџџ?sџџHsџџJsџџQsџџQs}sџџsџџЩsџџtџџ]tџџІtџџЈtџџђtџџ