/**
   * Handle a Hold request
   *
   * @param iui the InterlocutorUI
   * @param mic true to place on hold.
   * @param cam true to place camera on hold.
   */
  public void handleHold(InterlocutorUI iui, boolean mic, boolean cam) {

    try {
      sipManager.hold(
          iui.getID(), mediaManager.generateHoldSdpDescription(mic, mic, iui.getCall()), mic, cam);
    } catch (Exception e) {
      Log.error("handleHold", e);
    }
  }
 /**
  * Handle when users press a dtmf button
  *
  * @param iui the InterlocutorUI
  */
 public void handleDTMF(InterlocutorUI iui, String digit) {
   try {
     sendDTMFDigit(iui.getID(), digit);
   } catch (Exception e) {
     Log.error("sendDTMFDigit", e);
   }
 }
 /**
  * Handle a Mute request
  *
  * @param iui the InterlocutorUI
  * @param mic true to place on mute.
  */
 public void handleMute(InterlocutorUI iui, boolean mic) {
   try {
     AudioMediaSession audioMediaSession = iui.getCall().getAudioMediaSession();
     if (audioMediaSession != null) audioMediaSession.setTrasmit(mic);
   } catch (Exception e) {
     Log.error("handleHold", e);
   }
 }