You only calculated minutes.
SELECT CONVERT(VARCHAR,Duration / 3600) + ':' +CONVERT(VARCHAR,(Duration %3600) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,Duration % 60),2) as DURATION
FROM (SELECT 16167 duration)CDR
You should post in the right forum to avoid assumptions that will give you solutions that won't work for you.;-)