The UN says it is seriously concerned for civilians in the region
Nine people have been killed by shells which hit a hospital in a rebel-held area of north-east Sri Lanka, the Red Cross says.
The hospital, in the town of Puthukkudiyiruppu, Mullaitivu district, was hit three times in 24 hours, aid officials said.
UN spokesman Gordon Weiss told the BBC the shells had hit a crowded paediatric unit. It is not clear who fired them.
Sri Lanka's army has denied it was behind the shelling.
There has been no comment so far from the rebel group, the Liberation Tigers of Tamil Eelam (LTTE).
Puthukkudiyiruppu is situated in an enclave held by the rebels, and is home to tens of thousands of civilians.
Sophie Romanens, a spokeswoman for the International Committee of the Red Cross (ICRC), said the shelling killed at least nine people and injured 20 inside the hospital premises, adding that many more had been killed outside.
The shells, which came during constant fighting, hit the hospital's kitchen and chapel as well as a ward where there were women and children, Ms Romanens told the BBC.
Mr Weiss said the first shell hit the hospital - one of area's last functioning health facilities, which has some 500 inpatients - shortly before midnight (1830 GMT).
He said the last message the UN had received from their staff member on the ward said: "Woman and kids' ward shelled... Still trying to count the dead bodies."
He said the hospital had been so full, with many patients lying on the floor, that anything landing on it was "almost guaranteed to cause significant casualties".
Mr Weiss called the strikes "significant breaches of international humanitarian law".
The strikes have prompted protests from the Red Cross.
"We're shocked that the hospital was hit, and this for the second time in recent weeks," said Paul Castella, head of the Colombo delegation of the ICRC.
"Wounded and sick people, medical personnel and medical facilities are all protected by international humanitarian law. Under no circumstance may they be directly attacked."
An army offensive has pushed the rebels into a 300 sq km (110 sq mile) corner of jungle in the north-east of the island, which aid agencies say also holds 250,000 civilians.
Sri Lankan soldiers captured Mullaitivu last Sunday
The government says the number of civilians is closer to 120,000 and that the army has a policy of not firing at civilians.
It accuses the Tamil Tigers of not allowing civilians to leave, saying they are being used as human shields.
Sri Lanka's military says it has designated a safe zone for civilians in a 32 sq km buffer zone on the A-35 main road which links Paranthan and Mullaitivu.
But the rebels say the civilians prefer to stay where they are under rebel "protection".
The reports cannot be independently confirmed as neither side allows journalists near the war zone.
Senior UN officials say there may have been very grave breaches of human rights by both sides.
Officials said about 300 civilians had crossed into government-held territory during the 48-hour truce, which expired late on Saturday.
"We will now have to save the civilians and move in," said a government spokesman, Kaheliya Rambukwella.
"It is now very evident that [Tamil Tiger leader Valupillai] Prabhakaran is... using civilians as cover," said Mr Rambukwella.
"We will take the utmost care of civilians when we move in."
The military has captured the key towns of Kilinochchi, Mullaitivu and the strategically important Elephant Pass to the Jaffna peninsula in recent weeks.