Loading ttcn/LibIms_PIXITS.ttcn +23 −0 Original line number Diff line number Diff line Loading @@ -331,6 +331,29 @@ group SUT_IMGCF { } } // end group SUT_IMGCF group SUT_CONF { modulepar { /** * @desc * charstring for SUT/conference IP address to exchange SIP messages */ charstring PX_IMS_SUT_CONF_IPADDR := "172.31.10.10"; /** * @desc integer for SUT/conference port number to exchange SIP messages */ integer PX_IMS_SUT_CONF_PORT := 5060; /** * @desc charstring for SUT/conference domain */ charstring PX_IMS_SUT_CONF_HOME_DOMAIN := "conf.sut.net"; /** * @desc charstring for conference factory URI name */ charstring PX_IMS_SUT_CONF_FACTORY_NAME := "factory.uri.name"; }; } // end group SUT_CONF } // end group SUT group TS { group TS_UE1 { Loading ttcn/LibIms_SIPTypesAndValues.ttcn +4 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,10 @@ group UserProfileConstants const integer c_interfaceProfile_IMS_SUT_ICSCF := 114; // Mw interface at I-CSCF located in SUT const integer c_interfaceProfile_IMS_SUT_MGCF := 115; // Mw interface at MGCF located in SUT // number of conference profile const integer c_conferenceProfile_factoryURI := 800; // confernece factory URI // number of service profile const integer c_serviceProfile_EMERGENCY := 911; const integer c_serviceProfile_EMERGENCY_INVALID := 912; Loading ttcn/LibIms_Steps.ttcn +51 −9 Original line number Diff line number Diff line Loading @@ -103,7 +103,6 @@ module LibIms_Steps }// end f_setHeadersINVITE /* * * @desc setting of Message header fields (IMS addresses) Loading Loading @@ -235,6 +234,33 @@ module LibIms_Steps }// end function setHeaders_REGISTER_PCSCF /* * * @desc setting of REFER header fields (IMS addresses) * extension of general settings from LibSip basic function * @param p_cSeq_s current cSeq * @param p_to_user user_profile id of the user to be invited * @verdict */ function f_setHeadersREFER(inout CSeq p_cSeq_s, in integer p_to_user) runs on ImsComponent { vc_to := LibIms_Steps.f_initToHeader(p_to_user); // init of vc_to using userProfile identifier vc_from := LibIms_Steps.f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header if (vc_boo_route) { vc_route := valueof(m_route_interface(vc_interfaceprofile))}; if (vc_boo_recordRoute) { vc_recordRoute := valueof(m_recordRoute_currIpAddr(vc_userprofile))}; LibSip_Steps.f_setHeadersREFER(p_cSeq_s); }// end f_setHeadersREFER } // end group fieldOperations group awaitingMessage { Loading Loading @@ -441,6 +467,22 @@ module LibIms_Steps vc_userprofile.currIpaddr := PX_IMS_TS_AS2_IPADDR; // via, route vc_userprofile.homeDomain := PX_IMS_TS_AS2_HOME_DOMAIN; // via, route } case (c_userProfile_UE1atSUThome) { //variant c_userProfile_UE1atSUThome vc_userprofile.currPort := PX_IMS_TS_UE1_PORT; vc_userprofile.currIpaddr := PX_IMS_TS_UE1_IPADDR; vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; } } } Loading Loading @@ -495,10 +537,6 @@ module LibIms_Steps p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE3_PUBLIC_USER, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_UE3_HOME_DOMAIN, portField :=omit} } case (c_userProfile_UE4atSUThome) { p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE4_PUBLIC_USER, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_UE4_HOME_DOMAIN, portField :=omit} } case (c_userProfile_IBCFwithHomeUE) { p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_TS_IMS1UE_HOME_DOMAIN, portField :=omit} Loading Loading @@ -543,6 +581,10 @@ module LibIms_Steps p_sipUrl.userInfo := {userOrTelephoneSubscriber:="", password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_PCSCF1_IPADDR, portField :=PX_IMS_SUT_PCSCF1_PORT} } case (c_conferenceProfile_factoryURI) { p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_CONF_FACTORY_NAME, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_CONF_HOME_DOMAIN, portField := PX_IMS_SUT_CONF_PORT} } }; return(p_sipUrl) } Loading ttcn/LibIms_Templates.ttcn +39 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,12 @@ group HeaderFieldTemplates{ } } template SubscriptionState mw_subscriptionState(charstring p_state) := { fieldName := SUBSCRIPTION_STATE_E, subState := p_state, substateParams := omit } } // end group HeaderFieldTemplates group MessageBodyTemplates { Loading Loading @@ -1219,6 +1225,23 @@ group request_send { } } template SUBSCRIBE_Request m_SUBSCRIBE_Request_Event (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template Event p_event) modifies m_SUBSCRIBE_Request_Base := { requestLine := { method := SUBSCRIBE_E, requestUri := p_requestUri }, msgHeader := { contact := p_contact, cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "SUBSCRIBE"}, event := p_event, expires := m_Expires_600000 } } }//end group request_send group request_receive { Loading Loading @@ -1545,6 +1568,22 @@ group request_receive { } } template NOTIFY_Request mw_NOTIFY_Request( CallId p_callId, charstring p_state, charstring p_contentType, Event p_event, template MessageBody p_mb ) modifies mw_NOTIFY_Request_Base := { msgHeader := { subscriptionState := mw_subscriptionState(p_state), contentType := {fieldName := CONTENT_TYPE_E, mediaType := p_contentType}, event := p_event }, messageBody := p_mb } }//end group request_receive group response_send { Loading Loading
ttcn/LibIms_PIXITS.ttcn +23 −0 Original line number Diff line number Diff line Loading @@ -331,6 +331,29 @@ group SUT_IMGCF { } } // end group SUT_IMGCF group SUT_CONF { modulepar { /** * @desc * charstring for SUT/conference IP address to exchange SIP messages */ charstring PX_IMS_SUT_CONF_IPADDR := "172.31.10.10"; /** * @desc integer for SUT/conference port number to exchange SIP messages */ integer PX_IMS_SUT_CONF_PORT := 5060; /** * @desc charstring for SUT/conference domain */ charstring PX_IMS_SUT_CONF_HOME_DOMAIN := "conf.sut.net"; /** * @desc charstring for conference factory URI name */ charstring PX_IMS_SUT_CONF_FACTORY_NAME := "factory.uri.name"; }; } // end group SUT_CONF } // end group SUT group TS { group TS_UE1 { Loading
ttcn/LibIms_SIPTypesAndValues.ttcn +4 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,10 @@ group UserProfileConstants const integer c_interfaceProfile_IMS_SUT_ICSCF := 114; // Mw interface at I-CSCF located in SUT const integer c_interfaceProfile_IMS_SUT_MGCF := 115; // Mw interface at MGCF located in SUT // number of conference profile const integer c_conferenceProfile_factoryURI := 800; // confernece factory URI // number of service profile const integer c_serviceProfile_EMERGENCY := 911; const integer c_serviceProfile_EMERGENCY_INVALID := 912; Loading
ttcn/LibIms_Steps.ttcn +51 −9 Original line number Diff line number Diff line Loading @@ -103,7 +103,6 @@ module LibIms_Steps }// end f_setHeadersINVITE /* * * @desc setting of Message header fields (IMS addresses) Loading Loading @@ -235,6 +234,33 @@ module LibIms_Steps }// end function setHeaders_REGISTER_PCSCF /* * * @desc setting of REFER header fields (IMS addresses) * extension of general settings from LibSip basic function * @param p_cSeq_s current cSeq * @param p_to_user user_profile id of the user to be invited * @verdict */ function f_setHeadersREFER(inout CSeq p_cSeq_s, in integer p_to_user) runs on ImsComponent { vc_to := LibIms_Steps.f_initToHeader(p_to_user); // init of vc_to using userProfile identifier vc_from := LibIms_Steps.f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header if (vc_boo_route) { vc_route := valueof(m_route_interface(vc_interfaceprofile))}; if (vc_boo_recordRoute) { vc_recordRoute := valueof(m_recordRoute_currIpAddr(vc_userprofile))}; LibSip_Steps.f_setHeadersREFER(p_cSeq_s); }// end f_setHeadersREFER } // end group fieldOperations group awaitingMessage { Loading Loading @@ -441,6 +467,22 @@ module LibIms_Steps vc_userprofile.currIpaddr := PX_IMS_TS_AS2_IPADDR; // via, route vc_userprofile.homeDomain := PX_IMS_TS_AS2_HOME_DOMAIN; // via, route } case (c_userProfile_UE1atSUThome) { //variant c_userProfile_UE1atSUThome vc_userprofile.currPort := PX_IMS_TS_UE1_PORT; vc_userprofile.currIpaddr := PX_IMS_TS_UE1_IPADDR; vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; } } } Loading Loading @@ -495,10 +537,6 @@ module LibIms_Steps p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE3_PUBLIC_USER, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_UE3_HOME_DOMAIN, portField :=omit} } case (c_userProfile_UE4atSUThome) { p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE4_PUBLIC_USER, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_UE4_HOME_DOMAIN, portField :=omit} } case (c_userProfile_IBCFwithHomeUE) { p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_TS_IMS1UE_HOME_DOMAIN, portField :=omit} Loading Loading @@ -543,6 +581,10 @@ module LibIms_Steps p_sipUrl.userInfo := {userOrTelephoneSubscriber:="", password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_PCSCF1_IPADDR, portField :=PX_IMS_SUT_PCSCF1_PORT} } case (c_conferenceProfile_factoryURI) { p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_CONF_FACTORY_NAME, password:=omit}; p_sipUrl.hostPort := {host := PX_IMS_SUT_CONF_HOME_DOMAIN, portField := PX_IMS_SUT_CONF_PORT} } }; return(p_sipUrl) } Loading
ttcn/LibIms_Templates.ttcn +39 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,12 @@ group HeaderFieldTemplates{ } } template SubscriptionState mw_subscriptionState(charstring p_state) := { fieldName := SUBSCRIPTION_STATE_E, subState := p_state, substateParams := omit } } // end group HeaderFieldTemplates group MessageBodyTemplates { Loading Loading @@ -1219,6 +1225,23 @@ group request_send { } } template SUBSCRIBE_Request m_SUBSCRIBE_Request_Event (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template Event p_event) modifies m_SUBSCRIBE_Request_Base := { requestLine := { method := SUBSCRIBE_E, requestUri := p_requestUri }, msgHeader := { contact := p_contact, cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "SUBSCRIBE"}, event := p_event, expires := m_Expires_600000 } } }//end group request_send group request_receive { Loading Loading @@ -1545,6 +1568,22 @@ group request_receive { } } template NOTIFY_Request mw_NOTIFY_Request( CallId p_callId, charstring p_state, charstring p_contentType, Event p_event, template MessageBody p_mb ) modifies mw_NOTIFY_Request_Base := { msgHeader := { subscriptionState := mw_subscriptionState(p_state), contentType := {fieldName := CONTENT_TYPE_E, mediaType := p_contentType}, event := p_event }, messageBody := p_mb } }//end group request_receive group response_send { Loading