Inter Milan gloveman Onana, 26, did not give specific reasons for his decision, saying only his “story with the Cameroonian national team has come to an end”.
“Players come and go, names are fleeting, but Cameroon comes before any player or person,” Onana said in a statement on Friday.
“Cameroon remains eternal, as does my love for the national team and for our people, who have always supported us no matter how difficult the moment was.”
Onana played in his side’s opening 1-0 loss to Switzerland in Qatar but was dropped for the next two matches after a reported disagreement with Song over tactics.
The country’s federation (FECAFOOT) said at the time he was suspended for “disciplinary reasons”. Onana won 34 caps after making his debut in 2016.