Sua pergunta é um pouco vaga. Meu palpite é que você quer isso:
SELECT *
FROM tbl
ORDER BY (GREATEST(source, recipient), LEAST(source, recipient), "time";
O manual sobre
GREATEST e MENOS
.
SELECT *
FROM tbl
ORDER BY (GREATEST(source, recipient), LEAST(source, recipient), "time";
GREATEST e MENOS
.