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 GenXer'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 need 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

sub dialpulser                      'this is the heart of it all
  sound 2600, 1.2                   'sound 2600 for 40 ms
  delay .18                         'delay for 60 ms
end sub

'my advice:
'have fun - don't get caught!
'remember: the President, the currency, and the phone system

Code: rotary-sf-generator.bas

Return to $2600 Index