def __init__(self, ring_min=RING_MIN, ring_max=RING_MAX, ring_on=RING_ON, ring_off=RING_OFF, ringer_pin=RINGER_PIN, hook_pin=HOOK_PIN, dial_tone_file=DIAL_TONE_FILE, audio_directory=AUDIO_DIRECTORY): self.ring_on = ring_on self.ring_off = ring_off self.ring_min = ring_min self.ring_max = ring_max self.ringer_pin = ringer_pin self.hook_pin = hook_pin self.audio_directory = audio_directory self.dial_tone_file = dial_tone_file Ringer.__init__(self, self.ring_on, self.ring_off, self.ringer_pin) Hook.__init__(self, self.hook_pin) DialTone.__init__(self, self.dial_tone_file) RandomAudio.__init__(self, self.audio_directory) self.state = SILENCE GPIO.setup(self.hook_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)