Cannot blind transfer call from SIP to SIP asterisk 12.7.0

Hi

I would like to be able to blind transfer from one local sip extension to another but this fails.

I have the following setup.

Dialing out to the PSTN with a SIP server, with a Dial command that has T (calling party enabled transfers enabled).

In test 1, I use an IAX2 clients connected to the asterisk 12.7.0 machine. When I press ## (which is what I have configured blind transfers) I get a ringtone, and then I enter an extension, and it works. ie. the call is dropped from the originating extension and the other extension rings.

When I do the above with two sip clients locally, I press ## then I get the rington, I enter an extension and then it returns me to the call. I checked in the source code bridge.c file and found that it was finding the extension correct but it wasn’t doing the blind transfer.

So I changed line 4276 (or thereabouts) to force it do to a transfer if (1 ||do_bridge_transfer) and everything works fine.

Is there some configuration option that I am missing so that this flag isn’t set to 1 in
4262 transfer_prohibited = ast_test_flag(&bridge->feature_flags,
4263 AST_BRIDGE_FLAG_TRANSFER_PROHIBITED);
4264 do_bridge_transfer = ast_test_flag(&bridge->feature_flags,
4265 AST_BRIDGE_FLAG_TRANSFER_BRIDGE_ONLY) ||
4266 ao2_container_count(channels) > 2;

Any help would be appreciated,

Cheers

Chiwong