/**
   * Start the session for a initial Jingle request packet.
   *
   * @param initialJingleSessionRequest the initial Jingle Session Request
   * @throws XMPPException
   */
  public void start(JingleSessionRequest initialJingleSessionRequest) throws XMPPException {
    // Establish the default state
    setState(accepting);

    updatePacketListener();

    Jingle packet = initialJingleSessionRequest.getJingle();
    if (packet != null) {

      // Initialize the session information
      setSid(packet.getSid());

      respond(packet);
    } else {
      throw new XMPPException("Session request with null Jingle packet.");
    }
  }