Yes, I was patched the chan_sip.c according to Alex's patch. The disconnect problem has been gone. Thanks.
But the DTMF issue is still here, my Polycom 501 is using rfc2833, nat=yes. 2b turnk is using inband. If I dial to the bank hotline, eg: Visa, they request to enter 16 digit number, then, I need to enter them 1 digit / second, otherwise it cannot be recognized.
If I change the DTMF of 2b to rfc2833 also, NONE of the digits cannot be recognized by the hotline.
If Polycom 501 uses rfc2833, 2b uses inband, then the digits are needed to press slowly.
If Polycom 501 uses rfc2833, 2b uses rfc2833, NONE digit will be received at called party.