[unix-pc.sources] patch # 2 to pcomm v1.0

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.