Russian President Vladimir Putin announced a ceasefire between Syrian opposition groups and the Syrian government starting at midnight on Thursday.
The parties were also prepared to start peace talks, Putin said, after Moscow, Iran and Turkey expressed readiness to broker a deal to settle the nearly six-year-old Syrian war.
The Syrian army announced a nationwide halt to fighting but said Islamic State and ex-Nusra Front militants and all groups linked to them would be excluded from the deal. It did not say which unnamed groups would be excluded.
A spokesman for the Free Syrian Army, a loose alliance of rebel groups, said it would abide by the ceasefire, due to come into force at 2200 GMT, and take part in future talks.
It was the third nationwide ceasefire agreed in Syria this year. The previous two, negotiated by Washington and Moscow, collapsed within weeks as warring sides accused each other of violations. The current deal does not involve the United States or United Nations.
One rebel commander expressed optimism that this deal would hold: "This time I have confidence in its seriousness. There is new international input," he said, without elaborating.
Talks on the latest truce picked up momentum after Russia, Iran and Turkey last week said they were ready to back a peace deal and adopted a declaration setting out principles for an agreement.
Putin said opposition groups and the Syrian government had signed a number of documents, including the ceasefire, measures to monitor the truce, and a statement on readiness to start peace talks.
"The agreements reached are, of course, fragile, need a special attention and involvement... But after all, this is a notable result of our joint work, efforts by the defence and foreign ministries, our partners in the regions," Putin said.
He also said Russia had agreed to reduce its military deployment in Syria, where its support has turned the tide in favour of President Bashar al-Assad in a war that has killed more than 300,000 and forced more than 11 million to flee their homes.
Turkey said it and Russia would guarantee the ceasefire.
The deal excludes Islamic State
Three rebel officials told Reuters the deal excluded Islamic State, but did include the Jabhat Fateh al-Sham group, formerly al Qaeda's Syria branch, the Nusra Front - appearing to contradict the Syrian army's statement.
The Free Syrian Army said the ceasefire also does not include the Kurdish YPG militia.
Russia's defence ministry said insurgent groups that signed the agreement included the powerful Islamist Ahrar al-Sham, Jaish al-Islam, which operates primarily near Damascus, and Jabha Shamiya, one of the main groups that has operated in Aleppo.
The United States has been sidelined in recent negotiations and is not due to attend the next round of peace talks in Astana, capital of Kazakhstan, a key Russian ally.
Its exclusion reflects growing frustration from both Turkey and Russia over Washington's policy on Syria, officials have said.
However, Russian Foreign Minister Sergei Lavrov said the United States could join the peace process once President-elect Donald Trump takes office next month. He also wanted Egypt to join, together with Saudi Arabia, Qatar, Iraq, Jordan and the United Nations.
The United Nations Syria envoy, Staffan de Mistura, welcomed the ceasefire announcement and hoped it would save civilian lives, enable the delivery of aid and lead to productive peace talks in Astana.
The deal should also help U.N. negotiations on Syria to be held in February, de Mistura's spokeswoman said.
It's a complex civil war and disagreements remain between big powers
Talks on the ceasefire reflect the complexity of Syria's civil war, with an array of groups and foreign interests involved on all sides.
Turkey and Russia support different sides in the war. Ankara has insisted on the departure of Assad, who is backed by Russia.
Likewise, demands that troops from the Lebanese Hezbollah movement leave Syria may not please Iran, another major supporter of Assad. Hezbollah troops have been fighting alongside Syrian government forces against rebels opposed to Assad.
"All foreign fighters need to leave Syria. Hezbollah needs to return to Lebanon," Turkish foreign minister Mevlut Cavusoglu said.
Sources have told Reuters that, under an outline deal between the three countries, Syria could be divided into informal zones of regional power and Assad would remain president for at least a few years.
Meanwhile, disagreements remain between big powers.
Ankara supports the Free Syrian Army and some of the rebel groups in the alliance in operations in northern Syria designed to sweep Islamic State and Syrian Kurdish fighters from its southern border.
The United States is backing the Syrian Kurdish YPG in the fight against Islamic State in Syria, a move that has infuriated Turkey, which sees the YPG as an extension of the militant Kurdistan Workers Party (PKK). Ankara fears that advances by Kurdish fighters in Syria could inflame militants at home.
Turkish President Tayyip Erdogan has accused the United States of supporting terrorism in Syria, including Islamic State, comments that Washington has dismissed as "ludicrous".Suggest a correction