Place Incoming calls on hold issues


I face some issues with placing incoming calls on hold. I am using FreePBX 2.5.0 with * 1.4.22 on CentOS 5.0. (SIP trunk and SIP extensions) I have modified the dialplan to be the simplest possible. An incoming call is directly routed to a specific extension (registered on XLITE3.0).

The incoming call is ringing on the extension and the call is answered. If I place the call on hold the caller doesn’t hear the music on hold playback. This is the minor problem, but after ~40 seconds the call is dropped off. Even if I re-answer the call (cancel the on hold button on Xlite within the 40 seconds) the call will drop exactly the same (after ~40 seconds). It seems like if the incoming call is placed on hold it will be dropped off after ~40 second (and not matter what).

I tried the same scenario with *70 (activate call waiting) and without. The extension is marked as supporting call waiting on FreePBX extension setup screen (so I assume that *70 is not making any difference).

I must mention that the hold works OK for outgoing calls from the same extension.

Anyone has any ideas, what can cause to this behavior?
If needed I can provide CLI traces.