/** * @author STF 370 * @version $Id:$ * @desc This module provides trigger and configuration functions for IMS. */ module LibIms_UpperTester { import from LibIot_Functions {function f_sendEquipmentCmd;} import from LibUpperTester { template m_EQ_Request; type EquipmentCommand; } import from LibIot_TestInterface {type TestCoordinator, EquipmentUser;} group ue { group ueTypes { group ueCommands { /** * @desc Command to trigger registration of the UE * @remark * Note that the registration trigger command needs has * additional parameter for the public, private user id and * password. * @remark * Note that the user friendly application and the upper test * adapter may need to be uparaded if new messages are added. */ const EquipmentCommand c_UE_REGISTRATION := "UE_REGISTRATION"; const EquipmentCommand c_UE_CHECKisREGISTERED := "UE_CHECK_IS_REGISTER"; const EquipmentCommand c_UE_CHECKisnotREGISTERED := "UE_CHECK_IS_NOT_REGISTERED"; const EquipmentCommand c_UE_CHECK_CALLisINITIALIZED := "UE_CHECK_CALL_IS_INITIALIZED"; const EquipmentCommand c_UE_CHECK_CALLisANSWERED := "UE_CHECK_CALL_IS_ANSWERED"; const EquipmentCommand c_UE_CHECK_CALLisENDED := "UE_CHECK_CALL_IS_ENDED"; const EquipmentCommand c_UE_CHECK_NEWMEDIASTREAMisADDED := "UE_CHECK_NEW_MEDIA_STREAM_IS_ADDED"; const EquipmentCommand c_UE_CHECK_REMOVEMEDIASTREAMisADDED := "UE_CHECK_NEW_MEDIA_STREAM_IS_REMOVED"; /** * * @desc Command to trigger de-registration of the UE */ const EquipmentCommand c_UE_DEREGISTRATION := "UE_DEREGISTRATION"; /** * @desc Command to trigger UE to send a message */ const EquipmentCommand c_UE_SEND_MESSAGE := "UE_SEND_MESSAGE"; /** * @desc Command to check if UE has receipt of a message */ const EquipmentCommand c_UE_CHECK_MESSAGE_RECEIPT := "UE_CHECK_MESSAGE_RECEIPT"; /** * @desc Command to check if UE is informed about that the message request could not be delivered. */ const EquipmentCommand c_UE_CHECK_MESSAGE_NOT_DELIVERED := "UE_CHECK_MESSAGE_NOT_DELIVERED"; } } group ueFunctions { /** * * @desc Triggers registration of a given user via UE * @param p_publicId The public user identity * @param p_privateId The private user identity * @param p_pw The users password * @verdict e2e verdict will be set depending on the result of trigger action */ function f_userRegistration(in charstring p_publicId, in charstring p_privateId, in charstring p_pw) runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_REGISTRATION, {p_publicId, p_privateId, p_pw}))); } function f_checkUserIsRegistered() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECKisREGISTERED, {}))); } function f_checkUserIsNotRegistered() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECKisnotREGISTERED, {}))); } function f_checkUserCallIsInitiated() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_CALLisINITIALIZED, {}))); } function f_checkUserCallIsAnswered() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_CALLisANSWERED, {}))); } function f_checkUserCallIsEnded() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_CALLisENDED, {}))); } function f_checkUserAddNewMediaStream() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_NEWMEDIASTREAMisADDED, {}))); } function f_checkUserRemoveNewMediaStream() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_REMOVEMEDIASTREAMisADDED, {}))); } /** * * @desc Triggers de-registration of a given user via UE * @param p_publicId The public user name * @verdict e2e verdict will be set depending on the result of trigger action */ function f_userDeregistration(in charstring p_publicId) runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_DEREGISTRATION, {p_publicId}))); } /** * * @desc Trigger sending an instant message via UE */ function f_userSendMessage(in charstring p_body) runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_SEND_MESSAGE, {p_body}))); } /** * * @desc Trigger checking the receipt of instant message at UE */ function f_userCheckMessageReceipt() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_MESSAGE_RECEIPT, {}))); } /** * * @desc Trigger checking the receipt of instant message at UE */ function f_userCheckMessageNotDelivered() runs on EquipmentUser { f_sendEquipmentCmd(valueof(m_EQ_Request(c_UE_CHECK_MESSAGE_NOT_DELIVERED, {}))); } } } group LibUEModuleParameters { /** * * @desc Required information for user components * @member publicId public user identity * @member privateId private user identity * @member password user password * @member domain Home domain of user * @member domainProxy Entry point to either home or roaming IMS network */ type record ImsUserInfo { charstring publicId, // (default) id to be used by UE charstring privateId, charstring password, charstring domain, charstring domainProxy } type union ImsUserIdentity { ImsUserInfo genUserId, ImsUserInfo sipUserId, ImsUserInfo telUserId, ImsUserInfo noasUserId, ImsUserInfo holdUserId, ImsUserInfo oipUserId, ImsUserInfo oirUserId, ImsUserInfo acrUserId, ImsUserInfo cfuUserId, ImsUserInfo presUserId, ImsUserInfo iptvUserId } /** * * @desc List of IMS user information */ type record of ImsUserIdentity ImsUserIdentityList ; /** * * @desc The record collects IMS user information configured in one specific core IMS * @member productIndex index pointing to the entry of the core IMS product in PX_PRODUCTS * @member userInfos Lists information about all users configured in the HSS of this core IMS */ type record CoreImsUserInfo { integer productIndex, ImsUserIdentityList userIds } /** * * @desc Collects IMS user information configured in all core IMS participating in the interoperability event */ type record of CoreImsUserInfo CoreImsUserInfoList; /** * * @desc Example of module parameter based entry of EUT interface information for all products particpating in an interoperability event */ modulepar CoreImsUserInfoList PX_IMS_USER_DATA := { { productIndex := 0, // Ericsson userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "ericsson.etsi", domainProxy := "pcscf.ericsson.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "ericsson.etsi", domainProxy := "pcscf.ericsson.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123432", privateId := "userTEL_priv", password := "123456", domain := "ericsson.etsi", domainProxy := "pcscf.ericsson.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 1, // Thomson userIds := { { genUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "thomson.etsi", domainProxy := "pcscf.thomson.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "thomson.etsi", domainProxy := "pcscf.thomson.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "thomson.etsi", domainProxy := "pcscf.thomson.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 2, // NSN userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "nsn.etsi", domainProxy := "pcscf.nsn.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "nsn.etsi", domainProxy := "pcscf.nsn.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "nsn.etsi", domainProxy := "pcscf.nsn.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 3, // Italtel userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "italtel.etsi", domainProxy := "pcscf.italtel.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "italtel.etsi", domainProxy := "pcscf.italtel.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "italtel.etsi", domainProxy := "pcscf.italtel.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 4, // EXFO userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "exfo.etsi", domainProxy := "pcscf.exfo.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "exfo.etsi", domainProxy := "pcscf.exfo.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "exfo.etsi", domainProxy := "pcscf.exfo.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 5, // Iskratel userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "iskratel.etsi", domainProxy := "pcscf.iskratel.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "iskratel.etsi", domainProxy := "pcscf.iskratel.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "iskratel.etsi", domainProxy := "pcscf.iskratel.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 6, // Testing Tech IMS Core userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "testingtech.com", domainProxy := "pcscf.testingtech.com" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "testingtech.com", domainProxy := "pcscf.testingtech.com" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "testingtech.com", domainProxy := "pcscf.testingtech.com" //pcscf domain or IPaddress }} } }, { productIndex := 7, // Acme userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "acme.etsi", domainProxy := "pcscf.acme.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "acme.etsi", domainProxy := "acme" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "acme.etsi", domainProxy := "pcscf.acme.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 8, // Nexcom userIds := { { genUserId := { publicId := "userGEN", privateId := "userSIP_priv", password := "123456", domain := "nexcom.etsi", domainProxy := "pcscf.nexcom.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userGEN", privateId := "userSIP_priv", password := "123456", domain := "nexcom.etsi", domainProxy := "pcscf.nexcom.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "nexcom.etsi", domainProxy := "pcscf.nexcom.etsi" //pcscf domain or IPaddress }} } }, { productIndex := 9, // Hotaro userIds := { { genUserId := { publicId := "userGEN", privateId := "userGEN_priv", password := "123456", domain := "hotaro.etsi", domainProxy := "pcscf.hotaro.etsi" //pcscf domain or IPaddress }}, { sipUserId := { publicId := "userSIP", privateId := "userSIP_priv", password := "123456", domain := "hotaro.etsi", domainProxy := "pcscf.hotaro.etsi" //pcscf domain or IPaddress }}, { telUserId := { publicId := "tel: 3344123443", privateId := "userTEL_priv", password := "123456", domain := "hotaro.etsi", domainProxy := "pcscf.hotaro.etsi" //pcscf domain or IPaddress }} } } }// end modulepar } // end group group eut { } }