The UN has said “much more is required” to prevent the deaths of migrants fleeing to Europe after hundreds were reported dead in recent days.
Secretary-General Ban Ki-moon called for a “collective political response” to avert “a crisis of solidarity”.
He called on states involved to “expand safe and legal channels of migration”.
On Thursday 71 people, thought to be Syrians, were found dead in a lorry in Austria. Some 200 others are feared dead after two boats sank off Libya.
Mr Ban said he was “horrified and heartbroken” at the latest loss of life.
“A large majority of people undertaking these arduous and dangerous journeys are refugees fleeing from places such as Syria, Iraq and Afghanistan,” he said.
“The international community must also show greater determination in resolving conflicts and other problems that leave people little choice but to flee,” he added.
Mr Ban called on nations to observe international law on asylum requests, and not to “force people to return to places from which they have fled if there is a well-founded fear of persecution… This is not only a matter of international law; it is also our duty as human beings.”
He said: “This is a human tragedy that requires a determined collective political response. It is a crisis of solidarity, not a crisis of numbers.”
Mr Ban also urged more action against people smugglers, a call echoed by White House spokesman Josh Earnest.
“The violence and instability in North Africa and the Middle East isn’t just destabilising the immediate region but is starting to have a destabilising impact on other regions of the world too, including in Europe,” Mr Earnest said.
Some 200 people are feared to have drowned after two boats capsized on Thursday as they tried to cross from Zuwara, west of Tripoli in Libya, to Italy.
About 100 bodies have already been found and Libyan workers are continuing to search for 100 other people who are unaccounted for.
Some survivors were rescued having spent the night in the water, clinging to life jackets.
While most of the victims of Thursday’s capsizes are thought to be from Syria and African countries, a Bangladeshi diplomat told the BBC that at least five Bangladeshi nationals, including a six-month-old baby, were among the dead.
Police in Italy detained 10 suspected traffickers after a separate incident in which 52 people were found dead in the hold of a ship off the coast of Libya on Wednesday.
Meanwhile, Hungarian police said they had arrested four people over the discovery of the bodies of 71 migrants, thought to be Syrians, in an abandoned lorry in Austria, near the Hungarian border.
The victims were 59 men, eight women and four children who are thought to have been dead for about two days.
Officials said the victims probably died after suffocating in the vehicle, before it crossed into Austria from Hungary. Among the victims was a girl aged between one and two years old.
Analysis: BBC’s Bethany Bell in Vienna
The headline in Austria’s Kurier newspaper is stark: “Who will stop this madness? Refugee tragedy on the eastern motorway.”
This double-edged response to the lorry deaths reflects the feelings of many here in Austria, a country of 8.5 million which has seen a big increase in people requesting asylum, with 80,000 claims expected this year.
Its main asylum centre, at Traiskirchen, is so overcrowded that hundreds have been forced to sleep outside there for weeks. Amnesty International recently said conditions there were “shameful”.
Many people are volunteering to help refugees. But others say the flow of migrants must be stopped. Far-right parties say there are too many foreigners in Austria already and are calling for the reintroduction of border controls.
The government says it doesn’t want that – but it says this problem can’t be solved individually. It says Europe has to share the burden of looking after the refugees and migrants who arrive here every day.
Tens of thousands of migrants from conflict-hit states in the Middle East and Africa have been trying to make their way to Europe in recent months.
A record number of 107,500 migrants crossed the EU’s borders last month.
Some of them pay large sums of money to people smugglers to get them through borders illegally.
The UNHCR says more than 2,500 people have died trying to reach Europe so far in 2015, not including Thursday’s deaths.