Dos palabras: ambito de las variables (vale, son 4, pero solo dos con significado).
Si revisas
http://www.php.net/manual/en/languag...bles.scope.php , veras porque estas usando el 'global' dentro de tus funciones. Y veras que para tener acceso a $sms desde dentro de tu funcion, debes poner esa variable en tu lista de 'global'.
Saludos.