The Dial Pulser

by Golem of Sprague

Previous articles have mentioned the MF-type "Blue Box," but there hasn't been mention of something called a "Rotary SF" or "dial pulser."  I remember seeing these devices at someone's (name withheld) cellular "lab" in 1990.  Yes, they were the standard issue Bell System boxes powered by two "D" cells (the same olive drab Bell batteries that used to come in the Hess toy trucks, you Gen-Xer's), and on the outside, a button for line seizure and a rotary dial for pulsing.

The theory of dial pulsing is nothing more than the tone equivalent of regular rotary dialing.  This goes back to a system that predates R1 called CCITT 2 (C2).  This used 600 Hz for MAKE and 750 Hz for BREAK, which simulated rotary dialing over long distances where a DC loop is impractical.  At the risk of boredom, I will mention how R1 uses 2600 Hz to indicate trunk on-hook and silence as trunk off-hook.  What happens when 2600 Hz is pulsed at a regular rate?  On-hook, off-hook, on-hook, off-hook...  Gee, it sounds like pulse dialing, no?  Yes it is, but over a trunk which sees this 2600 Hz pulsing like a subscriber look sensing interruptions of rotary dialing.  This system is simpler than MF signaling for its use of only one frequency and its lack of registering tones (11, 12, KP, KP2,ST).  However, I know of no places in the U.S. (perhaps Alaska?) that still use C1 or R1 that will accept dial pulsing.

'WARNING FROM THE CORPORATE PROPERTY CULTURE:
'
' Educational purposes only
'
' Rotary SF Generator
' a.k.a Cap'n Crunch Whistle, remember?
' Uses PC speaker to generate pulsed 2600 Hz
' to dial over trunks involving SxS and crossbars
' This is written in Turbo BASIC; it may nee modifications
' for use with Quick BASIC or other structured BASICs.
'
' Written by KeyPulse & STart
'
' code starts here:
cls	'clear screen
do	'main loop
	line input "Phone Number:";ph$	'input phone number
	l=len(ph$)						'length of phone number
	if ph$ = "" then goto xit;		'if empty line then goto
	sound 2600,15					'sieze R1 trunk with 2600 hz
	delay 2							'delay 2 seconds
	for t = 1 to l					'read string loop
		b$ = mid$(ph$, t, 1)		'get char in string
		digit = val(b$)				'convert to numeric
	select case $b	'check b$ for exceptions
		case "0"	'if '0' then
		digit=10	'set to pulse ten (10) times
		case " "	'if a space char, then
		goto skip	'skip over to next digit (ignore)
		case else	'elastic case do nothing
	end select	'end select for checking exceptions
	?b$;		'print digit
	for x = 1 to digit	'pulsing loop (pulse DIGIT time(s))
		call dialpulser	' dial pulser routine
	next	' do again until x=digit
		delay .5	'500 ms delay between pulsing
		skip	'skip point
	next	'get next digit
		?
	loop	'loop back
	xit:	'jump point for
end	'program termination

Code: rotary-sf-generator.bas

Return to $2600 Index