docs: private void triggerContentEstablished(PayloadType pt, TransportCandidate rc, TransportCandidate lc) throws NotConnectedException, InterruptedException {
  
          // Let the session know that we've established a content/media segment.
          JingleSession session = getSession();
          if (session != null) {
              List<JingleListener> listeners = session.getListenersList();
              for (JingleListener li : listeners) {
                  if (li instanceof JingleSessionListener) {
                      JingleSessionListener sli = (JingleSessionListener) li;
                      sli.sessionEstablished(pt, rc, lc, session);
                  }
              }
          }
  
          // Create a media session for each media manager in the session.
          if (mediaNeg.getMediaManager() != null) {
              rc.removeCandidateEcho();
              lc.removeCandidateEcho();
  
              jingleMediaSession = getMediaNegotiator().getMediaManager().createMediaSession(pt, rc, lc, session);
              jingleMediaSession.addMediaReceivedListener(session);
              if (jingleMediaSession != null) {
  
                  jingleMediaSession.startTransmit();
                  jingleMediaSession.startReceive();
  
                  for (TransportCandidate candidate : getTransportNegotiator().getOfferedCandidates())
                      candidate.removeCandidateEcho();
              }
              JingleMediaManager mediaManager = getMediaNegotiator().getMediaManager();
              getSession().addJingleMediaSession(mediaManager.getName(), jingleMediaSession);
          }
  
      }