At least four soldiers were killed and eight injured when one of their colleagues opened fire on a military air base in southern Tehran on Sunday, the Iranian military said in a statement.
The incident was "probably related to psychological problems of the soldier who suddenly started firing on his comrades," the statement said.
State media did not immediately report the shooting, which Mehr said took place in Kahrizak, which is on the southern outskirts of Tehran.
All injured soldiers were taken to an Air Force hospital in southeast of the city, the report said.
The reported shooting is the latest to strike Iran.
In July, a soldier opened fire on his comrades, killing three and wounding six at a military base in the town of Abyek, some 62 miles (100 kilometers) west of Tehran. The assailant reportedly shot himself in the incident, but survived and was taken to a nearby hospital.
In September, a soldier killed himself after shooting to death three of his comrades in the south of the country.
Military service of up to 24 months is mandatory for men age 19 and above in Iran.