Loading ttcn/LibIms_Steps.ttcn +64 −4 Original line number Diff line number Diff line Loading @@ -86,6 +86,33 @@ module LibIms_Steps vc_recordRoute := p_message.msgHeader.recordRoute; } } /** * * @desc functions add new recordRoute parameter * @param p_message (request) SIP message to be used to prepair via header * @param p_userprofile user profile */ function f_addNewRecordRouteIMS(in RecordRoute p_rr) runs on ImsComponent return template RecordRoute { template RecordRoute v_recordRoute := omit; var integer v_intRecordRoute; var integer i := 1; var integer j := 0; v_intRecordRoute := sizeof(p_rr.routeBody); if (v_intRecordRoute>0){ while (j < v_intRecordRoute) { p_rr.routeBody[v_intRecordRoute] := p_rr.routeBody[v_intRecordRoute-1]; v_intRecordRoute := v_intRecordRoute - 1; } p_rr.routeBody[0] := valueof(m_routeBody_currIpAddr(vc_userprofile)); vc_recordRoute := p_rr; return vc_recordRoute; } else {return(v_recordRoute)} } }//end group parameterOperations group fieldOperations { Loading Loading @@ -338,7 +365,9 @@ module LibIms_Steps */ function f_setHeadersReINVITE (inout CSeq p_cSeq_s, in boolean p_orginatingSide, in integer p_to_user) runs on ImsComponent { var integer v_tmp; var integer v_tmp, v_i, v_j, v_nbroute; var Request v_request; v_request := vc_request; f_setHeadersGeneral(p_cSeq_s, "INVITE"); // cseq, contact, branch, via Loading @@ -353,6 +382,29 @@ module LibIms_Steps else { vc_to := vc_callee_To; vc_from := vc_callee_From; //get route from previous ACK request // Route Management if (ispresent(v_request.msgHeader.recordRoute)) { vc_recordRoute := v_request.msgHeader.recordRoute; v_nbroute := sizeof(vc_recordRoute.routeBody); // copy and reverse the order of the routes in route header for (v_i:=0; v_i<=(v_nbroute - 1); v_i:=v_i+1) { v_j:= v_nbroute - 1 - v_i; vc_route.routeBody[v_j]:=vc_recordRoute.routeBody[v_i]; } vc_route.fieldName := ROUTE_E; vc_boo_recordRoute := true; vc_boo_route := true; } else { vc_boo_recordRoute := false; vc_boo_route := false; } } v_tmp := str2int(vc_sdp_local.origin.session_id); Loading Loading @@ -886,6 +938,10 @@ module LibIms_Steps v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_PCSCF_IPADDR, portField :=omit} } case (c_userProfile_PCSCFwithVisitingUE) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_PCSCF_IPADDR, portField :=omit} } case (c_userProfile_SCSCFwithHomeUE) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE4_PUBLIC_USER, password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_SCSCF_HOME_DOMAIN, portField :=PX_IMS_TS_SCSCF_PORT} Loading Loading @@ -928,7 +984,11 @@ module LibIms_Steps } case (c_interfaceSIPURL_IMS_SUT_PCSCF1_ip) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:="", password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_SUT_PCSCF1_IPADDR, portField :=PX_IMS_SUT_PCSCF1_PORT} v_sipUrl.components.sip.hostPort := {host := PX_IMS_SUT_PCSCF1_IPADDR, portField :=PX_IMS_TS_SCSCF_PORT} } case (c_interfaceProfile_IMS_SUT_SCSCF) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:="", password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_SCSCF_HOME_DOMAIN, portField :=PX_IMS_SUT_PCSCF1_PORT} } case (c_conferenceProfile_factoryURI) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_CONF_FACTORY_NAME, password:=omit}; Loading ttcn/LibIms_Templates.ttcn +20 −7 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ group HeaderFieldTemplates{ template PChargingFunctionAddresses m_pChargingFunctionAddresses_fixedValue := { fieldName := P_CHARGING_FUNCTION_ADDRESSES_E, chargeAddrParams := {{id:="ccf",paramValue :="192.1.1.1;"}, // value is fixed because it is deleted on proxy chargeAddrParams := {{id:="ccf",paramValue :="192.1.1.1"}, // value is fixed because it is deleted on proxy {id:="ecf",paramValue :="192.1.1.2"}} // value is fixed because it is deleted on proxy }; Loading @@ -224,16 +224,16 @@ group HeaderFieldTemplates{ template PChargingVector m_pChargingVector_origIoi_fixedValue(charstring p_homeDomain) := { fieldName := P_CHARGING_VECTOR_E, chargeParams := {{id:=c_icid, paramValue :=c_icid_value &";"}, {id:=c_icid_generated_at, paramValue :="192.1.1.10;"}, chargeParams := {{id:=c_icid, paramValue :=c_icid_value}, {id:=c_icid_generated_at, paramValue :="192.1.1.10"}, {id:=c_orig_ioi, paramValue := p_homeDomain}} }; template PChargingVector m_pChargingVector_termIoi_fixedValue(charstring p_homeDomain) := { fieldName := P_CHARGING_VECTOR_E, chargeParams := {{id:=c_icid, paramValue :=c_icid_value&";"}, {id:=c_icid_generated_at, paramValue :="192.1.1.10;"}, chargeParams := {{id:=c_icid, paramValue :=c_icid_value}, {id:=c_icid_generated_at, paramValue :="192.1.1.10"}, {id:=c_term_ioi, paramValue := p_homeDomain}} }; Loading @@ -241,7 +241,7 @@ group HeaderFieldTemplates{ { fieldName := P_CHARGING_VECTOR_E, chargeParams := { {id:=c_icid_generated_at, paramValue :="192.1.1.10;"}, {id:=c_icid_generated_at, paramValue :="192.1.1.10"}, {id:=c_orig_ioi, paramValue := p_homeDomain}} }; Loading Loading @@ -279,7 +279,7 @@ group HeaderFieldTemplates{ template PVisitedNetworkID m_pVisitedNetworkID_TS := { fieldName := P_VISITED_NETWORK_E, vNetWorkSpec := {{vNetworkSpecToken := "Viseted ETSI 1", vNetWorkSpec := {{vNetworkSpecToken := "Visited ETSI 1", genericParams := omit}} } Loading Loading @@ -2383,6 +2383,12 @@ group request_receive { msgHeader := { via := p_via } } template BYE_Request mw_BYE_Request_route(template CallId p_callId, template Route p_route) modifies mw_BYE_Request_Base := { msgHeader := {route := p_route} } template INVITE_Request mw_INVITE_Request_noPChargingFunction modifies mw_INVITE_Request_Base := { Loading Loading @@ -2650,6 +2656,13 @@ group request_receive { } } template MESSAGE_Request mw_MESSAGE_Request_route (template CallId p_callId, template Route p_route )modifies mw_MESSAGE_Request_Base := { msgHeader := {route := p_route } } template MESSAGE_Request mw_MESSAGE_Request_via (template CallId p_callId, template Via p_via )modifies mw_MESSAGE_Request_Base := { Loading Loading
ttcn/LibIms_Steps.ttcn +64 −4 Original line number Diff line number Diff line Loading @@ -86,6 +86,33 @@ module LibIms_Steps vc_recordRoute := p_message.msgHeader.recordRoute; } } /** * * @desc functions add new recordRoute parameter * @param p_message (request) SIP message to be used to prepair via header * @param p_userprofile user profile */ function f_addNewRecordRouteIMS(in RecordRoute p_rr) runs on ImsComponent return template RecordRoute { template RecordRoute v_recordRoute := omit; var integer v_intRecordRoute; var integer i := 1; var integer j := 0; v_intRecordRoute := sizeof(p_rr.routeBody); if (v_intRecordRoute>0){ while (j < v_intRecordRoute) { p_rr.routeBody[v_intRecordRoute] := p_rr.routeBody[v_intRecordRoute-1]; v_intRecordRoute := v_intRecordRoute - 1; } p_rr.routeBody[0] := valueof(m_routeBody_currIpAddr(vc_userprofile)); vc_recordRoute := p_rr; return vc_recordRoute; } else {return(v_recordRoute)} } }//end group parameterOperations group fieldOperations { Loading Loading @@ -338,7 +365,9 @@ module LibIms_Steps */ function f_setHeadersReINVITE (inout CSeq p_cSeq_s, in boolean p_orginatingSide, in integer p_to_user) runs on ImsComponent { var integer v_tmp; var integer v_tmp, v_i, v_j, v_nbroute; var Request v_request; v_request := vc_request; f_setHeadersGeneral(p_cSeq_s, "INVITE"); // cseq, contact, branch, via Loading @@ -353,6 +382,29 @@ module LibIms_Steps else { vc_to := vc_callee_To; vc_from := vc_callee_From; //get route from previous ACK request // Route Management if (ispresent(v_request.msgHeader.recordRoute)) { vc_recordRoute := v_request.msgHeader.recordRoute; v_nbroute := sizeof(vc_recordRoute.routeBody); // copy and reverse the order of the routes in route header for (v_i:=0; v_i<=(v_nbroute - 1); v_i:=v_i+1) { v_j:= v_nbroute - 1 - v_i; vc_route.routeBody[v_j]:=vc_recordRoute.routeBody[v_i]; } vc_route.fieldName := ROUTE_E; vc_boo_recordRoute := true; vc_boo_route := true; } else { vc_boo_recordRoute := false; vc_boo_route := false; } } v_tmp := str2int(vc_sdp_local.origin.session_id); Loading Loading @@ -886,6 +938,10 @@ module LibIms_Steps v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_PCSCF_IPADDR, portField :=omit} } case (c_userProfile_PCSCFwithVisitingUE) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_PCSCF_IPADDR, portField :=omit} } case (c_userProfile_SCSCFwithHomeUE) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE4_PUBLIC_USER, password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_SCSCF_HOME_DOMAIN, portField :=PX_IMS_TS_SCSCF_PORT} Loading Loading @@ -928,7 +984,11 @@ module LibIms_Steps } case (c_interfaceSIPURL_IMS_SUT_PCSCF1_ip) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:="", password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_SUT_PCSCF1_IPADDR, portField :=PX_IMS_SUT_PCSCF1_PORT} v_sipUrl.components.sip.hostPort := {host := PX_IMS_SUT_PCSCF1_IPADDR, portField :=PX_IMS_TS_SCSCF_PORT} } case (c_interfaceProfile_IMS_SUT_SCSCF) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:="", password:=omit}; v_sipUrl.components.sip.hostPort := {host := PX_IMS_TS_SCSCF_HOME_DOMAIN, portField :=PX_IMS_SUT_PCSCF1_PORT} } case (c_conferenceProfile_factoryURI) { v_sipUrl.components.sip.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_CONF_FACTORY_NAME, password:=omit}; Loading
ttcn/LibIms_Templates.ttcn +20 −7 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ group HeaderFieldTemplates{ template PChargingFunctionAddresses m_pChargingFunctionAddresses_fixedValue := { fieldName := P_CHARGING_FUNCTION_ADDRESSES_E, chargeAddrParams := {{id:="ccf",paramValue :="192.1.1.1;"}, // value is fixed because it is deleted on proxy chargeAddrParams := {{id:="ccf",paramValue :="192.1.1.1"}, // value is fixed because it is deleted on proxy {id:="ecf",paramValue :="192.1.1.2"}} // value is fixed because it is deleted on proxy }; Loading @@ -224,16 +224,16 @@ group HeaderFieldTemplates{ template PChargingVector m_pChargingVector_origIoi_fixedValue(charstring p_homeDomain) := { fieldName := P_CHARGING_VECTOR_E, chargeParams := {{id:=c_icid, paramValue :=c_icid_value &";"}, {id:=c_icid_generated_at, paramValue :="192.1.1.10;"}, chargeParams := {{id:=c_icid, paramValue :=c_icid_value}, {id:=c_icid_generated_at, paramValue :="192.1.1.10"}, {id:=c_orig_ioi, paramValue := p_homeDomain}} }; template PChargingVector m_pChargingVector_termIoi_fixedValue(charstring p_homeDomain) := { fieldName := P_CHARGING_VECTOR_E, chargeParams := {{id:=c_icid, paramValue :=c_icid_value&";"}, {id:=c_icid_generated_at, paramValue :="192.1.1.10;"}, chargeParams := {{id:=c_icid, paramValue :=c_icid_value}, {id:=c_icid_generated_at, paramValue :="192.1.1.10"}, {id:=c_term_ioi, paramValue := p_homeDomain}} }; Loading @@ -241,7 +241,7 @@ group HeaderFieldTemplates{ { fieldName := P_CHARGING_VECTOR_E, chargeParams := { {id:=c_icid_generated_at, paramValue :="192.1.1.10;"}, {id:=c_icid_generated_at, paramValue :="192.1.1.10"}, {id:=c_orig_ioi, paramValue := p_homeDomain}} }; Loading Loading @@ -279,7 +279,7 @@ group HeaderFieldTemplates{ template PVisitedNetworkID m_pVisitedNetworkID_TS := { fieldName := P_VISITED_NETWORK_E, vNetWorkSpec := {{vNetworkSpecToken := "Viseted ETSI 1", vNetWorkSpec := {{vNetworkSpecToken := "Visited ETSI 1", genericParams := omit}} } Loading Loading @@ -2383,6 +2383,12 @@ group request_receive { msgHeader := { via := p_via } } template BYE_Request mw_BYE_Request_route(template CallId p_callId, template Route p_route) modifies mw_BYE_Request_Base := { msgHeader := {route := p_route} } template INVITE_Request mw_INVITE_Request_noPChargingFunction modifies mw_INVITE_Request_Base := { Loading Loading @@ -2650,6 +2656,13 @@ group request_receive { } } template MESSAGE_Request mw_MESSAGE_Request_route (template CallId p_callId, template Route p_route )modifies mw_MESSAGE_Request_Base := { msgHeader := {route := p_route } } template MESSAGE_Request mw_MESSAGE_Request_via (template CallId p_callId, template Via p_via )modifies mw_MESSAGE_Request_Base := { Loading