Somali government forces are fighting to regain control of a hotel in the capital, Mogadishu, which has been stormed by al-Shabab militants.
Ten people have been killed in the gun battle at the Maka al-Mukarama hotel, including the Somali ambassador to Switzerland, Yusuf Bari Bari.
Other diplomats escaped by jumping from windows.
US-trained Somali special forces have been able to take back control of most of the hotel.
Latest reports say the militants are now on the top floors and the roof, firing guns and throwing grenades.
Police officer Major Ismail Olow told Reuters that he believed there were originally nine attackers, six of whom had been killed.
The attack began when a suicide bomber detonated his explosives-packed car outside the building.
Hotels in Mogadishu are often targeted by al-Shabab militants, who were driven from the city several years ago but still control southern rural areas.
An al-Shabab spokesman told the BBC that the Maka al-Mukarama was attacked because of its popularity with government officials.
“We don’t consider it to be a hotel – it’s a government base,” he said.
A car bomb went off outside the hotel earlier this month – the al-Qaeda-linked Islamists also said they were behind that attack.
Many politicians and businessmen stay at the hotel as it is on the main road linking the presidential palace to the city’s airport.
Somalia has been ravaged by conflict for more than two decades.
But thousands of Somalis have been returning from abroad to help rebuild the country as security has improved in recent years.
African Union troops have been helping the UN-backed government retake territory from the militants.