iiCall OnHold and MOH troubles!

When my clients call to office and i put the call in hold, he can’t listen the defined MOH.
But when i park the call he can listen the MOH. What is worng… it says an error…

Please provide a SIP trace for the call between your phone and Asterisk. It is quite likely that the phone isn’t actually signalling that the call is on hold.

No. Look the problem is in the codecs.
I’m using a Softphone Xlite with
G.711 alaw
G.711 ulaw and my other phone is an Linksys SPA921. When i call to the Softphone from my linksys and put the call in hold, i can’t listen anything and vice versa (from softphone to linksys) using that codecs but if i just use gsm instead of G.711 alaw
and G.711 ulaw yes i can hear the moh when calls are in hold. I’m using G.711a in the Linksys SPA921 phone.
But why?? These codecs (G.711 alaw and G.711 ulaw have problems?

NOTE:* I’m using asterisk-1.8.0