Disable global atxfernoanswertimeout

I’ve tried to disable atxfernoanswertimeout without success.

Say I have this configuration:

extension.conf:
[context_1]
exten => _X., 1, Dial(${EXTEN},20,tT)
exten => _X., 2, Hangup(16)

[context_2]
exten => _X., 1, Dial(${EXTEN},60,tT)
exten => _X., 2, Hangup(16)

When transfering (using DTMF xfer from features.c), I want to have a 20 secondes timeout in context_1 and a 60 second timeout in context_2.

I’ve tried different way to implement this without success. For instance by replacing in features.c the block

if (ast_tvdiff_ms(ast_tvnow(), started) > timeout) {
	state = AST_CONTROL_UNHOLD;
	ast_log(LOG_NOTICE, "We exceeded our AT-timeout for %s\n", chan->name);
	break; /*doh! timeout*/
}

by:

if (ast_test_flag(caller, AST_FLAG_ZOMBIE)) {
	state = AST_CONTROL_UNHOLD;
	break;
}

Am I missing something simple?

Thanks for your help
To

I’ve posted my question to the dev mailing list… which is probably a better place.