code: def parseRtspReply(self, data):
      print("Parsing Received Rtsp data...")
  
      
      lines = data.split('\n')
      seqNum = int(lines[1].split(' ')[1])
  
      # Process only if the server reply's sequence number is the same as the request's
      if seqNum == self.rtspSeq:
        session = int(lines[2].split(' ')[1])
        # New RTSP session ID
        if self.sessionId == 0:
          self.sessionId = session
  
        # Process only if the session ID is the same
        if self.sessionId == session:
          if int(lines[0].split(' ')[1]) == 200:
            if self.requestSent == self.SETUP:
              #-------------
              # TO COMPLETE
              #-------------
              # Update RTSP state.
              print("Updating RTSP state...")
              # self.state = ...
              self.state = self.READY
              # Open RTP port.
              #self.openRtpPort()
              print("Setting Up RtpPort for Video Stream")
              self.openRtpPort()
  
            elif self.requestSent == self.PLAY:
               self.state = self.PLAYING
               print('-'*60 + "\nClient is PLAYING...\n" + '-'*60)
            elif self.requestSent == self.PAUSE:
               self.state = self.READY
  
              # The play thread exits. A new thread is created on resume.
               self.playEvent.set()
  
            elif self.requestSent == self.TEARDOWN:
              # self.state = ...
  
              # Flag the teardownAcked to close the socket.
              self.teardownAcked = 1
docs: Parse the RTSP reply from the server.