Check the data coding scheme used on both ends.

I've  encountered  an almost similar problem before, where an application using SMPP standard had to interface with a system using GSM03.38 standard.  The defination of the '@' character in the two standards is different.