Cellular Telephone Experimentors Kit Copyright (C) 1994 by Network Wizards March 4, 1994 DISCLAIMER The Cellular Telephone Experimentors Kit is designed for experimentation and testing of cellular telephones. It is not designed to be used for any illegal or fraudulent purposes. It is illegal to make telephone calls with intent to defraud the cellular service provider. It is illegal for most people to listen to cellular telephone calls. Be aware of these laws when using this kit. Check on them if you need more information. You can break laws by typing the wrong thing. Be careful! In no event will Network Wizards be liable for any damages, incidental or consequential, arising out of use or misuse of this product. DESCRIPTION The Cellular Telephone Experimentors Kit consists of an interface adapter and cable, and a floppy disk containing software and manual. The kit is designed for technicians, students, professionals, hobbyists, and others interested in using, learning, repairing, and experimenting with cellular telephone technology. A supplied program can be used to enter test modes built into the cellular phone for testing and repairs. Another program can be used to access the phones user features, and program telephone memories and NAMs by using a PC interface instead of awkward phone keyboard commands. A programmers library is supplied to allow you to write your own programs to access the phone in both normal operating mode and in test mode. A program is supplied that gives examples of writing applications for either of these modes. One of these programs shows how the PC can completely control the cellular phone, making and receiving calls while the phone is only operating in its test mode with the PC handling all of the cellular protocol and messaging functions. The software distribution also contains information files on cellular telephone related things, such as lists of cellular systems, and a short tutorial on how the cellular phone system operates. HARDWARE The cellular telephone interface adapter is enclosed in an RS-232 connector shell. One end is a DB25 female connector wired as a DCE, for direct connection to a PC serial port. It uses pins 2 (rx), 3 (tx), and 7 (ground). The other end of the adapter is an 10-pin RJ45 connector. An adapter cable converts this into the connector that plugs into the bottom of the cellular phone. A 3.5mm stereo jack on the side of the interface provides access to the phones audio signals. The outer ring is ground. The inner ring is audio into the phone, and the tip is audio coming out of the phone. The phone must be sent a command to use these lines instead of its internal handset. The interface contains a microcontroller and interface circuitry that converts the phones proprietary interface into standard RS-232 signals at 2400 baud. At this time we are not releasing specs on the RS-232 protocol used; you will need to use the supplied software and programming libaries to control the phone. The interface gets its power from the phone. It only uses a few milliamps, but should be unplugged from the phone when not in use. Do NOT attempt to plug the RJ45 connectors into any other devices (such as telephones, modems, etc). USE OF THE INTERFACE The interface should be connected to both the cellular phone and a PCs serial port. The software supports COM1 or COM2. The OKI must be turned off, as the software will power up the OKI itself. DEBUGGING INTERFACE CONNECTION PROBLEMS If the software fails to see the phone, you can check the connection with this technique. Run any standard terminal emulation software on the PC. Connect to the COM port the interface is connected to (with the OKI attached and powered off). Set the baud rate for 2400 baud, 8 bits, no parity. Now turn the phone on. You should see a string of six characters come back (three repeated twice). If you do not see any characters come back, check your connections and such until you get the problem corrected. USING THE SOFTWARE The distribution contains some informational files for browsing or searching, including: AREACODE.DOC A listing of North American area codes. SYSTEMS.DOC A listing of North American cellular telephone systems. There are four programs supplied for controlling the cellular phone. All four programs default to using the COM1 port for the interface. If you are using COM2, you can type the program name followed by "2" to use them, such as "MENU 2". MENU.EXE The MENU program can display and set NAM information, edit telephone number memories, set the custom power-on message, and discharge the battery. The MENU program uses a simple menu driven interface to access these functions. Menu's are navigated by using the arrow keys: up/down to select a menu item, right-arrow (or RETURN) to select the item, and left-arrow to go back up a level. ESCAPE exits the program (from the top-level only) and a few sub-menus. When editing telephone number memories, you must first read memories into the PCs buffer from either the cellular phone or a file. Then you can edit, sort, print, or save them (back to the phone, or to a file). We advise reading the memories from your phone into the buffer, and then saving them to a backup file before you begin playing with these functions. This way you will be able to recover from any mistakes you make. TEST.EXE TEST is a program for cellular telephone testing and maintenance. TEST presents a simple one screen display of the various things that can be set on the cellular phone. Each function is controlled by a single keypress. Hit ESCAPE to exit. NOTE: TEST MODE In test mode the phone just waits for commands from the interface adapter and executes them one at a time. The phone is not running its normal cellular telephone operating code. When in TEST (or DEBUG) mode, the phone will normally not display anything or have any LEDs on, except for a quick beep and LED flash when it is initially turned on. KEYCON.EXE, KEYCON.C KEYCON is a simple program that turns the phone on in its normal operating mode as a cellular phone. You can then operate the phone by pressing keys on the PC keyboard. KEYCON.C is the corresponding source code and shows how the phone is controlled in normal mode. TEL.EXE, TEL.C TEL is a program that turns the phone on in its built-in test mode, and then "simulates" being a telephone by controlling all functions from the PC. TEL displays messages for every function it controls on the phone, allowing you to understand how the cellular system operates. TEL first gets your current NAM out of the phone (you should have it set to a local registered NAM) and displays it along with your phones ESN. Then it starts monitoring the proper cellular control channel for paging messages. If your phone is paged for an incoming call, TEL will tell you to type R to receive the call. If you want to make a call, use the S command to send a call setup message. TEL will then enter conversation mode, set up the transmitter, receiver and all other functions, and monitor for and make handoffs to new channels. NOTE: You may not be able to hit "R" fast enough to answer the call before the cellular system decides you are not there. You could fix this by having the program automatically answer any incoming calls. PROGRAMMING LIBRARIES The programming library file is CTLIB.OBJ. It is fully documented in file CTLIB.DOC. The module and all other code were written in Borland Turbo C 2.0 using the small memory model, and word alignment. See the enclosed Makefile for compiling examples. Any programs you write need to include CTLIB.H, and be linked with CTLIB.OBJ, TTY.OBJ, and TTYA.OBJ.