The destination field for an SMS message has been empty for a year. So now, throw if it is not either empty or the value it used to be, and base the type only on the direction.
Replace silent ignores of erroneous situations with exceptions and assertions.