Loading ccsrc/Protocols/Sip/sip_codec_headers.cc +0 −5 Original line number Diff line number Diff line Loading @@ -2363,11 +2363,6 @@ void sip_codec_headers::decode_via_header(const osip_message_t* p_sip_message, L do { loggers::get_instance().log("sip_codec_headers::decode_via_header: Processing item #%d", i); LibSip__SIPTypesAndValues::ViaBody v; /*Buggy v.sentProtocol() = LibSip__SIPTypesAndValues::SentProtocol( CHARSTRING(::via_get_protocol(sip_via)), CHARSTRING(::via_get_version(sip_via)), CHARSTRING(::via_get_comment(sip_via)) );*/ v.sentProtocol() = LibSip__SIPTypesAndValues::SentProtocol( CHARSTRING("SIP"), CHARSTRING(::via_get_version(sip_via)), Loading ccsrc/Protocols/Sip/sip_codec_message_body.cc +26 −1 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ int sip_codec_message_body::encode_message_body(const LibSip__MessageBodyTypes:: sdp_message_free(sdp_body); } } else if (p_message_body.ischosen(LibSip__MessageBodyTypes::MessageBody::ALT_mimeMessageBody)) { ::osip_message_set_mime_version(p_sip_message, "2.0"); const LibSip__MessageBodyTypes::MIME__Message& mime = p_message_body.mimeMessageBody(); const LibSip__MessageBodyTypes::MimeEncapsulatedList& l = mime.mimeEncapsulatedList(); int pos = 0; Loading @@ -90,11 +91,23 @@ int sip_codec_message_body::encode_message_body(const LibSip__MessageBodyTypes:: ::sdp_message_to_str(sdp_body, &buff); if (buff != nullptr) { loggers::get_instance().log("sip_codec_message_body::encode_message_body: sdp encoded value: %s", buff); loggers::get_instance().log("sip_codec_message_body::encode_message_body: body list size: %d", ::osip_list_size(&p_sip_message->bodies)); if (::osip_message_set_body(p_sip_message, buff, strlen(buff)) != 0) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to encode SDP message"); osip_free(buff); sdp_message_free(sdp_body); return -1; } loggers::get_instance().log("sip_codec_message_body::encode_message_body: new body list size: %d", ::osip_list_size(&p_sip_message->bodies)); osip_free(buff); sdp_message_free(sdp_body); // Retrive the new created body and add content type osip_body_t* body = nullptr; if (::osip_message_get_body(p_sip_message, ::osip_list_size(&p_sip_message->bodies) - 1, &body) != ::osip_list_size(&p_sip_message->bodies) - 1) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to set XML body content-type"); return -1; } ::osip_body_set_contenttype(body, "application/sdp"); } } else if (ps.ischosen(LibSip__MessageBodyTypes::MIME__Encapsulated__Parts::ALT_xmlBody)) { const LibSip__XMLTypes::XmlBody& xml = ps.xmlBody(); Loading @@ -104,10 +117,22 @@ int sip_codec_message_body::encode_message_body(const LibSip__MessageBodyTypes:: return -1; } loggers::get_instance().log("sip_codec_message_body::encode_message_body: xml encoded value: %s", body->body); loggers::get_instance().log("sip_codec_message_body::encode_message_body: body list size: %d", ::osip_list_size(&p_sip_message->bodies)); if (::osip_message_set_body(p_sip_message, body->body, body->length) != 0) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to encode SDP message"); loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to encode XML message"); osip_body_free(body); return -1; } loggers::get_instance().log("sip_codec_message_body::encode_message_body: new body list size: %d", ::osip_list_size(&p_sip_message->bodies)); osip_body_free(body); // Retrive the new created body and add content type body = nullptr; loggers::get_instance().log("sip_codec_message_body::encode_message_body: get item #%d", ::osip_list_size(&p_sip_message->bodies) - 1); if (::osip_message_get_body(p_sip_message, ::osip_list_size(&p_sip_message->bodies) - 1, &body) != ::osip_list_size(&p_sip_message->bodies) - 1) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to set XML body content-type"); return -1; } ::osip_body_set_contenttype(body, "application/resource-lists+xml"); } else if (ps.ischosen(LibSip__MessageBodyTypes::MIME__Encapsulated__Parts::ALT_msdBody)) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Unsupported decoding of ALT_msdBody"); } else { Loading ttcn/TestCodec/TestCodec_Invite.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -1560,11 +1560,11 @@ module TestCodec_Invite { } v_enc_msg := bit2oct(encvalue(v_decoded_invite)); log(match(v_enc_msg, bit2oct(v_enc_message))); /*if (match(v_enc_msg, bit2oct(v_enc_message))) { if (match(v_enc_msg, bit2oct(v_enc_message))) { setverdict(pass, "Encoding match"); } else { setverdict(fail, "Encoding mismatch"); }*/ } } else { setverdict(fail, "Decode failure"); } Loading Loading
ccsrc/Protocols/Sip/sip_codec_headers.cc +0 −5 Original line number Diff line number Diff line Loading @@ -2363,11 +2363,6 @@ void sip_codec_headers::decode_via_header(const osip_message_t* p_sip_message, L do { loggers::get_instance().log("sip_codec_headers::decode_via_header: Processing item #%d", i); LibSip__SIPTypesAndValues::ViaBody v; /*Buggy v.sentProtocol() = LibSip__SIPTypesAndValues::SentProtocol( CHARSTRING(::via_get_protocol(sip_via)), CHARSTRING(::via_get_version(sip_via)), CHARSTRING(::via_get_comment(sip_via)) );*/ v.sentProtocol() = LibSip__SIPTypesAndValues::SentProtocol( CHARSTRING("SIP"), CHARSTRING(::via_get_version(sip_via)), Loading
ccsrc/Protocols/Sip/sip_codec_message_body.cc +26 −1 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ int sip_codec_message_body::encode_message_body(const LibSip__MessageBodyTypes:: sdp_message_free(sdp_body); } } else if (p_message_body.ischosen(LibSip__MessageBodyTypes::MessageBody::ALT_mimeMessageBody)) { ::osip_message_set_mime_version(p_sip_message, "2.0"); const LibSip__MessageBodyTypes::MIME__Message& mime = p_message_body.mimeMessageBody(); const LibSip__MessageBodyTypes::MimeEncapsulatedList& l = mime.mimeEncapsulatedList(); int pos = 0; Loading @@ -90,11 +91,23 @@ int sip_codec_message_body::encode_message_body(const LibSip__MessageBodyTypes:: ::sdp_message_to_str(sdp_body, &buff); if (buff != nullptr) { loggers::get_instance().log("sip_codec_message_body::encode_message_body: sdp encoded value: %s", buff); loggers::get_instance().log("sip_codec_message_body::encode_message_body: body list size: %d", ::osip_list_size(&p_sip_message->bodies)); if (::osip_message_set_body(p_sip_message, buff, strlen(buff)) != 0) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to encode SDP message"); osip_free(buff); sdp_message_free(sdp_body); return -1; } loggers::get_instance().log("sip_codec_message_body::encode_message_body: new body list size: %d", ::osip_list_size(&p_sip_message->bodies)); osip_free(buff); sdp_message_free(sdp_body); // Retrive the new created body and add content type osip_body_t* body = nullptr; if (::osip_message_get_body(p_sip_message, ::osip_list_size(&p_sip_message->bodies) - 1, &body) != ::osip_list_size(&p_sip_message->bodies) - 1) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to set XML body content-type"); return -1; } ::osip_body_set_contenttype(body, "application/sdp"); } } else if (ps.ischosen(LibSip__MessageBodyTypes::MIME__Encapsulated__Parts::ALT_xmlBody)) { const LibSip__XMLTypes::XmlBody& xml = ps.xmlBody(); Loading @@ -104,10 +117,22 @@ int sip_codec_message_body::encode_message_body(const LibSip__MessageBodyTypes:: return -1; } loggers::get_instance().log("sip_codec_message_body::encode_message_body: xml encoded value: %s", body->body); loggers::get_instance().log("sip_codec_message_body::encode_message_body: body list size: %d", ::osip_list_size(&p_sip_message->bodies)); if (::osip_message_set_body(p_sip_message, body->body, body->length) != 0) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to encode SDP message"); loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to encode XML message"); osip_body_free(body); return -1; } loggers::get_instance().log("sip_codec_message_body::encode_message_body: new body list size: %d", ::osip_list_size(&p_sip_message->bodies)); osip_body_free(body); // Retrive the new created body and add content type body = nullptr; loggers::get_instance().log("sip_codec_message_body::encode_message_body: get item #%d", ::osip_list_size(&p_sip_message->bodies) - 1); if (::osip_message_get_body(p_sip_message, ::osip_list_size(&p_sip_message->bodies) - 1, &body) != ::osip_list_size(&p_sip_message->bodies) - 1) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Failed to set XML body content-type"); return -1; } ::osip_body_set_contenttype(body, "application/resource-lists+xml"); } else if (ps.ischosen(LibSip__MessageBodyTypes::MIME__Encapsulated__Parts::ALT_msdBody)) { loggers::get_instance().warning("sip_codec_message_body::encode_message_body: Unsupported decoding of ALT_msdBody"); } else { Loading
ttcn/TestCodec/TestCodec_Invite.ttcn +2 −2 Original line number Diff line number Diff line Loading @@ -1560,11 +1560,11 @@ module TestCodec_Invite { } v_enc_msg := bit2oct(encvalue(v_decoded_invite)); log(match(v_enc_msg, bit2oct(v_enc_message))); /*if (match(v_enc_msg, bit2oct(v_enc_message))) { if (match(v_enc_msg, bit2oct(v_enc_message))) { setverdict(pass, "Encoding match"); } else { setverdict(fail, "Encoding mismatch"); }*/ } } else { setverdict(fail, "Decode failure"); } Loading