Ultrasonic data transfer
Even using the highest audio frequencies that a typical mobile device can generate (which are below the ultrasonic range), there is no guarantee that "normal external noise" won't interfere.  Transient impact noises can be quite wide-band.  Therefore one may have to try various forms and levels of redundancy or Forward Error Correction coding (Hamming, Reed-Solomon, etc.), until the reliability probabilities reach a suitable level for your application.  For many (most?) modulation schemes, just lowering the bandwidth sent/used can also improve the reliability probabilities of the channel.