code: def start_session(self, b_hold_session, sig_doc_xml=None, datafile=None):
          
          response = self.__invoke('StartSession', {
              'bHoldSession': b_hold_session,
              'SigDocXML': sig_doc_xml or SkipValue,
              'datafile': datafile or SkipValue,
  
              # This parameter is deprecated and exists only due to historical reasons. We need to specify it as
              #  SkipValue to keep zeep happy
              'SigningProfile': SkipValue,
          })
  
          if response['Sesscode']:
              self.data_files = []
              self.session_code = response['Sesscode']
  
              if sig_doc_xml:
                  self.container = PreviouslyCreatedContainer()
  
              return True
  
          # If b_hold_session is set to False, response will not contain a session
          # in case of errors, exceptions are raised from __invoke anyway
          return False
docs: Start a DigidocService session
  
          :return: True if session was started and session code was stored in I{session_code}