If the recruiter is saying the company has already decided on a salary then the company has limited the salary range for the recruiter. I would go directly to the company and discuss it with them.
Note: Don't be rude to the recruiter. Just let them know that a lower offer than what was posted for the position is unacceptable and you would be speaking with the company directly to negotiate your own salary.
The recruiter may be against this but if the recruiter can't even get you the amount offered on the job listing then I doubt they will do much better on the next go around.