Stopping the idle timer while the REGISTER transaction is outstanding might be an option, but it would be complicated to implement given there could be multiple REGISTER transactions outstanding on a given flow at the same time.  Since the idle timer is a 10 minute timer, the REGISTER transaction will time out long before the idle timer does, so I don't think it is worth the extra complexity.