Loading ttcn/LibSip_SIPTypesAndValues.ttcn +3 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ module LibSip_SIPTypesAndValues language "TTCN-3:2005"//MRO // SipAts import from LibSip_SDPTypes all; import from LibSip_XMLTypes all; import from LibSip_SMSTypes all; group Constants { Loading Loading @@ -1783,7 +1784,8 @@ group SubTypes{// Subtypes XmlBody xmlBody, // if there is XML body MIME_Message mimeMessageBody, // if there is SDP and encapsulated ISUP part charstring sipfrag, // if content-Type is message/sipfrag (cp. NOTIFY, cp TS124147 A.4.3.1.2) charstring textplain // if content type is text/plain (for testing long messages) charstring textplain, // if content type is text/plain (for testing long messages) SMS sms }; } // end group MessageBodyTypes Loading ttcn/LibSip_SMSTypes.ttcn 0 → 100644 +55 −0 Original line number Diff line number Diff line /** * @author STF 406 * @version $Id: LibSip_SMSTypes.ttcn 488 2010-11-08 10:17:19Z pintar $ * @desc This module provides the SMS type system for SIP tests. */ module LibSip_SMSTypes language "TTCN-3:2009" { group SMSConstants{ // IMS ETSI name MWI application const charstring c_imsEtsiMwiApplication := "application/simple-message-summary"; // msg_status line := "Message-Waiting" const charstring c_messageWaiting := "Message-Waiting"; // msg_summary line := "Voice-Message" const charstring c_voiceMessage := "Voice-Message"; } group SMSTypes{ //TODO add (SMS sms) into type union MessageBody{ in module LibSIPTypesAndValues type record SMS { //Simple_message_summary Msg_status_line msg_status_line, Msg_account msg_account optional, Msg_summary_line_list msg_summary_line_list optional, Opt_msg_headers opt_msg_headers optional } type record Msg_status_line { charstring msg_type, charstring msg_status } type record Msg_account { charstring msg_type_account, charstring account_URI } type set of Msg_summary_line Msg_summary_line_list; type record Msg_summary_line { charstring msg_context_class, charstring msgs, charstring urgent_msgs optional } type set of charstring Opt_msg_headers; //type integer msgcount length(1); //msgs and urgent_msgs can be dividet into subtypes } } /* end module LibSip_XMLTypes */ No newline at end of file ttcn/LibSip_Steps.ttcn +19 −0 Original line number Diff line number Diff line Loading @@ -2949,6 +2949,25 @@ group AwaitingMessage { } } // end of f_awaitingMESSAGE_PassOnTimeout /** * @desc await NOTIFY request */ function f_awaitingNOTIFY(in template NOTIFY_Request p_MSG) runs on SipComponent { var NOTIFY_Request v_MSG; tc_wait.start(PX_SIP_TWAIT); alt { [] SIPP.receive(p_MSG)-> value v_MSG sender vc_sent_label { tc_wait.stop; f_getRouteMapIntoRecordRoute(vc_cSeq, v_MSG); f_setHeadersOnReceiptOfRequest(v_MSG); } } } // end of f_awaitingNOTIFY /** * @desc await NOTIFY request * reply with 200 OK Loading ttcn/LibSip_Templates.ttcn +101 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ module LibSip_Templates import from LibSip_Interface all; import from LibSip_PIXITS all; import from LibSip_XMLTypes all; import from LibSip_SMSTypes all; //LibXMLTypes import from ietf_params_xml_ns_resource_lists language "XSD" all Loading Loading @@ -2708,6 +2709,96 @@ group SDP_Templates { } //* end group SDP_Templates group SMS_Templates { template SMS m_SMS(template Msg_summary_line_list p_summaryLineList, template charstring p_uri) := { msg_status_line := m_msgStatusLine_yes, msg_account := m_msgAccount(p_uri), msg_summary_line_list :=p_summaryLineList, opt_msg_headers := omit } template SMS mw_SMS := { msg_status_line := ?, msg_account := *, msg_summary_line_list := *, opt_msg_headers := * } template SMS mw_SMS_yes := { msg_status_line := mw_msgStatusLine_yes, msg_account := *, msg_summary_line_list := *, opt_msg_headers := * } template SMS mw_SMS_yesUri := { msg_status_line := mw_msgStatusLine_yes, msg_account := mw_msgAccount, msg_summary_line_list := *, opt_msg_headers := * } template SMS mw_SMS_yesVoice := { msg_status_line := mw_msgStatusLine_yes, msg_account := *, msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)}, opt_msg_headers := * } template SMS mw_SMS_yesUriVoice := { msg_status_line := mw_msgStatusLine_yes, msg_account := mw_msgAccount, msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)}, opt_msg_headers := * } template Msg_status_line m_msgStatusLine_yes:= { msg_type := c_messageWaiting, msg_status := "yes" } template Msg_status_line mw_msgStatusLine_yes:= { msg_type := c_messageWaiting, msg_status := "yes" } template Msg_account m_msgAccount(template charstring p_uri) := { msg_type_account := c_messageWaiting, account_URI := p_uri//m_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit) } template Msg_account mw_msgAccount := { msg_type_account := c_messageWaiting, account_URI := ? } template Msg_summary_line m_msgSummaryLine(template charstring p_msgContexClass,template charstring p_msgs,template charstring p_urgent_msgs) := { msg_context_class := p_msgContexClass, msgs := p_msgs, urgent_msgs := p_urgent_msgs } template Msg_summary_line mw_msgSummaryLine(template charstring p_msgContexClass) := { msg_context_class := p_msgContexClass, msgs := ?, urgent_msgs :=* } } //end group Templates_SMS group MessageBodies { template MessageBody m_MBody_SDP(template SDP_Message p_SDP):= Loading @@ -2720,6 +2811,11 @@ group MessageBodies { xmlBody := p_xmlBody }; template MessageBody m_mBody_SMS(template SMS p_SMS):= { sms := p_SMS }; template MessageBody m_MBody_longPlainText:= { textplain := c_longMessageContent_1300Bytes Loading Loading @@ -2758,6 +2854,11 @@ group MessageBodies { xmlBody := p_xmlBody }; template MessageBody mw_mBody_SMS(template SMS p_SMS):= { sms := p_SMS }; template MessageBody mw_MBody_MIMESdpXml(template SDP_Message p_sdp, template XmlBody p_xmlBody):= { mimeMessageBody := {boundary:=?, Loading Loading
ttcn/LibSip_SIPTypesAndValues.ttcn +3 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ module LibSip_SIPTypesAndValues language "TTCN-3:2005"//MRO // SipAts import from LibSip_SDPTypes all; import from LibSip_XMLTypes all; import from LibSip_SMSTypes all; group Constants { Loading Loading @@ -1783,7 +1784,8 @@ group SubTypes{// Subtypes XmlBody xmlBody, // if there is XML body MIME_Message mimeMessageBody, // if there is SDP and encapsulated ISUP part charstring sipfrag, // if content-Type is message/sipfrag (cp. NOTIFY, cp TS124147 A.4.3.1.2) charstring textplain // if content type is text/plain (for testing long messages) charstring textplain, // if content type is text/plain (for testing long messages) SMS sms }; } // end group MessageBodyTypes Loading
ttcn/LibSip_SMSTypes.ttcn 0 → 100644 +55 −0 Original line number Diff line number Diff line /** * @author STF 406 * @version $Id: LibSip_SMSTypes.ttcn 488 2010-11-08 10:17:19Z pintar $ * @desc This module provides the SMS type system for SIP tests. */ module LibSip_SMSTypes language "TTCN-3:2009" { group SMSConstants{ // IMS ETSI name MWI application const charstring c_imsEtsiMwiApplication := "application/simple-message-summary"; // msg_status line := "Message-Waiting" const charstring c_messageWaiting := "Message-Waiting"; // msg_summary line := "Voice-Message" const charstring c_voiceMessage := "Voice-Message"; } group SMSTypes{ //TODO add (SMS sms) into type union MessageBody{ in module LibSIPTypesAndValues type record SMS { //Simple_message_summary Msg_status_line msg_status_line, Msg_account msg_account optional, Msg_summary_line_list msg_summary_line_list optional, Opt_msg_headers opt_msg_headers optional } type record Msg_status_line { charstring msg_type, charstring msg_status } type record Msg_account { charstring msg_type_account, charstring account_URI } type set of Msg_summary_line Msg_summary_line_list; type record Msg_summary_line { charstring msg_context_class, charstring msgs, charstring urgent_msgs optional } type set of charstring Opt_msg_headers; //type integer msgcount length(1); //msgs and urgent_msgs can be dividet into subtypes } } /* end module LibSip_XMLTypes */ No newline at end of file
ttcn/LibSip_Steps.ttcn +19 −0 Original line number Diff line number Diff line Loading @@ -2949,6 +2949,25 @@ group AwaitingMessage { } } // end of f_awaitingMESSAGE_PassOnTimeout /** * @desc await NOTIFY request */ function f_awaitingNOTIFY(in template NOTIFY_Request p_MSG) runs on SipComponent { var NOTIFY_Request v_MSG; tc_wait.start(PX_SIP_TWAIT); alt { [] SIPP.receive(p_MSG)-> value v_MSG sender vc_sent_label { tc_wait.stop; f_getRouteMapIntoRecordRoute(vc_cSeq, v_MSG); f_setHeadersOnReceiptOfRequest(v_MSG); } } } // end of f_awaitingNOTIFY /** * @desc await NOTIFY request * reply with 200 OK Loading
ttcn/LibSip_Templates.ttcn +101 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ module LibSip_Templates import from LibSip_Interface all; import from LibSip_PIXITS all; import from LibSip_XMLTypes all; import from LibSip_SMSTypes all; //LibXMLTypes import from ietf_params_xml_ns_resource_lists language "XSD" all Loading Loading @@ -2708,6 +2709,96 @@ group SDP_Templates { } //* end group SDP_Templates group SMS_Templates { template SMS m_SMS(template Msg_summary_line_list p_summaryLineList, template charstring p_uri) := { msg_status_line := m_msgStatusLine_yes, msg_account := m_msgAccount(p_uri), msg_summary_line_list :=p_summaryLineList, opt_msg_headers := omit } template SMS mw_SMS := { msg_status_line := ?, msg_account := *, msg_summary_line_list := *, opt_msg_headers := * } template SMS mw_SMS_yes := { msg_status_line := mw_msgStatusLine_yes, msg_account := *, msg_summary_line_list := *, opt_msg_headers := * } template SMS mw_SMS_yesUri := { msg_status_line := mw_msgStatusLine_yes, msg_account := mw_msgAccount, msg_summary_line_list := *, opt_msg_headers := * } template SMS mw_SMS_yesVoice := { msg_status_line := mw_msgStatusLine_yes, msg_account := *, msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)}, opt_msg_headers := * } template SMS mw_SMS_yesUriVoice := { msg_status_line := mw_msgStatusLine_yes, msg_account := mw_msgAccount, msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)}, opt_msg_headers := * } template Msg_status_line m_msgStatusLine_yes:= { msg_type := c_messageWaiting, msg_status := "yes" } template Msg_status_line mw_msgStatusLine_yes:= { msg_type := c_messageWaiting, msg_status := "yes" } template Msg_account m_msgAccount(template charstring p_uri) := { msg_type_account := c_messageWaiting, account_URI := p_uri//m_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit) } template Msg_account mw_msgAccount := { msg_type_account := c_messageWaiting, account_URI := ? } template Msg_summary_line m_msgSummaryLine(template charstring p_msgContexClass,template charstring p_msgs,template charstring p_urgent_msgs) := { msg_context_class := p_msgContexClass, msgs := p_msgs, urgent_msgs := p_urgent_msgs } template Msg_summary_line mw_msgSummaryLine(template charstring p_msgContexClass) := { msg_context_class := p_msgContexClass, msgs := ?, urgent_msgs :=* } } //end group Templates_SMS group MessageBodies { template MessageBody m_MBody_SDP(template SDP_Message p_SDP):= Loading @@ -2720,6 +2811,11 @@ group MessageBodies { xmlBody := p_xmlBody }; template MessageBody m_mBody_SMS(template SMS p_SMS):= { sms := p_SMS }; template MessageBody m_MBody_longPlainText:= { textplain := c_longMessageContent_1300Bytes Loading Loading @@ -2758,6 +2854,11 @@ group MessageBodies { xmlBody := p_xmlBody }; template MessageBody mw_mBody_SMS(template SMS p_SMS):= { sms := p_SMS }; template MessageBody mw_MBody_MIMESdpXml(template SDP_Message p_sdp, template XmlBody p_xmlBody):= { mimeMessageBody := {boundary:=?, Loading