Commit f45c4581 authored by schmitting's avatar schmitting
Browse files

latest version from validation session week 15

parent 6b08e8c2
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ module IMS_SS_Functions {

            v_sipUrlRegInfo:= f_initSipUrl(c_userProfile_UE1atSUThome);
            v_anyUri := v_sipUrlRegInfo.scheme & ":" & v_sipUrlRegInfo.userInfo.userOrTelephoneSubscriber & "@" & v_sipUrlRegInfo.hostPort.host;
            log(v_anyUri);
            
            LibIms_Steps.f_setHeadersNOTIFY(
                p_CSeq, 
@@ -314,7 +315,8 @@ module IMS_SS_Functions {
                Route route optional,
                RecordRoute recordRoute optional,
                Via	via optional,
                Contact contact optional
                Contact contact optional,
                SipUserProfile profile optional
            }
        }
        
@@ -330,7 +332,8 @@ module IMS_SS_Functions {
                route := omit,
                recordRoute := omit,
                via := omit,
                contact := omit
                contact := omit,
            	profile := omit
            }
    	
        group sessionModification {
@@ -342,8 +345,8 @@ module IMS_SS_Functions {
            function f_saveSession() runs on ImsComponent return SessionDialog {
                var SessionDialog v_dialog := {
                    callId := vc_callId,
                    calleeFrom := vc_from,
                    calleeTo := vc_to,
                    calleeFrom := vc_caller_From,
                    calleeTo := vc_caller_To,
                    callerFrom := vc_caller_From, 
                    callerTo := vc_caller_To, 
                    cSeq := vc_cSeq,
@@ -352,7 +355,8 @@ module IMS_SS_Functions {
                    route := vc_route,
                    recordRoute := vc_recordRoute,
                    via := vc_via,
                    contact := vc_contact
                    contact := vc_contact,
                    profile := vc_userprofile
                }
    			
                return v_dialog;
@@ -381,6 +385,8 @@ module IMS_SS_Functions {
                vc_to := p_dialog.calleeTo;
                vc_caller_From:= p_dialog.callerFrom;
                vc_caller_To:= p_dialog.callerTo;
                vc_callee_From:= p_dialog.calleeFrom;
                vc_callee_To:= p_dialog.calleeTo; 
                vc_cSeq := p_dialog.cSeq;
                vc_requestUri := p_dialog.remoteURI;
                vc_reqHostPort := p_dialog.remoteTarget;
@@ -388,9 +394,8 @@ module IMS_SS_Functions {
                vc_recordRoute := p_dialog.recordRoute;
                vc_via := p_dialog.via;
                vc_contact := p_dialog.contact;
                vc_userprofile := p_dialog.profile;
            }
            
            
        }
    }
    
+1 −1
Original line number Diff line number Diff line
@@ -178,7 +178,7 @@ modulepar boolean PX_UE_REG_EVENT_SUBSCRIPTION := true;
/**
 * @desc En-/disable UE reg event notification
 */
modulepar boolean PX_UE_REG_EVENT_NOTIFICATION := false; 
modulepar boolean PX_UE_REG_EVENT_NOTIFICATION := true; 
    
   

+64 −62
Original line number Diff line number Diff line
@@ -2329,35 +2329,35 @@ module CDIV_TC_Functions {
    group ASdivertingUser_NotDivUser {
        
		function f_TC_CDIV_N04_001(in CSeq p_cSeq) runs on ImsComponent {
            var REGISTER_Request v_register;
            
            // ------CFU starts
            f_init_ics_scscf(p_cSeq);
            LibIms_Steps.f_init_userprofile(c_userProfile_UE2atSUThome);
            
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
            // ----  test body  ----->
    		
            // send INVITE 1       
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
            vc_route := valueof(m_route_interface_CDIV(vc_interfaceprofile,vc_userprofile,"term"));
            f_SendINVITE(m_INVITE_Request_CDIV(
    		// 3rd party registration
            f_setHeaders_REGISTER(p_cSeq);
            v_register := m_REGISTER_Request_IMS_3party(
            	vc_requestUri, 
            	vc_callId, 
                vc_cSeq, 
            	p_cSeq, 
            	vc_from, 
            	vc_to, 
                vc_via, 
            	vc_via_REG, 
            	vc_contact, 
                vc_route,
            	omit,
                valueof(m_MBody_SDP(vc_sdp_local))
            ));
            
            f_awaitingINVITE(mw_INVITE_Request_CDIV(
              mw_HistoryInfo(
                {mw_HistoryInfoEntry(mw_SipUrl_NumberHostHeader(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,{mw_Privacy_gen("history"),*}),{"1"},omit),
                 mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause_num("302")}),{"1.1"},omit) // Note: cause is part of hi-targeted-to-uri
            })));
            	m_path(m_SipUrl(
            		vc_userprofile.publUsername, 
            		vc_interfaceprofile.SUTIpaddr, 
            		vc_interfaceprofile.SUTPort, 
            		{{id := "lr", paramValue := omit}}
            	))
            );	
            f_SendREGISTER(v_register); //LibSip
            
            //------Comunication diversion occures
            
@@ -2365,30 +2365,27 @@ module CDIV_TC_Functions {
            f_awaitingMESSAGE(mw_MESSAGE_Request_Base);
            f_sendResponse(m_Response_ext(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
            
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

            //UE3release
            f_releseCallatAS();
            f_awaitingResponse(mw_Response_Base(c_statusLine200, ?, ?));
            
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        }// end f_TC_CDIV_N04_001
        
		function f_TC_CDIV_N04_002(in CSeq p_cSeq) runs on ImsComponent {
		    
            var SessionDialog v_UE2toUE3_Session, v_UE3toUE2_Session;
            
            f_init_ics_scscf(p_cSeq);
            
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
           
            //correction of user profile: set user2 instead user4 as initiator of call
            vc_userprofile.contactPort := PX_IMS_TS_UE2_PORT;			// contact (simulated UE)
            vc_userprofile.contactIpaddr := PX_IMS_TS_UE2_IPADDR;		// contact
            vc_userprofile.homeDomain := PX_IMS_SUT_UE2_HOME_DOMAIN;	// From, To (register)
            vc_userprofile.publUsername := PX_IMS_SUT_UE2_PUBLIC_USER;	// From, To (register)
            LibIms_Steps.f_init_userprofile(c_userProfile_UE2atSUThome);
            
            // ----  test body  ----->
    
            // send INVITE 1       
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE1atSUThome);
            vc_route := valueof(m_route_interface_CDIV(vc_interfaceprofile,vc_userprofile,"term"));
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE3atSUThome);
            vc_route := valueof(m_route_interface_CDIV(vc_interfaceprofile,vc_userprofile,"orig"));
            f_SendINVITE(m_INVITE_Request_CDIV(
                vc_requestUri, 
                vc_callId, 
@@ -2402,28 +2399,33 @@ module CDIV_TC_Functions {
                valueof(m_MBody_SDP(vc_sdp_local))
            ));
            
            f_awaitingINVITE(mw_INVITE_Request_CDIV(
              mw_HistoryInfo(
                {mw_HistoryInfoEntry(mw_SipUrl_NumberHostHeader(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,{mw_Privacy_gen("history"),*}),{"1"},omit),
                 mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause_num("302")}),{"1.1"},omit) // Note: cause is part of hi-targeted-to-uri
            })));
            v_UE2toUE3_Session := f_saveSession();
            
            f_awaitingINVITE(mw_INVITE_Request_Base);
            
            v_UE3toUE2_Session := f_saveSession();
            
            //------Comunication diversion is activated
            
            f_loadSession(v_UE2toUE3_Session);
            
            //AS sends MESSAGE to diverting user via IMS
            f_awaitingMESSAGE(mw_MESSAGE_Request_Base);
            f_sendResponse(m_Response_ext(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
            
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
            
//            //UE2release
//            f_sendResponse(m_Response_ext(c_statusLine486, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
//    		
//            f_awaitingResponse(mw_Response_Base(c_statusLine486, vc_callId, vc_cSeq));
//
//            f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
//
//            f_awaitingACK(mw_ACK_Request_Base(vc_callId));
            
            f_loadSession(v_UE3toUE2_Session);
            
            //UE2release
            f_sendResponse(m_Response_ext(c_statusLine486, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
            f_awaitingACK(mw_ACK_Request_Base(vc_callId));
            v_UE3toUE2_Session := f_saveSession();
            
            f_loadSession(v_UE2toUE3_Session);
            f_awaitingResponse(mw_Response_Base(c_statusLine486, vc_callId, vc_cSeq));
            f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

        }// end f_TC_CDIV_N04_002
        
@@ -3054,7 +3056,7 @@ module CDIV_TC_Functions {
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
        
            // ----  test body  ----->
            f_getInvite(mw_INVITE_Request_Base); 
            f_getInvite(mw_INVITE_Request_supported(mw_Supported_histinfo));
        
            f_sendResponse(m_Response_history(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via,
 												m_HistoryInfo(
@@ -3091,7 +3093,7 @@ module CDIV_TC_Functions {
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
        
            // ----  test body  ----->
            f_getInvite(mw_INVITE_Request_Base); 
            f_getInvite(mw_INVITE_Request_supported(mw_Supported_histinfo)); 
        
            f_sendResponse(m_Response_Base(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); 
        
@@ -3129,7 +3131,7 @@ module CDIV_TC_Functions {
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
        
            // ----  test body  ----->
            f_getInvite(mw_INVITE_Request_Base); 
            f_getInvite(mw_INVITE_Request_supported(mw_Supported_histinfo)); 
        
            f_sendResponse(m_Response_Base(c_statusLine181, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); 
        
@@ -3558,7 +3560,7 @@ module CDIV_TC_Functions {
            // send INVITE 1       
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
            vc_route := valueof(m_route_interface_CDIV(vc_interfaceprofile,vc_userprofile,"term"));
            f_SendINVITE(m_INVITE_Request_CDIV(
            f_SendINVITE(m_INVITE_Request_IMS(
            	vc_requestUri, 
            	vc_callId, 
            	vc_cSeq, 
@@ -3566,11 +3568,11 @@ module CDIV_TC_Functions {
            	vc_to, 
            	vc_via, 
            	vc_contact, 
            	omit, 
            	vc_route, 
                m_HistoryInfo(
                  {m_HistoryInfoEntry(m_SipUrl_NumberHostParam_woPort(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit),{"1"},omit),
                   m_HistoryInfoEntry(m_SipUrl_NumberHostParam_woPort(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause_num(v_CauseValList[PX_TC_VA-1])}),{"1.1"},omit) 
                 }),
            	omit, 
            	omit, 
            	omit, 
            	valueof(m_MBody_SDP(vc_sdp_local))
            ));

+15 −0
Original line number Diff line number Diff line
@@ -349,6 +349,15 @@ group MessageTemplates{
            headers := omit
    };
    
    template SipUrl m_SipUrl(template charstring p_userName, charstring p_host, integer p_port, template SemicolonParam_List p_urlParameters) :=  	//*  SIP-URL with a calling party number
    {
            scheme := c_sipScheme,  		//*  contains "sip"
            userInfo:= {userOrTelephoneSubscriber:=p_userName, password:=omit},
            hostPort := {host:=p_host, portField:=omit},
            urlParameters := p_urlParameters,
            headers := omit
    };
		
    template SipUrl mw_SipUrl_NumHost(template charstring p_number,template charstring p_host, template SemicolonParam_List p_urlParameters) :=  	//*  SIP-URL with a calling party number
    {
            scheme := c_sipScheme,  		//*  contains "sip"
@@ -358,6 +367,12 @@ group MessageTemplates{
            headers := *
    };
		
    template Supported mw_Supported_histinfo :=
    {
        fieldName:=SUPPORTED_E, 
        optionsTags:= superset("histinfo")
    }
        
    group xmlTemplates
    {
        template User_selection_criteria_type m_orig_user(template charstring p_userURI) :=
+360 −77

File changed.

Preview size limit exceeded, changes collapsed.

Loading