Rtpholdtimeout not working as expected


I have set

in sip.conf [general] and confirmed the setting with
sip show settings.

I have…

RTP Keepalive: 0 (Disabled) RTP Timeout: 0 (Disabled) RTP Hold Timeout: 15

But when I put someone on hold (they hear moh), they can be on hold indefinitely.

I have had a look at rtp for that channel and can confirm no packet are being recieved from the phone. And I can unplug the phone from the network and still the call continues.

If I set

the call is hung up after 15 seconds - no problem there.

I would like to be able to hang up the call ONLY if the call has been put on hold for too long, not just if for some reason rtp has not been received.

Can anyone help me enable rtpholdtimeout without rtptimeout?

Many thanks.