Loading ccsrc/Ports/LibSip/SipPort.cc +12 −0 Original line number Diff line number Diff line Loading @@ -86,5 +86,17 @@ namespace LibSip__Interface { } // End of user_stop method void SipPort::outgoing_send(const LibSip__SIPTypesAndValues::INVITE__Request& send_par, const Address4SIP *destination_address) { loggers::get_instance().log_msg(">>> SipPort::outgoing_send: ", send_par); loggers::get_instance().log(">>> SipPort::outgoing_send: %s", destination_address); float duration; loggers::get_instance().set_start_time(_time_key); params params; static_cast<sip_layer*>(_layer)->sendMsg(send_par, params); loggers::get_instance().set_stop_time(_time_key, duration); } // End of outgoing_send } ccsrc/Ports/LibSip/SipPort.hh +1 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ namespace LibSip__Interface { protected: virtual void outgoing_send(const LibSip__SIPTypesAndValues::Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::REGISTER__Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::INVITE__Request& send_par, const Address4SIP *destination_address) { }; void outgoing_send(const LibSip__SIPTypesAndValues::INVITE__Request& send_par, const Address4SIP *destination_address); virtual void outgoing_send(const LibSip__SIPTypesAndValues::OPTIONS__Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::BYE__Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::CANCEL__Request& send_par, const Address4SIP *destination_address) { }; Loading ccsrc/Protocols/Sip/sip_codec_request.cc +112 −50 Original line number Diff line number Diff line Loading @@ -50,8 +50,6 @@ int sip_codec_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValue return -1; } TRACE_INITIALIZE(TRACE_LEVEL7, NULL); osip_message_t* sip_message; ::parser_init(); int result = ::osip_message_init(&sip_message); Loading @@ -70,7 +68,7 @@ int sip_codec_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValue decode_request_line(sip_message, msg); // Fill Headers decode_headers(sip_message, msg); decode_request_headers(sip_message, msg); // Fill MessageBody decode_message_body(sip_message, msg); Loading Loading @@ -173,7 +171,10 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M ::osip_via_free(via_header); osip_free(hvalue); // Decode Optional fields // Encode Optional fields loggers::get_instance().log("sip_codec_request::encode_request_headers: Encode Optional fields"); // Authorization if (p_msg_header.authorization().is_present()) { osip_authorization_t* authorization_header = nullptr; if (encode_authorization_header(p_msg_header.authorization(), &authorization_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Authorization header"); Loading @@ -185,7 +186,10 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M loggers::get_instance().log("sip_codec_request::encode_request_headers: SIP Authorization: %p - %d", p_sip_message->authorizations, result); ::osip_authorization_free(authorization_header); osip_free(hvalue); } // CallId if (p_msg_header.callId().is_present()) { osip_call_id_t* call_id_header; if (encode_call_id_header(p_msg_header.callId(), &call_id_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Call_Id header"); Loading @@ -193,11 +197,14 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M } ::osip_call_id_to_str(call_id_header, &hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: Call_Id:%s", hvalue); result = ::osip_message_set_call_id(p_sip_message, hvalue); int result = ::osip_message_set_call_id(p_sip_message, hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: SIP Call_Id: %p - %d", p_sip_message->call_id, result); ::osip_call_id_free(call_id_header); osip_free(hvalue); } // ContactHeader if (p_msg_header.contact().is_present()) { osip_contact_t* contact_header; if (encode_contact_header(p_msg_header.contact(), &contact_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Contact header"); Loading @@ -205,11 +212,13 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M } ::osip_contact_to_str(contact_header, &hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: Contact: %s", hvalue); result = ::osip_message_set_contact(p_sip_message, hvalue); int result = ::osip_message_set_contact(p_sip_message, hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: SIP Contact: %p - %d", p_sip_message->contacts, result); ::osip_contact_free(contact_header); osip_free(hvalue); } // CSeq osip_cseq_t* cseq_header = nullptr; if (encode_c_seq_header(p_msg_header.cSeq(), &cseq_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode CSeq header"); Loading @@ -222,18 +231,34 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M osip_free(hvalue); // MaxForwards if (p_msg_header.maxForwards().is_present()) { if (encode_max_forwards_header(p_msg_header.maxForwards(), &p_sip_message) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode MaxForwards header"); return -1; } } // Supported if (p_msg_header.supported().is_present()) { if (encode_supported_header(p_msg_header.supported(), &p_sip_message) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Supported header"); return -1; } } // PAccessNetworkInfo if (p_msg_header.pAccessNetworkInfo().is_present()) { if (encode_p_access_network_info_header(p_msg_header.pAccessNetworkInfo(), &p_sip_message) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode PAccessNetworkInfo header"); return -1; } } // TODO continue int i = 0; osip_header_t* h_; while (::osip_message_get_header(p_sip_message, i++, &h_) == 0) { loggers::get_instance().warning("sip_codec_request::encode_request_headers (1): '%s'/'%s' was not processed", h_->hname, h_->hvalue); } // End of 'while' statement return 0; } // End of method encode_request_headers Loading Loading @@ -611,6 +636,37 @@ int sip_codec_request::encode_supported_header(const OPTIONAL<LibSip__SIPTypesA return 0; } int sip_codec_request::encode_p_access_network_info_header(const OPTIONAL<LibSip__SIPTypesAndValues::PAccessNetworkInfo>& p_access_network_info, osip_message_t** p_sip_message) { loggers::get_instance().log(">>> sip_codec_request::encode_p_access_network_info_header"); if (!p_access_network_info.is_present()) { return 0; } // pAccessNetworkInfo := { fieldName := P_ACCESS_NETWORK_INFO_E (65), accessType := "IEEE-802.11a", genericParams := { { id := "extension-access-info", paramValue := { tokenOrHost := "192.1.1.20" } } } } // Encode AccessType // TODO Try to get the P-Access-Network-Info header /*osip_header_t* p_access_network_info_; ::osip_header_init(&p_access_network_info_); osip_header_set_name (p_access_network_info_, "P-Access-Network-Info"; // Encode generic params const LibSip__SIPTypesAndValues::PAccessNetworkInfo& pa = static_cast<const LibSip__SIPTypesAndValues::PAccessNetworkInfo&>(*p_access_network_info.get_opt_value()); if (pa.genericParams().is_present()) { osip__t* params; ::osip_list_init(¶ms); encode_semi_colon_params(static_cast<const LibSip__Common::SemicolonParam__List>(pa.genericParams()), ¶ms); osip_header_set_value(p_access_network_info_, value); //p_access_network_info_->hvalue = } osip_message_set_header(p_sip_message, "P-Access-Network-Info", p_access_network_info_); ::osip_header_free(p_access_network_info_);*/ return 0; } int sip_codec_request::encode_to_header(const LibSip__SIPTypesAndValues::To& p_to, osip_to_t** p_to_header) { loggers::get_instance().log(">>> sip_codec_request::encode_to_header"); Loading Loading @@ -701,9 +757,9 @@ int sip_codec_request::encode_via_header(const LibSip__SIPTypesAndValues::Via& p void sip_codec_request::decode_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request) void sip_codec_request::decode_request_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request) { loggers::get_instance().log(">>> sip_codec_request::decode_headers"); loggers::get_instance().log(">>> sip_codec_request::decode_request_headers"); LibSip__SIPTypesAndValues::MessageHeader headers; // Decode mandatory fields Loading Loading @@ -868,7 +924,13 @@ void sip_codec_request::decode_headers(const osip_message_t* p_sip_message, LibS headers.minExpires().set_to_omit(); headers.minSE().set_to_omit(); headers.organization().set_to_omit(); // TODO headers.pAccessNetworkInfo().set_to_omit(); headers.pAssertedID().set_to_omit(); headers.pAssertedService().set_to_omit(); headers.pAssociatedURI().set_to_omit(); Loading Loading @@ -939,11 +1001,11 @@ void sip_codec_request::decode_headers(const osip_message_t* p_sip_message, LibS int i = 0; osip_header_t* h_; while (::osip_message_get_header(p_sip_message, i++, &h_) == 0) { loggers::get_instance().warning("sip_codec_request::decode_header (1): '%s'/'%s' was not processed", h_->hname, h_->hvalue); loggers::get_instance().warning("sip_codec_request::decode_request_headers: '%s'/'%s' was not processed", h_->hname, h_->hvalue); } // End of 'while' statement loggers::get_instance().log_msg("<<< sip_codec_request::decode_headers: ", p_request); } // End of method decode_headers loggers::get_instance().log_msg("<<< sip_codec_request::decode_request_headers: ", p_request); } // End of method decode_request_headers void sip_codec_request::decode_message_body(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request) { Loading ccsrc/Protocols/Sip/sip_codec_request.hh +6 −4 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ namespace LibSip__SIPTypesAndValues { class ContentType; class CSeq; class PreGenRecordOf; class PAccessNetworkInfo; // class OptionTag__List; } Loading Loading @@ -65,6 +66,7 @@ private: //! \todo Move this section into a sip_codec_helper class, need to deco int encode_supported_header(const OPTIONAL<LibSip__SIPTypesAndValues::Supported>& p_supported, osip_message_t** p_sip_message); int encode_to_header(const LibSip__SIPTypesAndValues::To& p_to, osip_to_t** p_to_header); int encode_via_header(const LibSip__SIPTypesAndValues::Via& p_via, osip_via_t** p_via_header); int encode_p_access_network_info_header(const OPTIONAL<LibSip__SIPTypesAndValues::PAccessNetworkInfo>& p_access_network_info, osip_message_t** p_sip_message); int encode_sip_url(const LibSip__SIPTypesAndValues::SipUrl& p_sip_uri, osip_uri_t** p_uri); Loading @@ -73,7 +75,7 @@ private: //! \todo Move this section into a sip_codec_helper class, need to deco void decode_payload(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request); void decode_uri(LibSip__SIPTypesAndValues::SipUrl& p_sip_url, const osip_uri_t* p_uri); void decode_request_line(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& msg); void decode_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& msg); void decode_request_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& msg); // TODO Replace const osip_message_t* p_sip_message by header specific type using osip_parser.h/macros such as osip_message_get_accept/osip_accept_t void decode_accept_header(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Accept& p_accept_header); Loading ccsrc/Protocols/Sip/sip_codec_response.cc 0 → 100644 +1823 −0 File added.Preview size limit exceeded, changes collapsed. Show changes Loading
ccsrc/Ports/LibSip/SipPort.cc +12 −0 Original line number Diff line number Diff line Loading @@ -86,5 +86,17 @@ namespace LibSip__Interface { } // End of user_stop method void SipPort::outgoing_send(const LibSip__SIPTypesAndValues::INVITE__Request& send_par, const Address4SIP *destination_address) { loggers::get_instance().log_msg(">>> SipPort::outgoing_send: ", send_par); loggers::get_instance().log(">>> SipPort::outgoing_send: %s", destination_address); float duration; loggers::get_instance().set_start_time(_time_key); params params; static_cast<sip_layer*>(_layer)->sendMsg(send_par, params); loggers::get_instance().set_stop_time(_time_key, duration); } // End of outgoing_send }
ccsrc/Ports/LibSip/SipPort.hh +1 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ namespace LibSip__Interface { protected: virtual void outgoing_send(const LibSip__SIPTypesAndValues::Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::REGISTER__Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::INVITE__Request& send_par, const Address4SIP *destination_address) { }; void outgoing_send(const LibSip__SIPTypesAndValues::INVITE__Request& send_par, const Address4SIP *destination_address); virtual void outgoing_send(const LibSip__SIPTypesAndValues::OPTIONS__Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::BYE__Request& send_par, const Address4SIP *destination_address) { }; virtual void outgoing_send(const LibSip__SIPTypesAndValues::CANCEL__Request& send_par, const Address4SIP *destination_address) { }; Loading
ccsrc/Protocols/Sip/sip_codec_request.cc +112 −50 Original line number Diff line number Diff line Loading @@ -50,8 +50,6 @@ int sip_codec_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValue return -1; } TRACE_INITIALIZE(TRACE_LEVEL7, NULL); osip_message_t* sip_message; ::parser_init(); int result = ::osip_message_init(&sip_message); Loading @@ -70,7 +68,7 @@ int sip_codec_request::decode (const OCTETSTRING& data, LibSip__SIPTypesAndValue decode_request_line(sip_message, msg); // Fill Headers decode_headers(sip_message, msg); decode_request_headers(sip_message, msg); // Fill MessageBody decode_message_body(sip_message, msg); Loading Loading @@ -173,7 +171,10 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M ::osip_via_free(via_header); osip_free(hvalue); // Decode Optional fields // Encode Optional fields loggers::get_instance().log("sip_codec_request::encode_request_headers: Encode Optional fields"); // Authorization if (p_msg_header.authorization().is_present()) { osip_authorization_t* authorization_header = nullptr; if (encode_authorization_header(p_msg_header.authorization(), &authorization_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Authorization header"); Loading @@ -185,7 +186,10 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M loggers::get_instance().log("sip_codec_request::encode_request_headers: SIP Authorization: %p - %d", p_sip_message->authorizations, result); ::osip_authorization_free(authorization_header); osip_free(hvalue); } // CallId if (p_msg_header.callId().is_present()) { osip_call_id_t* call_id_header; if (encode_call_id_header(p_msg_header.callId(), &call_id_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Call_Id header"); Loading @@ -193,11 +197,14 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M } ::osip_call_id_to_str(call_id_header, &hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: Call_Id:%s", hvalue); result = ::osip_message_set_call_id(p_sip_message, hvalue); int result = ::osip_message_set_call_id(p_sip_message, hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: SIP Call_Id: %p - %d", p_sip_message->call_id, result); ::osip_call_id_free(call_id_header); osip_free(hvalue); } // ContactHeader if (p_msg_header.contact().is_present()) { osip_contact_t* contact_header; if (encode_contact_header(p_msg_header.contact(), &contact_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Contact header"); Loading @@ -205,11 +212,13 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M } ::osip_contact_to_str(contact_header, &hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: Contact: %s", hvalue); result = ::osip_message_set_contact(p_sip_message, hvalue); int result = ::osip_message_set_contact(p_sip_message, hvalue); loggers::get_instance().log("sip_codec_request::encode_request_headers: SIP Contact: %p - %d", p_sip_message->contacts, result); ::osip_contact_free(contact_header); osip_free(hvalue); } // CSeq osip_cseq_t* cseq_header = nullptr; if (encode_c_seq_header(p_msg_header.cSeq(), &cseq_header) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode CSeq header"); Loading @@ -222,18 +231,34 @@ int sip_codec_request::encode_request_headers(const LibSip__SIPTypesAndValues::M osip_free(hvalue); // MaxForwards if (p_msg_header.maxForwards().is_present()) { if (encode_max_forwards_header(p_msg_header.maxForwards(), &p_sip_message) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode MaxForwards header"); return -1; } } // Supported if (p_msg_header.supported().is_present()) { if (encode_supported_header(p_msg_header.supported(), &p_sip_message) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode Supported header"); return -1; } } // PAccessNetworkInfo if (p_msg_header.pAccessNetworkInfo().is_present()) { if (encode_p_access_network_info_header(p_msg_header.pAccessNetworkInfo(), &p_sip_message) == -1) { loggers::get_instance().warning("sip_codec_request::encode_request_headers: Faile to encode PAccessNetworkInfo header"); return -1; } } // TODO continue int i = 0; osip_header_t* h_; while (::osip_message_get_header(p_sip_message, i++, &h_) == 0) { loggers::get_instance().warning("sip_codec_request::encode_request_headers (1): '%s'/'%s' was not processed", h_->hname, h_->hvalue); } // End of 'while' statement return 0; } // End of method encode_request_headers Loading Loading @@ -611,6 +636,37 @@ int sip_codec_request::encode_supported_header(const OPTIONAL<LibSip__SIPTypesA return 0; } int sip_codec_request::encode_p_access_network_info_header(const OPTIONAL<LibSip__SIPTypesAndValues::PAccessNetworkInfo>& p_access_network_info, osip_message_t** p_sip_message) { loggers::get_instance().log(">>> sip_codec_request::encode_p_access_network_info_header"); if (!p_access_network_info.is_present()) { return 0; } // pAccessNetworkInfo := { fieldName := P_ACCESS_NETWORK_INFO_E (65), accessType := "IEEE-802.11a", genericParams := { { id := "extension-access-info", paramValue := { tokenOrHost := "192.1.1.20" } } } } // Encode AccessType // TODO Try to get the P-Access-Network-Info header /*osip_header_t* p_access_network_info_; ::osip_header_init(&p_access_network_info_); osip_header_set_name (p_access_network_info_, "P-Access-Network-Info"; // Encode generic params const LibSip__SIPTypesAndValues::PAccessNetworkInfo& pa = static_cast<const LibSip__SIPTypesAndValues::PAccessNetworkInfo&>(*p_access_network_info.get_opt_value()); if (pa.genericParams().is_present()) { osip__t* params; ::osip_list_init(¶ms); encode_semi_colon_params(static_cast<const LibSip__Common::SemicolonParam__List>(pa.genericParams()), ¶ms); osip_header_set_value(p_access_network_info_, value); //p_access_network_info_->hvalue = } osip_message_set_header(p_sip_message, "P-Access-Network-Info", p_access_network_info_); ::osip_header_free(p_access_network_info_);*/ return 0; } int sip_codec_request::encode_to_header(const LibSip__SIPTypesAndValues::To& p_to, osip_to_t** p_to_header) { loggers::get_instance().log(">>> sip_codec_request::encode_to_header"); Loading Loading @@ -701,9 +757,9 @@ int sip_codec_request::encode_via_header(const LibSip__SIPTypesAndValues::Via& p void sip_codec_request::decode_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request) void sip_codec_request::decode_request_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request) { loggers::get_instance().log(">>> sip_codec_request::decode_headers"); loggers::get_instance().log(">>> sip_codec_request::decode_request_headers"); LibSip__SIPTypesAndValues::MessageHeader headers; // Decode mandatory fields Loading Loading @@ -868,7 +924,13 @@ void sip_codec_request::decode_headers(const osip_message_t* p_sip_message, LibS headers.minExpires().set_to_omit(); headers.minSE().set_to_omit(); headers.organization().set_to_omit(); // TODO headers.pAccessNetworkInfo().set_to_omit(); headers.pAssertedID().set_to_omit(); headers.pAssertedService().set_to_omit(); headers.pAssociatedURI().set_to_omit(); Loading Loading @@ -939,11 +1001,11 @@ void sip_codec_request::decode_headers(const osip_message_t* p_sip_message, LibS int i = 0; osip_header_t* h_; while (::osip_message_get_header(p_sip_message, i++, &h_) == 0) { loggers::get_instance().warning("sip_codec_request::decode_header (1): '%s'/'%s' was not processed", h_->hname, h_->hvalue); loggers::get_instance().warning("sip_codec_request::decode_request_headers: '%s'/'%s' was not processed", h_->hname, h_->hvalue); } // End of 'while' statement loggers::get_instance().log_msg("<<< sip_codec_request::decode_headers: ", p_request); } // End of method decode_headers loggers::get_instance().log_msg("<<< sip_codec_request::decode_request_headers: ", p_request); } // End of method decode_request_headers void sip_codec_request::decode_message_body(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request) { Loading
ccsrc/Protocols/Sip/sip_codec_request.hh +6 −4 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ namespace LibSip__SIPTypesAndValues { class ContentType; class CSeq; class PreGenRecordOf; class PAccessNetworkInfo; // class OptionTag__List; } Loading Loading @@ -65,6 +66,7 @@ private: //! \todo Move this section into a sip_codec_helper class, need to deco int encode_supported_header(const OPTIONAL<LibSip__SIPTypesAndValues::Supported>& p_supported, osip_message_t** p_sip_message); int encode_to_header(const LibSip__SIPTypesAndValues::To& p_to, osip_to_t** p_to_header); int encode_via_header(const LibSip__SIPTypesAndValues::Via& p_via, osip_via_t** p_via_header); int encode_p_access_network_info_header(const OPTIONAL<LibSip__SIPTypesAndValues::PAccessNetworkInfo>& p_access_network_info, osip_message_t** p_sip_message); int encode_sip_url(const LibSip__SIPTypesAndValues::SipUrl& p_sip_uri, osip_uri_t** p_uri); Loading @@ -73,7 +75,7 @@ private: //! \todo Move this section into a sip_codec_helper class, need to deco void decode_payload(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& p_request); void decode_uri(LibSip__SIPTypesAndValues::SipUrl& p_sip_url, const osip_uri_t* p_uri); void decode_request_line(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& msg); void decode_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& msg); void decode_request_headers(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Request& msg); // TODO Replace const osip_message_t* p_sip_message by header specific type using osip_parser.h/macros such as osip_message_get_accept/osip_accept_t void decode_accept_header(const osip_message_t* p_sip_message, LibSip__SIPTypesAndValues::Accept& p_accept_header); Loading
ccsrc/Protocols/Sip/sip_codec_response.cc 0 → 100644 +1823 −0 File added.Preview size limit exceeded, changes collapsed. Show changes