# File lib/adhearsion/voip/dial_plan.rb, line 81
      def handle(call)
        if call.failed_call?
          environment = ExecutionEnvironment.new(call)
          call.extract_failed_reason_from(environment)
          raise FailedExtensionCallException.new(environment)
        end
        
        starting_entry_point = entry_point_for call
        raise NoContextError, "No dialplan entry point for call context '#{call.context}' -- Ignoring call!" unless starting_entry_point
      
        @context = ExecutionEnvironment.new(call, starting_entry_point)
        inject_context_names_into_environment(@context)
        @context.run
      end