Esempio n. 1
0
void
Opal::Sip::EndPoint::setup (std::string setting)
{
  if (setting.empty () || setting == "listen-port")  {
    set_listen_port (settings->get_int ("listen-port"));
  }
  if (setting.empty () || setting == "binding-timeout")  {
    set_nat_binding_delay (settings->get_int ("binding-timeout"));
  }
  if (setting.empty () || setting == "outbound-proxy-host")  {
    set_outbound_proxy (settings->get_string ("outbound-proxy-host"));
  }
  if (setting.empty () || setting == "dtmf-mode")  {
    set_dtmf_mode (settings->get_enum ("dtmf-mode"));
  }
  if (setting.empty () || setting == "forward-host")  {
    set_forward_uri (settings->get_string ("forward-host"));
  }
}
Esempio n. 2
0
void Opal::Sip::CallManager::setup (const std::string & setting)
{
    if (!endpoint.IsReady ()) {
        endpoint.ready.connect (boost::bind (&Opal::Sip::CallManager::setup, this, ""));
        return;
    }

    if (setting.empty () || setting == "instance-id") {
        std::string instance_id = sip_settings->get_string ("instance-id");
        if (!instance_id.empty ())
            sip_endpoint.SetInstanceID (instance_id);
    }

    if (setting.empty () || setting == "listen-port")
        set_listen_port (sip_settings->get_int ("listen-port"));

    if (setting.empty () || setting == "keepalive-interval")  {
        int delay = sip_settings->get_int ("keepalive-interval");
        PTRACE (4, "Opal::Sip::CallManager\tKeepalive interval set to " << delay);
        sip_endpoint.SetKeepAlive (PTimeInterval (0, delay), SIPEndPoint::KeepAliveByOPTION);
    }

    if (setting.empty () || setting == "dtmf-mode")
        set_dtmf_mode (sip_settings->get_enum ("dtmf-mode"));

    /* Setup the various forwarding targets.
     * The no answer delay is defined in the opal-call-manager (our parent).
     */
    if (setting.empty () || setting == "forward-on-no-anwer" || setting == "forward-host")
        sip_endpoint.SetNoAnswerForwardTarget (call_forwarding_settings->get_bool ("forward-on-no-answer") ? sip_settings->get_string ("forward-host") : "");

    if (setting.empty () || setting == "forward-on-busy" || setting == "forward-host")
        sip_endpoint.SetBusyForwardTarget (call_forwarding_settings->get_bool ("forward-on-busy") ? sip_settings->get_string ("forward-host") : "");

    if (setting.empty () || setting == "always-forward" || setting == "forward-host")
        sip_endpoint.SetUnconditionalForwardTarget (call_forwarding_settings->get_bool ("always-forward") ? sip_settings->get_string ("forward-host") : "");

    Opal::CallManager::setup (setting);
}
void Opal::H323::CallManager::setup (const std::string & setting)
{
  if (!endpoint.IsReady ()) {
    endpoint.ready.connect (boost::bind (&Opal::H323::CallManager::setup, this, ""));
    return;
  }

  if (setting.empty () || setting == "listen-port")
    set_listen_port (h323_settings->get_int ("listen-port"));

  if (setting.empty () || setting == "maximum-video-tx-bitrate") {

    // maximum_video_tx_bitrate is the max video bitrate specified by the user
    // add to it 10% (approx.) accounting for audio,
    // and multiply it by 10 as needed by SetInitialBandwidth
    int maximum_video_tx_bitrate = video_codecs_settings->get_int ("maximum-video-tx-bitrate");
    h323_endpoint.SetInitialBandwidth (OpalBandwidth::Tx, maximum_video_tx_bitrate > 0 ? maximum_video_tx_bitrate * 11 : 100000);
    PTRACE (4, "Opal::H323::EndPoint\tSet maximum/initial tx bandwidth to " << maximum_video_tx_bitrate * 11);
  }

  if (setting.empty () || setting == "enable-h245-tunneling") {

    h323_endpoint.DisableH245Tunneling (!h323_settings->get_bool ("enable-h245-tunneling"));
    PTRACE (4, "Opal::H323::EndPoint\tH.245 Tunneling: " << h323_settings->get_bool ("enable-h245-tunneling"));
  }

  if (setting.empty () || setting == "enable-early-h245") {

    h323_endpoint.DisableH245inSetup (!h323_settings->get_bool ("enable-early-h245"));
    PTRACE (4, "Opal::H323::EndPoint\tEarly H.245: " << h323_settings->get_bool ("enable-early-h245"));
  }

  if (setting.empty () || setting == "enable-fast-connect") {

    h323_endpoint.DisableFastStart (!h323_settings->get_bool ("enable-fast-connect"));
    PTRACE (4, "Opal::H323::EndPoint\tFast Connect: " << h323_settings->get_bool ("enable-fast-connect"));
  }

  if (setting.empty () || setting == "dtmf-mode") {

    set_dtmf_mode (h323_settings->get_enum ("dtmf-mode"));
  }


  /* Setup the various forwarding targets.
   * The no answer delay is defined in the opal-call-manager (our parent).
   */
  if (setting.empty () || setting == "forward-on-no-anwer" || setting == "forward-host")
    h323_endpoint.SetNoAnswerForwardTarget (call_forwarding_settings->get_bool ("forward-on-no-answer") ? h323_settings->get_string ("forward-host") : "");

  if (setting.empty () || setting == "forward-on-busy" || setting == "forward-host")
    h323_endpoint.SetBusyForwardTarget (call_forwarding_settings->get_bool ("forward-on-busy") ? h323_settings->get_string ("forward-host") : "");

  if (setting.empty () || setting == "always-forward" || setting == "forward-host")
    h323_endpoint.SetUnconditionalForwardTarget (call_forwarding_settings->get_bool ("always-forward") ? h323_settings->get_string ("forward-host") : "");

  if (setting.empty () || setting == "video-role") {

    /*
       CallManager::VideoOptions options;
       endpoint.get_video_options (options);
       options.extended_video_roles = h323_settings->get_enum ("video-role");
       endpoint.set_video_options (options);
     */
    std::cout << "FIXME" << std::endl;
  }

  if (setting.empty () || setting == "enable-h239") {

    h323_endpoint.SetDefaultH239Control(h323_settings->get_bool ("enable-h239"));
    PTRACE (4, "Opal::H323::EndPoint\tH.239 Control: " << h323_settings->get_bool ("enable-h239"));
  }

  // We do not call the parent setup () method as it is also handled
  // by our Opal::Sip::CallManager
}