Am I using 'canreinvite' correctly?

I am using asterisk v1.2.0.

I have a problem regarding the use of ‘canreinvite’ and ‘t’/‘T’ in the dial command option.

I wish to limit the data and signalling stream proxying by PBX such that internal call will not be proxied while external be proxied.

I found out that in order to NOT let the signalling and data streams be proxied by asterisk, I need to use canreinvite=yes in the sip extensions and NOT put any ‘t’/‘T’ in the dial command option.

I tried it and it works. The PBX will reinvite the videophones and keep the streams away from the PBX.

BUT I can’t seem to use the PBX features (e.g. call transfer, call parking etc) anymore.

My dtmfmode is rfc2833

Am I doing it wrongly?