egray@fthood.UUCP (03/27/88)
This is patch #2 to pcomm version 1.0. It pertains to the AT&T Unix PC 7300 implementation only. Several folks have reported that the OBM dialing characters '%' and '^' don't change between tone and pulse diaing the way the phone(7) manual page says. Also, I realized that I didn't do a very good job of documenting how the OBM dialing codes work. Therefore, here is the patch to solve the problem, and a short addendum to the Doc manual. Emmet P. Gray US Army, HQ III Corps & Fort Hood ...!ihnp4!uiucuxc!fthood!egray Attn: AFZF-DE-ENV Directorate of Engineering & Housing Environmental Management Office Fort Hood, TX 76544-5057 --------------------------------------------------------------------------- *** dial.c.old Sat Mar 26 17:37:53 1988 --- dial.c Sat Mar 26 17:38:31 1988 *************** *** 27,33 #ifdef UNIXPC struct updata pbuf; unsigned int sleep(); ! #endif UNIXPC /* * Create the string to be sent to the modem. The long distance --- 27,33 ----- #ifdef UNIXPC struct updata pbuf; unsigned int sleep(); ! #endif /* UNIXPC */ /* * Create the string to be sent to the modem. The long distance *************** *** 86,92 /* dial each digit */ n = s; while(*n) { ! ioctl(status->fd, PIOCDIAL, n); n++; } } --- 86,105 ----- /* dial each digit */ n = s; while(*n) { ! /* switch tone/pulse dialing ? */ ! switch(*n) { ! case '^': ! pbuf.c_lineparam = DATA|PULSE; ! ioctl(status->fd, PIOCSETP, &pbuf); ! break; ! case '%': ! pbuf.c_lineparam = DATA|DTMF; ! ioctl(status->fd, PIOCSETP, &pbuf); ! break; ! default: ! ioctl(status->fd, PIOCDIAL, n); ! break; ! } n++; } } ----------------------------------------------------------------------------- PCOMM v1.0 AT&T Unix PC 7300 Dialing Codes The dialing codes used by the OBM (On Board Modem) are not straight- forward. The modem setup, as distributed, looks like this: -------------------------- Modem Setup -------------------------- 1) Modem name ............. OBM 2) Modem init string ...... 3) Dialing command ........ % 4) Dialing cmd suffix ..... @ 5) Hangup string .......... 6) 300 baud connect ....... CONNECT 7) 1200 baud connect ...... CONNECT 8) 2400 baud connect ...... 9) 4800 baud connect ...... 10) 9600 baud connect ..... 11) 19200 baud connect .... 12) No connect string 1 ... 13) No connect string 2 ... 14) No connect string 3 ... 15) No connect string 4 ... --------------------------------------------------------------- OPTION ==> _ Press ESC to return The relevant fields of the modem setup are: 1) Modem name. This must be "OBM". NOTE: Pcomm uses the modem name as a flag to determine which dialing method to use. The string "OBM" is a "reserved word" that pcomm uses to switch to the AT&T 7300 Unix PC dialing method. 3) Dialing command. This should be '%' for touch tone dialing or '^' for pulse dialing. 4) Dialing cmd suffix. This must be the '@' character. 6-7) Connect strings. The 300 and 1200 baud connect strings must both be set to "CONNECT". NOTE: The OBM cannot determine the connected baud rate if it's different from what it expects. The two identical connect strings disable this feature. Additional OBM dialing commands from phone(7): '~' wait for next dial tone ',' pause 2 seconds ':' pause 10 seconds '&' perform a hookflash '%' begin tone dialing '^' begin pulse dialing These commands can be inseted into the phone number string, for example: 555-1234~56 dial 555-1234, wait for dial tone, dial 56 9,555-1234 dial 9, wait 2 seconds, dial 555-1234 %555^1234 dial 555 using tone, dial 1234 using pulse NOTE: The dialing commands for the OBM are not subject to character synonym translations, therefore the '^' and '~' characters do NOT have to be preceded by the '\' character to remove their special meaning.