Italian coast guards and local fisherman, meanwhile, saved all 528 refugees on a boat from Libya after their vessel hit rocks off the island of Lampedusa in an operation a rescuer described as a "miracle."

Images of the rescue showed people jumping in panic or falling into the choppy waters as their boat heaved in the waves on Sunday.

Some managed to make their way to shore holding on to ropes that had been attached to the boat's stern; others were hauled up on shore by rescue crews in the water.

Among the refugees who had thrown themselves into the water at night were 24 pregnant women.

Fabrizio Pisanelli, a customs official, said the boat's steering had stopped working as the boat was nearing Lampedusa's port shortly after 4am on Sunday. Strong winds had pushed the boat against rocks, throwing migrants overboard.

Three police officials who had boarded the boat in open seas helped control the situation, and rescuers reached the migrants immediately, saving them all. Pisanelli said they included women and children, and were from sub-Saharan Africa.

The boat had apparently been headed for Malta but was escorted by the Maltese coastguard towards Lampedusa, the officials were quoted as saying.

But the survivors said they saw another boat laden with fellow refugees capsize just off Libyan shores and "many bodies" were in the water, Italian news agency ANSA reported.

"It was terrible. There were a lot of corpses," said a refugee, whose name was not quoted in the report, which said "dozens of dozens" of people had likely died.

This incident came a day after a migrant boat laden with 600 men, women and children - mostly Africans - sank off the coast of Tripoli.

Al Jazeera's Karl Stagno-Navarra, reporting from the nearby island of Malta, said that most of those on the boat were feared dead after it went down on Saturday. He said that a rescue operation was under way and a few bodies had been recovered.

"The information we are receiving from the island of Malta, with regards to this boat, is that so far only 15 have managed to reach the shores after they swam for about two hours," he said.

"Meanwhile, we understand that this was one of two boats that left Tripoli on Friday which was headed for Italy.

"A number of those migrants who reached Lampedusa in the first boat are now claiming to have received phone calls from relatives both in Libya and on mainland Italy to inform them that their relatives on board the second boat, which went down, are now dead."

Hopes are also fading for 22 African migrants missing after their small boat took on water off the coast of southern Spain.

Rescuers pulled 29 people from the water on Thursday and a search for the others continued about 43km from Melicena.

Some of the rescued said a woman, two infants and 19 men are missing. The boat had set off from Morocco.

The hope of anyone surviving in the water after 10 hours is remote, officials say.

Source: Al Jazeera and agencies