/**
   * New content sharing streaming invitation
   *
   * @param session CSh session
   */
  public void handleContentSharingStreamingInvitation(VideoStreamingSession session) {
    if (logger.isActivated()) {
      logger.debug("Handle event content sharing streaming invitation");
    }

    // Broadcast the invitation
    richcallApi.receiveVideoSharingInvitation(session);
  }
  /**
   * New content sharing transfer invitation
   *
   * @param session Content sharing transfer invitation
   */
  public void handleContentSharingTransferInvitation(GeolocTransferSession session) {
    if (logger.isActivated()) {
      logger.debug("Handle event content sharing transfer invitation");
    }

    // Broadcast the invitation
    richcallApi.receiveGeolocSharingInvitation(session);
  }
  @Override
  public void onDestroy() {
    // Unregister account changed broadcast receiver
    if (accountChangedReceiver != null) {
      try {
        unregisterReceiver(accountChangedReceiver);
      } catch (IllegalArgumentException e) {
        // Nothing to do
      }
    }

    // Unregister SMS receiver for network initiated configuration
    if (reconfSMSReceiver != null) {
      try {
        reconfSMSReceiver.unregisterSmsProvisioningReceiver();
      } catch (IllegalArgumentException e) {
        // Nothing to do
      }
    }

    // Close APIs
    imsApi.close();
    termsApi.close();
    presenceApi.close();
    capabilityApi.close();
    richcallApi.close();
    ipcallApi.close();
    messagingApi.close();
    sipApi.close();

    // Stop the core
    Thread t =
        new Thread() {
          /** Processing */
          public void run() {
            stopCore();
          }
        };
    t.start();
  }