In just over a week, the army and allied militias have seized large areas of the opposition-held territory in eastern Aleppo in a fierce campaign that may leave the rebels with no choice but to seek a negotiated passage out of their area.

With tens of thousands of civilians still living in the rebels' shrinking, besieged enclave, the U.N. envoy for Syria suggested eastern Aleppo could fall by the end of the year and hoped a way could be found to avoid a "terrible battle".

Responding to the Russian proposal, an official with an Aleppo rebel group said commanders in the city had vowed to fight on. They would support the opening of corridors for civilians to leave the city, but would not surrender it.

The government advances in Aleppo have brought President Bashar al-Assad to the brink of his biggest victory yet in a civil war that grew out of protests against his rule in 2011.

Backed by the Russian air force and Shi'ite militias from Iran, Iraq and Lebanon, the government has gradually closed in on eastern Aleppo this year, encircling the eastern parts of the city before launching a major assault in September.

The United Nations estimates that close to 30,000 people have been displaced by the latest fighting, 18,000 of them leaving to government-held areas and a further 8,500 going to the Kurdish-controlled neighbourhood of Sheikh Maqsoud.

Supplies of food and fuel are critically low in eastern Aleppo, where hospitals have been repeatedly bombed out of operation. Hundreds have been killed in the bombardments.