I've found another problem in doing SIP refer types of calls transfer. That is, for blind call transfer is not possible to define the time for which the call transferred ring. Setting callInfo(altertime) has no effect, and that is understandable enough since it goes into domain of a remote router, but the proble is that even setting a side timer is not possible to cancel the transfer attempt. in fact doing command terminate for the handle the transfer returns ls_015, but the call keeps ringing on the destination, and trying to do anoth transfer returns an error from SIP stack.
Possibly a workaround is to do all call transfer initiate as regualar calls and then doing a consult transfer only when the destination actually answers, but it would be good to have a way to change the transfer destination as desired.
Command terminate command should cancel the setup, is it possible for you to share logs. Did you try with latest IOS version?
I'm using the latest IOS for my device, which is 15.1(4).
Note that when doing a callt ransfer that is not a real setup that is being done. The setup gets cancelled but is then impossible to do another transfer result to send the call to another destination:
%SIP-3-BADPAIR: Unexpected event 27 (SIPSPI_EV_CC_CALL_TRANSFER) in state 20 (SIP_STATE_INIT_XFER) substate 0 (SUBSTATE_NONE)