Rotary Telephone Emulator
JavaScript and modern browser required; doesn't work on mobile devices. Also see our virtual touchtone phone.
Toggle Switchhook Condition [Line Status: On-Hook]
Number Dialed:
Feature Log:
- Virtual switchhook consisting of a clickable button. You may also use the SPACE button to toggle line status.
- Rotary dial is made 20% visible when a digit is dialed and becomes fully visible once the dial returns to normal
- Further digits cannot be dialed and will not be received while the dial is winding or returning (when the dial is not 100% visible)
- Digits can be dialed by clicking the appropriate fingerhole on the rotary dial
- Digits can also be dialed by pressing the corresponding numeric or alphanumeric key on your keyboard (number row, numberpad, and alphabetic keys will all work)
- Digits may be dialed even after dialing is finished; this is allowed intentionally to mirror reality
- When dial tone times out (after ~30 seconds), crybaby tone is played indefinitely and numbers can no longer be dialed
- 958 is the ringback number
- 911 intercept message
- Calls to numbers ending with '9' will be busy
- There is a 15% chance of all circuits busy on long distance calls
- 1 (262) 650-9990 will always trigger all circuits busy
- Allows for operator-assisted calls (operator-assisted calls are not validated before being placed, but number analysis is still performed when the call is placed; for instance, dialing 911 will immediately complete, meaning 9111 could not be called using the dial; 9111 can be called operator-assisted but is still processed normally)
- MF digits play on long-distance calls
- Dialing the only number in the 710 NPA will prompt for a PIN: phreaks in the know will be able to access an NPSTN trunk
- Allows dialing certain 0xx/1xx calls, i.e. 121, 131, 141
- Reorder if 0 is 2nd digit
- Reorder if 1 is 2nd digit and 3rd digit is not 1
- Dial plan allots for calls to: 0, N11, 7D, 11D (1+NPA+7D)
- Digit validation is performed at numerous points (1 digit, 2 digits, 3 digits, 7 digits, 11 digits) for more realistic digit-by-digit validation typical of a step-by-step telephone switch
- Hanging up using "switchhook" does not stop currently playing audio files unless they are short and looped: have hanging up stop ALL audio files - create eventlistener to stop every possible audio file? (currently checks to play again, not stop)
- Problems with setTimeout() not working properly for long-distance calls/MFing (next function is starting before timeout would ~permit)
- SF Digits to follow MF digits on certain long-distance calls?
- Use API (WebRTC) to connect GETS # to NPSTN Conference #
- Implement 555-1212, both locally and 1+NPA+555-1212
- Utilize all MP3 files — i.e. facilities trouble recording
- Implementation of 0xx/1xx codes, i.e. 121, 131, 141, etc. (call completition upon 10 digits or 11 digits?)
- Cross-browser testing needed
- Typewriter font for this webpage? Why not?