@Override
 public void onCallAcceptByUser(
     QBRTCSession session, Integer userId, Map<String, String> userInfo) {
   if (!session.equals(getCurrentSession())) {
     return;
   }
   if (sessionUserCallback != null) {
     sessionUserCallback.onCallAcceptByUser(session, userId, userInfo);
   }
   runOnUiThread(
       new Runnable() {
         @Override
         public void run() {
           ringtonePlayer.stop();
         }
       });
 }
  @Override
  public void onUserNotAnswer(QBRTCSession session, Integer userID) {
    if (!session.equals(getCurrentSession())) {
      return;
    }
    if (sessionUserCallback != null) {
      sessionUserCallback.onUserNotAnswer(session, userID);
    }

    runOnUiThread(
        new Runnable() {
          @Override
          public void run() {
            ringtonePlayer.stop();
          }
        });
  }
  @Override
  public void onReceiveHangUpFromUser(
      final QBRTCSession session, final Integer userID, Map<String, String> map) {
    if (session.equals(getCurrentSession())) {

      if (sessionUserCallback != null) {
        sessionUserCallback.onReceiveHangUpFromUser(session, userID);
      }

      final String participantName = DataHolder.getUserNameByID(userID);

      runOnUiThread(
          new Runnable() {
            @Override
            public void run() {
              showToast(
                  "User " + participantName + " " + getString(R.string.hungUp) + " conversation");
            }
          });
    }
  }