<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def refresh_session(self, sessionkey, refresh_token=None):
        '''
        Refresh Session Token
        '''
        if not refresh_token:
            refresh_token = sessionkey
        params = {
            'appkey' : self.API_KEY,
            'sessionkey'  : sessionkey,
            'refresh_token': refresh_token
        }
        src = ''.join(["%s%s" % (k, v) for k, v in sorted(params.iteritems())]) + self.APP_SECRET
        params['sign'] = md5(src).hexdigest().upper()
        form_data = urllib.urlencode(params)
        rsp = requests.get('%s?%s'%(self.REFRESH_TOKEN_URL, form_data))
        rsp = json.loads(rsp.content)
        if 'error' in rsp:
            raise TOPException(rsp['error'], rsp['error_description'])
            return None
        rsp['re_expires_in'] = int(rsp['re_expires_in'])
        rsp['expires_in'] = int(rsp['expires_in'])
        rsp['session'] = rsp['top_session']
        del rsp['top_session']
        return rsp