Italy will hold a state funeral for the victims of last week's shipwreck tragedy off Lampedusa, Prime Minister Enrico Letta said during a visit to the island where more than 300 African migrants are feared to have died.

"There will be a state funeral for the victims," Letta said at a press conference on Wednesday.

Letta has been attempting to address the resounding dissatisfaction expressed by Lampedusa residents who heckled him and the head of the European Commission, Jose Luis Barroso. 

A handful of Lampedusa residents shouted "shame" as the two arrived at the airport.

The islanders have long complained that they are all but forgotten by Italy and the European Union, left to cope alone with the thousdands of migrants who come ashore each year. 

Barroso announced that Italy will recieve an additional $40m in EU funds to help settle refugees, after the sinking. He also pledged to work "tirelessly" for an EU-wide asylum policy and to beef up the Frontex border patrol agency to prevent similary tragedies.

While Letta and Barroso toured the area, divers continued their recovery operation from Thursday's incident in which the ship caught fire, capsized and sank.

About 30,000 migrants have landed in Italy so far this year - four times more than in 2012, but fewer than the 50,000 who crossed the Mediterranean in 2011 at the height of the so-called Arab Spring revolts.

An estimated 17,000 to 20,000 migrants have died during the perilous crossing over the past 20 years as they often make the journey on badly overcrowded fishing boats or rubber dinghies.

Eritrea, Somalia and Syria are the main countries of origin and the majority of arrivals are  on Lampedusa, Italy's southernmost point which is closer to north Africa than to the rest of Italy.