About 1,000 asylum seekers stranded in the Mediterranean after setting off from Libya prompted a massive rescue effort with hundreds being saved.

Four Italian Coast Guard ships went out to recover the asylum seekers on Tuesday from at least 11 rafts and barges trying to reach European shores. Joining the Italians were vessels belonging to the UN's Save the Children, the SOS Mediterranee, and the German NGO Jugend Rettet.

According to reports by the Jugend Rettet, its crew witnessed shots fired from a ship with Libyan Coast Guard markings in the direction of one raft. A photo posted on Twitter suggests the Libyan Coast Guard boarded one raft and held passengers at gun point.

Jugend Rettet also said several boats were pushed back into Libyan waters, which would represent a violation of the non-refoulement principle. Under this principle of international law, asylum seekers are not to be returned to a country where they face danger of persecution.

SOS Mediterranee reported that 700 people had been safely rescued and taken aboard. Many were children, it said.

The head of the United Nations refugee agency, Filippo Grandi, urged Libyan authorities to free all asylum seekers and refugees from its detention centres, describing the conditions as "shocking".