Loading LibIms_Steps.ttcn +33 −0 Original line number Diff line number Diff line Loading @@ -945,6 +945,7 @@ module LibIms_Steps function f_awaitingRegistration_IMS(inout CSeq p_cSeq_s) runs on ImsComponent { var SipUrl v_passociated_url; var Authorization p_authorization; //Awaiting 1st REGISTER f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); Loading @@ -966,6 +967,38 @@ module LibIms_Steps }//end function f_awaitingRegistration_IMS /** * * @desc awaiting UE1 registration (with authentication) * @param p_cSeq_s cseq parameter */ function f_awaitingRegistration_IMS_gm(inout CSeq p_cSeq_s) runs on ImsComponent { vc_ignore_subscribe := true;//handle SUBSCRIBE during the call var SipUrl v_passociated_url; var Authorization p_authorization; //Awaiting 1st REGISTER f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); // 401 response f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization (PX_IMS_SUT_UE1_QOP,vc_authorization.body[0].digestResponse))) ); //Awaiting 2nd REGISTER with authorization header f_awaitingREGISTER(mw_REGISTER_authorizedRequest_wo_securityheaders_IMS); //f_awaitingREGISTER(mw_REGISTER_authorizedRequest_IMS(m_Authorization_digest(mw_digestResponse((c_Integrity_protected_yes,c_Integrity_protected_ip_assoc_pending))))); // 200OK to complete the request vc_contact := vc_request.msgHeader.contact; vc_contact.contactBody.contactAddresses[0].contactParams := {{"expires",int2str(3600)}}; v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec; f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE),v_passociated_url)); }//end function f_awaitingRegistration_IMS_gm /** * Loading LibIms_Templates.ttcn +24 −3 Original line number Diff line number Diff line Loading @@ -1239,7 +1239,7 @@ group request_send { { msgHeader := { reason := mw_Reason(p_cause), reason := m_Reason(p_cause), route := p_route } } Loading Loading @@ -1975,6 +1975,7 @@ group request_send { { pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a, contact := p_contact, contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "SUBSCRIBE"}, event := m_Event_reg, expires := m_Expires_600000 Loading @@ -1982,6 +1983,26 @@ group request_send { messageBody := p_mb } template SUBSCRIBE_Request m_SUBSCRIBE_Request_mb_event_UE (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template MessageBody p_mb, Event p_event, charstring p_contentType) modifies m_SUBSCRIBE_Request_mb_UE := { requestLine := { method := SUBSCRIBE_E, requestUri := p_requestUri }, msgHeader := { contentType := {fieldName := CONTENT_TYPE_E, mediaType := p_contentType}, pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a, contact := p_contact, cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "SUBSCRIBE"}, event := p_event, expires := m_Expires_600000 }, messageBody := p_mb } template SUBSCRIBE_Request m_SUBSCRIBE_Request_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact) modifies m_SUBSCRIBE_Request_Base := { Loading Loading @@ -2427,7 +2448,7 @@ group response_send { msgHeader := { //contact := p_contact, contact := p_contact //mandatory field due to 24 229 rel 7.9 //maxForwards := omit, //rSeq := {fieldName:=RSEQ_E, responseNum:= 9999}//Ref: ES 283 003 V2.5.1 ch:A.2.1.4.7 } Loading Loading
LibIms_Steps.ttcn +33 −0 Original line number Diff line number Diff line Loading @@ -945,6 +945,7 @@ module LibIms_Steps function f_awaitingRegistration_IMS(inout CSeq p_cSeq_s) runs on ImsComponent { var SipUrl v_passociated_url; var Authorization p_authorization; //Awaiting 1st REGISTER f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); Loading @@ -966,6 +967,38 @@ module LibIms_Steps }//end function f_awaitingRegistration_IMS /** * * @desc awaiting UE1 registration (with authentication) * @param p_cSeq_s cseq parameter */ function f_awaitingRegistration_IMS_gm(inout CSeq p_cSeq_s) runs on ImsComponent { vc_ignore_subscribe := true;//handle SUBSCRIBE during the call var SipUrl v_passociated_url; var Authorization p_authorization; //Awaiting 1st REGISTER f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); // 401 response f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization (PX_IMS_SUT_UE1_QOP,vc_authorization.body[0].digestResponse))) ); //Awaiting 2nd REGISTER with authorization header f_awaitingREGISTER(mw_REGISTER_authorizedRequest_wo_securityheaders_IMS); //f_awaitingREGISTER(mw_REGISTER_authorizedRequest_IMS(m_Authorization_digest(mw_digestResponse((c_Integrity_protected_yes,c_Integrity_protected_ip_assoc_pending))))); // 200OK to complete the request vc_contact := vc_request.msgHeader.contact; vc_contact.contactBody.contactAddresses[0].contactParams := {{"expires",int2str(3600)}}; v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec; f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200,vc_callId, vc_cSeq,vc_callee_From, vc_callee_To, vc_via,vc_contact,f_initSipUrl(c_userProfile_SCSCFwithHomeUE),v_passociated_url)); }//end function f_awaitingRegistration_IMS_gm /** * Loading
LibIms_Templates.ttcn +24 −3 Original line number Diff line number Diff line Loading @@ -1239,7 +1239,7 @@ group request_send { { msgHeader := { reason := mw_Reason(p_cause), reason := m_Reason(p_cause), route := p_route } } Loading Loading @@ -1975,6 +1975,7 @@ group request_send { { pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a, contact := p_contact, contentLength := {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))}, cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "SUBSCRIBE"}, event := m_Event_reg, expires := m_Expires_600000 Loading @@ -1982,6 +1983,26 @@ group request_send { messageBody := p_mb } template SUBSCRIBE_Request m_SUBSCRIBE_Request_mb_event_UE (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template MessageBody p_mb, Event p_event, charstring p_contentType) modifies m_SUBSCRIBE_Request_mb_UE := { requestLine := { method := SUBSCRIBE_E, requestUri := p_requestUri }, msgHeader := { contentType := {fieldName := CONTENT_TYPE_E, mediaType := p_contentType}, pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a, contact := p_contact, cSeq := {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "SUBSCRIBE"}, event := p_event, expires := m_Expires_600000 }, messageBody := p_mb } template SUBSCRIBE_Request m_SUBSCRIBE_Request_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact) modifies m_SUBSCRIBE_Request_Base := { Loading Loading @@ -2427,7 +2448,7 @@ group response_send { msgHeader := { //contact := p_contact, contact := p_contact //mandatory field due to 24 229 rel 7.9 //maxForwards := omit, //rSeq := {fieldName:=RSEQ_E, responseNum:= 9999}//Ref: ES 283 003 V2.5.1 ch:A.2.1.4.7 } Loading