Commit 65affd1f authored by Yann Garcia's avatar Yann Garcia
Browse files

Bug fixed in params

parent 95393588
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -31,9 +31,9 @@ const std::string& params::device_mode = std::string("device_mode");

const std::string& params::server = std::string("server");
const std::string& params::port = std::string("port");
const std::string& params::use_ssl = std::string("use_ssl");
const std::string& params::server_mode = std::string("server_mode");
const std::string& params::local_port = std::string("local_port");
const std::string& params::use_ssl = std::string("use_ssl");

const std::string& params::method = std::string("method");
const std::string& params::uri = std::string("uri");
+35 −7
Original line number Diff line number Diff line
@@ -334,21 +334,49 @@ int sip_codec_request::encode_request_message_body(const LibSip__MessageBodyType
  loggers::get_instance().log("sip_codec_request::encode_message_body: content_length= %s", content_length->value);
  if (p_message_body.ischosen(LibSip__MessageBodyTypes::MessageBody::ALT_sdpMessageBody)) {
    const LibSip__SDPTypes::SDP__Message& sdp = p_message_body.sdpMessageBody();
    loggers::get_instance().log_msg("sip_codec_request::encode_request_message_body: sdp: ", sdp);
    
    sdp_message_t* sdp_body;
    ::sdp_message_init(&sdp_body);
    
    INTEGER version = sdp.protocol__version();
    ::sdp_message_v_version_set(sdp_body, (char*)std::to_string(static_cast<const int>(version)).c_str());
    ::sdp_message_v_version_set(sdp_body, (char*)::strdup(std::to_string(static_cast<const int>(version)).c_str()));
    LibSip__SDPTypes::SDP__Origin origin = sdp.origin();
    loggers::get_instance().log_msg("sip_codec_request::encode_request_message_body: origin: ", origin);
    ::sdp_message_o_origin_set(
                               sdp_body,
                               (char*)static_cast<const char*>(origin.user__name()),
                               (char*)static_cast<const char*>(origin.session__id()),
                               (char*)static_cast<const char*>(origin.session__version()),
                               (char*)static_cast<const char*>(origin.net__type()),
                               (char*)static_cast<const char*>(origin.addr__type()),
                               (char*)static_cast<const char*>(origin.addr())
                               (char*)::strdup(static_cast<const char*>(origin.user__name())),
                               (char*)::strdup(static_cast<const char*>(origin.session__id())),
                               (char*)::strdup(static_cast<const char*>(origin.session__version())),
                               (char*)::strdup(static_cast<const char*>(origin.net__type())),
                               (char*)::strdup(static_cast<const char*>(origin.addr__type())),
                               (char*)::strdup(static_cast<const char*>(origin.addr()))
                               );
    ::sdp_message_s_name_set(sdp_body, (char*)::strdup(static_cast<const char*>(sdp.session__name())));
    loggers::get_instance().log_msg("sip_codec_request::encode_request_message_body: times: ", sdp.times());
    for (int i = 0; i < sdp.times().lengthof(); i++) {
      const LibSip__SDPTypes::SDP__time& time = sdp.times()[i];
      loggers::get_instance().log_msg("sip_codec_request::encode_request_message_body: time: ", time);
      ::sdp_message_t_time_descr_add(sdp_body, (char*)::strdup(static_cast<const char*>(time.time__field().start__time())), (char*)::strdup(static_cast<const char*>(time.time__field().stop__time())));
      if (time.time__repeat().is_present()) {
        const LibSip__SDPTypes::SDP__repeat__list& l = static_cast<const OPTIONAL<LibSip__SDPTypes::SDP__repeat__list>&>(*time.time__repeat().get_opt_value());
        loggers::get_instance().log_msg("sip_codec_request::encode_request_message_body: l: ", l);
        for (int j = 0; j < l.lengthof(); j++) {
          const LibSip__SDPTypes::SDP__repeat& r = l[j];
          // TODO            r.repeat__interval();
          // TODO            r.active();
          for (int k = 0; k < r.offsets().lengthof(); k++) {
            const LibSip__SDPTypes::SDP__typed__time& s = r.offsets()[k];
            // TODO              ::sdp_message_r_repeat_add(sdp_body, k, char *value);
          }
          // TODO        ::sdp_message_r_repeat_add(sdp_body, int pos_time_descr, char *value)
        } // End of 'for' statement
      }
    } // End of 'for' statement
    
    // TODO To be continued
    
    loggers::get_instance().log("sip_codec_request::encode_message_body: SDP decoded");
    
    char* buff = nullptr;
    ::sdp_message_to_str(sdp_body, &buff);