Loading ccsrc/Protocols/Diameter/diameter_layer.cc +5 −112 Original line number Original line Diff line number Diff line #include "LibSip_Interface.hh" #include "LibDiameter_Interface.hh" #include "LibSip_SIPTypesAndValues.hh" #include "LibDiameter_TypesAndValues.hh" #include "diameter_layer_factory.hh" #include "diameter_layer_factory.hh" Loading @@ -13,105 +13,15 @@ diameter_layer::diameter_layer(const std::string & p_type, const std::string & p params::convert(_params, p_param); params::convert(_params, p_param); } } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::REGISTER__Request& p_diameter_message, params& p_param) { void diameter_layer::sendMsg(const LibDiameter__TypesAndValues::DIAMETER__MSG& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage // Encode DiameterMessage OCTETSTRING data; OCTETSTRING data; _codec_register.encode(p_diameter_message, data); _codec_register.encode(p_diameter_message, data); send_data(data, _params); send_data(data, _params); } } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::INVITE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_invite.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::ACK__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_ack.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::SUBSCRIBE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_subscribe.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::MESSAGE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_message.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::OPTIONS__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_options.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::BYE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_bye.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::CANCEL__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_cancel.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::NOTIFY__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_notify.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::INFO__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_info.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::Response& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_response.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::send_data(OCTETSTRING& data, params& p_params) { void diameter_layer::send_data(OCTETSTRING& data, params& p_params) { loggers::get_instance().log_msg(">>> diameter_layer::send_data: ", data); loggers::get_instance().log_msg(">>> diameter_layer::send_data: ", data); Loading @@ -122,24 +32,7 @@ void diameter_layer::receive_data(OCTETSTRING& data, params& p_params) { { loggers::get_instance().log_msg(">>> diameter_layer::receive_data: ", data); loggers::get_instance().log_msg(">>> diameter_layer::receive_data: ", data); // Decode SIP message // Decode Diameter message if ((data[0].get_octet() == 'S') && (data[1].get_octet() == 'I') && (data[2].get_octet() == 'P')) { // SIP... Assume it is a responce LibDiameter__SIPTypesAndValues::Response diameter_response; if (_codec_response.decode(data, diameter_response) == -1) { loggers::get_instance().warning("diameter_layer::receive_data: Failed to decode response data"); return; } // Pass it to the ports to_all_upper_ports(diameter_response, p_params); } else { // Assume it is a request LibDiameter__SIPTypesAndValues::Request diameter_request; if (_codec_request.decode(data, diameter_request) == -1) { loggers::get_instance().warning("diameter_layer::receive_data: Failed to decode request data"); return; } // Pass it to the ports to_all_upper_ports(diameter_request, p_params); } } } diameter_layer_factory diameter_layer_factory::_f; diameter_layer_factory diameter_layer_factory::_f; Loading ccsrc/Protocols/Diameter/diameter_layer.hh +4 −35 Original line number Original line Diff line number Diff line Loading @@ -18,19 +18,8 @@ namespace LibDiameter__Interface { class DiameterPort; //! Forward declaration of TITAN class class DiameterPort; //! Forward declaration of TITAN class } } namespace LibDiameter__SIPTypesAndValues { namespace LibDiameter__TypesAndValues { class REGISTER__Request; //! Forward declaration of TITAN class class DIAMETER__MSG; //! Forward declaration of TITAN class class INVITE__Request; //! Forward declaration of TITAN class class ACK__Request; //! Forward declaration of TITAN class class SUSCRIBE__Request; //! Forward declaration of TITAN class class MESSAGE__Request; //! Forward declaration of TITAN class class OPTIONS__Request; //! Forward declaration of TITAN class class CANCEL__Request; //! Forward declaration of TITAN class class NOTIFY__Request; //! Forward declaration of TITAN class class INFO__Request; //! Forward declaration of TITAN class class BYE__Request; //! Forward declaration of TITAN class class Resquest; //! Forward declaration of TITAN class class Response; //! Forward declaration of TITAN class } } class OCTETSTRING; //! Forward declaration of TITAN class class OCTETSTRING; //! Forward declaration of TITAN class Loading Loading @@ -62,27 +51,7 @@ public: //! \publicsection */ */ virtual ~diameter_layer() { }; virtual ~diameter_layer() { }; void sendMsg(const LibDiameter__SIPTypesAndValues::REGISTER__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__TypesAndValues::DIAMETER__MSG& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::INVITE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::ACK__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::SUBSCRIBE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::MESSAGE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::OPTIONS__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::BYE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::CANCEL__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::NOTIFY__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::INFO__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::Response& p_diameter_message, params& p_param); /*! /*! * \virtual * \virtual Loading ccsrc/Protocols/Diameter/module.mk +4 −1 Original line number Original line Diff line number Diff line sources := \ sources := \ diameter_layer.cc diameter_layer.cc \ diameter_codec.cc \ avp.cc includes := . includes := . emergency-iop.code-workspace +3 −0 Original line number Original line Diff line number Diff line Loading @@ -8,6 +8,9 @@ }, }, { { "path": "../../tmp/emergency-iop-ttf010" "path": "../../tmp/emergency-iop-ttf010" }, { "path": "../../tmp/vxlte-iop" } } ] ] } } No newline at end of file ttcn/patch_lib_diameter_titan/module.mk +3 −3 Original line number Original line Diff line number Diff line Loading @@ -2,9 +2,9 @@ sources := \ ttcn/LibDiameter_PIXITS.ttcn \ ttcn/LibDiameter_PIXITS.ttcn \ ttcn/LibDiameter_Interface.ttcn \ ttcn/LibDiameter_Interface.ttcn \ ttcn/LibDiameter_Steps.ttcn \ ttcn/LibDiameter_Steps.ttcn \ ttcn/LibDiameter_Templates.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Templates.ttcn \ ttcn/LibDiameter_Types_S6a_AVPs.ttcn3 \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_S6a_AVPs.ttcn \ ttcn/LibDiameter_Types_S9_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_S9_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_EncdecDeclarations.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_EncdecDeclarations.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_RfRo_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_RfRo_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_ShDh_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_ShDh_AVPs.ttcn \ Loading Loading
ccsrc/Protocols/Diameter/diameter_layer.cc +5 −112 Original line number Original line Diff line number Diff line #include "LibSip_Interface.hh" #include "LibDiameter_Interface.hh" #include "LibSip_SIPTypesAndValues.hh" #include "LibDiameter_TypesAndValues.hh" #include "diameter_layer_factory.hh" #include "diameter_layer_factory.hh" Loading @@ -13,105 +13,15 @@ diameter_layer::diameter_layer(const std::string & p_type, const std::string & p params::convert(_params, p_param); params::convert(_params, p_param); } } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::REGISTER__Request& p_diameter_message, params& p_param) { void diameter_layer::sendMsg(const LibDiameter__TypesAndValues::DIAMETER__MSG& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage // Encode DiameterMessage OCTETSTRING data; OCTETSTRING data; _codec_register.encode(p_diameter_message, data); _codec_register.encode(p_diameter_message, data); send_data(data, _params); send_data(data, _params); } } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::INVITE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_invite.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::ACK__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_ack.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::SUBSCRIBE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_subscribe.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::MESSAGE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_message.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::OPTIONS__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_options.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::BYE__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_bye.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::CANCEL__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_cancel.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::NOTIFY__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_notify.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::INFO__Request& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_info.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::sendMsg(const LibDiameter__SIPTypesAndValues::Response& p_diameter_message, params& p_param) { loggers::get_instance().log_msg(">>> diameter_layer::sendMsg: ", p_diameter_message); // Encode SipMessage OCTETSTRING data; _codec_response.encode(p_diameter_message, data); send_data(data, _params); } void diameter_layer::send_data(OCTETSTRING& data, params& p_params) { void diameter_layer::send_data(OCTETSTRING& data, params& p_params) { loggers::get_instance().log_msg(">>> diameter_layer::send_data: ", data); loggers::get_instance().log_msg(">>> diameter_layer::send_data: ", data); Loading @@ -122,24 +32,7 @@ void diameter_layer::receive_data(OCTETSTRING& data, params& p_params) { { loggers::get_instance().log_msg(">>> diameter_layer::receive_data: ", data); loggers::get_instance().log_msg(">>> diameter_layer::receive_data: ", data); // Decode SIP message // Decode Diameter message if ((data[0].get_octet() == 'S') && (data[1].get_octet() == 'I') && (data[2].get_octet() == 'P')) { // SIP... Assume it is a responce LibDiameter__SIPTypesAndValues::Response diameter_response; if (_codec_response.decode(data, diameter_response) == -1) { loggers::get_instance().warning("diameter_layer::receive_data: Failed to decode response data"); return; } // Pass it to the ports to_all_upper_ports(diameter_response, p_params); } else { // Assume it is a request LibDiameter__SIPTypesAndValues::Request diameter_request; if (_codec_request.decode(data, diameter_request) == -1) { loggers::get_instance().warning("diameter_layer::receive_data: Failed to decode request data"); return; } // Pass it to the ports to_all_upper_ports(diameter_request, p_params); } } } diameter_layer_factory diameter_layer_factory::_f; diameter_layer_factory diameter_layer_factory::_f; Loading
ccsrc/Protocols/Diameter/diameter_layer.hh +4 −35 Original line number Original line Diff line number Diff line Loading @@ -18,19 +18,8 @@ namespace LibDiameter__Interface { class DiameterPort; //! Forward declaration of TITAN class class DiameterPort; //! Forward declaration of TITAN class } } namespace LibDiameter__SIPTypesAndValues { namespace LibDiameter__TypesAndValues { class REGISTER__Request; //! Forward declaration of TITAN class class DIAMETER__MSG; //! Forward declaration of TITAN class class INVITE__Request; //! Forward declaration of TITAN class class ACK__Request; //! Forward declaration of TITAN class class SUSCRIBE__Request; //! Forward declaration of TITAN class class MESSAGE__Request; //! Forward declaration of TITAN class class OPTIONS__Request; //! Forward declaration of TITAN class class CANCEL__Request; //! Forward declaration of TITAN class class NOTIFY__Request; //! Forward declaration of TITAN class class INFO__Request; //! Forward declaration of TITAN class class BYE__Request; //! Forward declaration of TITAN class class Resquest; //! Forward declaration of TITAN class class Response; //! Forward declaration of TITAN class } } class OCTETSTRING; //! Forward declaration of TITAN class class OCTETSTRING; //! Forward declaration of TITAN class Loading Loading @@ -62,27 +51,7 @@ public: //! \publicsection */ */ virtual ~diameter_layer() { }; virtual ~diameter_layer() { }; void sendMsg(const LibDiameter__SIPTypesAndValues::REGISTER__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__TypesAndValues::DIAMETER__MSG& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::INVITE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::ACK__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::SUBSCRIBE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::MESSAGE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::OPTIONS__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::BYE__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::CANCEL__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::NOTIFY__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::INFO__Request& p_diameter_message, params& p_param); void sendMsg(const LibDiameter__SIPTypesAndValues::Response& p_diameter_message, params& p_param); /*! /*! * \virtual * \virtual Loading
ccsrc/Protocols/Diameter/module.mk +4 −1 Original line number Original line Diff line number Diff line sources := \ sources := \ diameter_layer.cc diameter_layer.cc \ diameter_codec.cc \ avp.cc includes := . includes := .
emergency-iop.code-workspace +3 −0 Original line number Original line Diff line number Diff line Loading @@ -8,6 +8,9 @@ }, }, { { "path": "../../tmp/emergency-iop-ttf010" "path": "../../tmp/emergency-iop-ttf010" }, { "path": "../../tmp/vxlte-iop" } } ] ] } } No newline at end of file
ttcn/patch_lib_diameter_titan/module.mk +3 −3 Original line number Original line Diff line number Diff line Loading @@ -2,9 +2,9 @@ sources := \ ttcn/LibDiameter_PIXITS.ttcn \ ttcn/LibDiameter_PIXITS.ttcn \ ttcn/LibDiameter_Interface.ttcn \ ttcn/LibDiameter_Interface.ttcn \ ttcn/LibDiameter_Steps.ttcn \ ttcn/LibDiameter_Steps.ttcn \ ttcn/LibDiameter_Templates.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Templates.ttcn \ ttcn/LibDiameter_Types_S6a_AVPs.ttcn3 \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_S6a_AVPs.ttcn \ ttcn/LibDiameter_Types_S9_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_S9_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_EncdecDeclarations.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_EncdecDeclarations.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_RfRo_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_RfRo_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_ShDh_AVPs.ttcn \ ../patch_lib_diameter_titan/ttcn/LibDiameter_Types_ShDh_AVPs.ttcn \ Loading