<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def install_caller_instruction(self, token_type="Unrestricted", transaction_id=None):
 """ Set us up as a caller This will install a new caller_token into the FPS section. This should really only be called to regenerate the caller token. """

        response = self.install_payment_instruction("MyRole=='Caller';",
                                                    token_type=token_type,
                                                    transaction_id=transaction_id)
        body = response.read()
        if(response.status == 200):
            rs = ResultSet()
            h = handler.XmlHandler(rs, self)
            xml.sax.parseString(body, h)
            caller_token = rs.TokenId
            try:
                boto.config.save_system_option("FPS", "caller_token",
                                               caller_token)
            except(IOError):
                boto.config.save_user_option("FPS", "caller_token",
                                             caller_token)
            return caller_token
        else:
            raise FPSResponseError(response.status, response.reason, body)