fishing boat has reached the cruise ship adrift in the Indian Ocean with more than 1,000 people on board, officials say.The Costa Allegra suffered a fire in its generator room that caused it to lose power south-west of the Seychelles - an area where pirates are active.
It has no lights or air-conditioning and an emergency generator providing communications "could fail at any minute", the Italian coast guard says.
Tugs are still some hours away.
The ship is from the same fleet as the Costa Concordia, which capsized off the Italian coast in January, killing 32.
Commander Cosimo Nicastro from the Italian coast guard told the BBC that the trawler - a French-registered ocean-going boat - could now maintain communications with rescue vessels if the ship's emergency battery failed.
"At any moment we could lose communication because the emergency battery could stop at any second," he said.
"The first step is to keep communications with the ship."
He said agencies involved in the rescue operation would reassess the situation later in the morning.
The ship's owner, Costa Cruises, has stressed that the Allegra is steady and conditions are safe.It says it is liaising with passengers' families via their emergency contact numbers, and has reached two-thirds of them. Contact has been made with the relatives of all the crew.
Families in the UK can call the company's emergency line on 0207 940 3300.
'Not in danger' Italian authorities have directed three merchant ships and another fishing vessel towards the stricken cruise ship.
Authorities in the Seychelles say they have sent two tug boats and a coast guard ship to the scene but the tugs are not expected to reach the ship until around 1500 GMT on Tuesday
A plane has flown overhead and reported that the ship did not appear to be in danger.
Costa Cruises said that the ship sent out a distress signal when the fire broke out, and all passengers and crew not involved in fighting the fire assembled at the muster stations.
Most electric lights on board the ship are off as the batteries are being used to keep essential machinery going.
A spokesman said the situation on board was calm and the ship was stable.
Captain Giorgio Moretti said a helicopter would bring fresh food to the ship on Tuesday morning, as it is without cooking facilities.
Captain Moretti said it had not been decided whether to try to transfer the passengers to other ships, or leave them on board until it is tugged to shore.
There are 636 passengers and 413 crew on board the Costa Allegra, which left Madagascar on Saturday.
It was due to arrive in the Seychelles on Tuesday.
Further destinations on its itinerary include Alexandria and Naples in the Mediterranean Sea.
Somali pirates are known to operate in the area where the Allegra is adrift, though they have never seized a cruise ship.
Nine members of the Italian navy's anti-pirate unit are on board the ship as a precaution.
A facility on Costa Cruises' website allowing people to track the Allegra's position says that "data transmission is temporarily suspended".
The company says the Allegra received its regularly scheduled maintenance in dry dock in October 2011.
The Costa Concordia ran aground off the Italian island of Giglio on 13 January.
The Concordia's captain, Francesco Schettino, has been accused of manslaughter, causing a shipwreck and abandoning ship before all those aboard were evacuated. He denies any wrongdoing