Pakistan will play three Tests, five one-day internationals and two Twenty20 matches with Sri Lanka in the UAE later this year.
Pakistan are still unable to host series at home because of the security situation in their homeland.
Sri Lanka will open the tour with two Twenty20s in Dubai on December 11 and 13 before playing five one-dayers between December 18 and 27, two in Sharjah on December 18 and 22, two in Abu Dhabi on December 25 and 27, and one in Dubai on December 20.
The three Tests will be played in Dubai from December 31-January 4, in Abu Dhabi from January 8-12 and Sharjah from January 16-20.
Pakistan could also face Afghanistan in a Twenty20 match on December 8, which would be the first between the two teams though that match is still to be confirmed.
Pakistan will also play a two-Test, five one-day and two Twenty20 series against South Africa in the UAE in October-November.
Dec 8 - Pakistan v Afghanistan T20 (tbc)
Dec 11 - 1st T20 Pakistan v Sri Lanka - Dubai
Dec 13 - 2nd T20 - Dubai
Dec 18 - 1st ODI - Sharjah
Dec 20 - 2nd ODI - Dubai
Dec 22 - 3rd ODI - Sharjah
Dec 25 - 4th ODI - Abu Dhabi
Dec 27 - 5th ODI - Abu Dhabi
Dec 31-Jan 4 - 1st Test - Dubai
Jan 8-12 - 2nd Test - Abu Dhabi
Jan 16-20 -3rd Test - Sharjah