<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def AuthenticateSessionId(self, username, password):

 """
 Authenticate using a username and password. 
 The SenseApi object will store the obtained session_id internally until a call to LogoutSessionId is performed.
 
 @param username (string) - CommonSense username
 @param password (string) - MD5Hash of CommonSense password
 
 @return (bool) - Boolean indicating whether AuthenticateSessionId was successful
 """

        self.__setAuthenticationMethod__('authenticating_session_id')

        parameters = {'username':username, 'password':password}

        if self.__SenseApiCall__("/login.json", "POST", parameters = parameters):
            try:
                response = json.loads(self.__response__)
            except:
                self.__setAuthenticationMethod__('not_authenticated')
                self.__error__ = "notjson"
                return False
            try:
                self.__session_id__ = response['session_id']
                self.__setAuthenticationMethod__('session_id')
                return True
            except:
                self.__setAuthenticationMethod__('not_authenticated')
                self.__error__ = "no session_id"
                return False
        else:
            self.__setAuthenticationMethod__('not_authenticated')
            self.__error__ = "api call unsuccessful"
            return False