OVERVIEW   INDEX   DEPRECATED   HELP   CORRESPONDENCES  


Module Parameters   Data Types   Component Types   Port Types   Constants   Templates   Signatures   Functions   Altsteps   Test Cases  

Module IMS_UpperTester


Import Declarations:


Data Types Summary
Ut_IMS_Command_Type
IMS_UT_CommandSource_Type
UT_IMS_CMD
Ut_IMS_SystemCommand_Type
Port Types Summary
UT_IMS_MTC_PORT
UT_MTC_IMS_PORT
Templates Summary
cs_Ut_Parameter_Uri
cs_Ut_Parameter_PublicUserId
cs_Ut_Parameter_IPv4v6
cs_Ut_Parameter_SupplemantaryService
cs_Ut_Parameter_SupplemantaryServiceCondition
cas_UT_Req
car_IMS_UT_Req
Functions Summary
fl_UT_IMS_ApplyCommand
f_UT_IMS_Register
f_UT_IMS_Deregister
f_UT_IMS_InitiateCall
f_UT_IMS_InitiateEmergencyCall
f_UT_IMS_AcceptCall
f_UT_IMS_AcceptText
f_UT_IMS_ActivateMWI
f_UT_IMS_CallHold
f_UT_IMS_CallResume
f_UT_IMS_ActivateDeactivateSupplementaryService
f_UT_IMS_TriggerSMS
f_UT_IMS_Trigger2ndIMPU
f_UT_IMS_Trigger3rdIMPU
f_UT_IMS_SwitchOn
f_UT_RCS_Verify_Client_a_RCS_Registered
f_UT_RCS_Verify_User_a_IMS_Registered_For_RCS
f_UT_RCS_User_A_has_User_S_in_spamlist
f_UT_RCS_Verify_Device_Provisoned_For_RCS
f_UT_RCS_Configured_Non_Zero_FTWARNSIZE
f_UT_RCS_Show_User_Not_Availabel
f_UT_RCS_Show_User_Available
f_UT_RCS_Add_New_User_In_Addressbook
f_UT_RCS_Create_User_C_In_Addressbook
f_UT_RCS_User_A_Receives_Delivered_Notif_Hello_B
f_UT_RCS_User_A_Receives_Composing_Notif
f_UT_RCS_User_A_Receives_Hello_A
f_UT_RCS_User_A_Sends_Bye_B
f_UT_RCS_User_A_Sends_WakeUp_B
f_UT_RCS_User_A_Receives_Delivered_Notif_Bye_B
f_UT_RCS_User_A_Terminate_Session
f_UT_RCS_User_A_Sends_Hello_B
f_UT_RCS_User_A_Receives_Bye_A
f_UT_RCS_User_A_Receives_Display_Notif_Hello_B
f_UT_RCS_X_NOT_CURRENTLY_STORED_IN_ADDRESS_BOOK
f_UT_RCS_Show_X_AS_RCS_USER
f_UT_RCS_User_A_Initiate_Session
f_UT_RCS_User_A_Initiates_Voice_Call
f_UT_RCS_Show_User_Available_For_Video_And_Or_Image_Sharing
f_UT_RCS_User_A_Sends_Again_B
f_UT_RCS_User_A_Receives_Delivered_Notif_Again_B
f_UT_RCS_User_A_AutoAccept_And_Receives_Delivered_Notif_Again_B
f_UT_RCS_User_A_Dont_Receives_Message
f_UT_RCS_User_A_Displays_Bye_A
f_UT_RCS_User_A_Comes_Online
f_UT_RCS_User_A_Initiate_Group_Chat_With_B_C_D
f_UT_RCS_User_A_Receives_Participant_List_And_Status
f_UT_RCS_User_A_Sends_Hello_Group
f_UT_RCS_User_A_Leaves_Group_Chat
f_UT_RCS_User_A_Receives_B_going
f_UT_RCS_User_A_Receives_C_going
f_UT_RCS_User_A_Selects_User_D_To_Add
f_UT_RCS_User_A_Receives_Invitation_And_Participant_List
f_UT_RCS_User_A_Accepts_Invitation
f_UT_RCS_User_A_Receives_Hello_Group
f_UT_RCS_User_A_Sends_Hello_B_C
f_UT_RCS_User_A_Leaves_Group_Chat_Involuntarily
f_UT_RCS_User_A_Receives_Hello_Again_A
f_UT_RCS_User_A_Sends_Restart
f_UT_RCS_User_A_Receives_Back_Again
f_UT_RCS_User_A_Initiates_File_Transfer
f_UT_RCS_User_A_Receives_Warning_Message
f_UT_RCS_User_A_Accepts_Request
f_UT_RCS_User_A_Establishes_CS_Voice_Call
f_UT_RCS_User_A_Initiates_Image_Share
f_UT_RCS_User_A_Initiates_Video_Share
f_UT_RCS_User_A_Terminates_Video_Share
f_UT_RCS_User_A_Optionally_Receives_Again_A
f_UT_RCS_User_A_Opens_Chat_Window
f_UT_RCS_User_A_Receives_Yet_Again_A
f_UT_RCS_User_A_Sends_Quick_B
f_UT_RCS_User_A_Receives_Yes_A
f_UT_RCS_User_A_Receives_Delivered_Notif_Quick_B
f_UT_RCS_User_A_Displays_Quick_B
f_UT_RCS_User_A_Receives_Again_A
f_UT_RCS_User_A_Sends_Two_B
f_UT_RCS_3G_HSPA_Wi_Fi_Connectivity
f_UT_RCS_User_A_Accepts_Voice_Call
f_UT_RCS_User_A_Rejects_Incoming_Session
f_UT_RCS_Verify_Video_Image_Sharing_Matching_ICS_Capabilities
f_UT_RCS_VERIFY_User_Not_Available_For_Video_And_Image_Sharing
f_UT_RCS_VERIFY_User_Change_Coverage_To_HSPA
f_UT_RCS_VERIFY_User_Change_Coverage_To_3G
f_UT_RCS_Reboot_Handset
f_UT_RCS_Verify_Wi_Fi
f_UT_RCS_Verify_RCS_Registered_User
f_UT_RCS_Message_Spam_for_A_available_in_Spamfilter
f_UT_RCS_User_A_Ignores_Incoming_Request
f_UT_RCS_Register_To_RCS_Service
f_UT_RCS_Service_Not_Enabled_On_Handset
f_UT_RCS_Service_Enabled_On_Handset
f_UT_RCS_Service_While_Roaming_Enabled_Disabled_Switch
f_UT_RCS_Service_Enabled_Disabled_Switch
f_UT_IMS_SystemCommand

Details

Ut_IMS_Command_Type
type enumerated Ut_IMS_Command_Type {      
REGISTER,
DEREGISTER,
INITIATE_CALL,
INITIATE_EMERGENCY_CALL,
ACCEPT_MTSI_CALL,
ACCEPT_MTSI_TEXT,
ACTIVATE_SUPPLEMENTARY_SERVICE,
DEACTIVATE_SUPPLEMENTARY_SERVICE,
ACTIVATE_MESSAGE_WAIT_INDICATION,
CALL_HOLD,
CALL_RESUME,
TRIGGER_SMS,
TRIGGER_2ND_IMPU,
TRIGGER_3RD_IMPU,
SWITCH_OFF,   
SWITCH_ON,     
VERIFY_CLIENT_A_RCS_REGISTERED,
VERIFY_USER_A_IMS_REGISTERED_FOR_RCS,
VERIFY_DEVICE_PROVISIONED_FOR_RCS,
SHOW_USER_AVAILABLE,
SHOW_USER_NOT_AVAILABLE,
ADD_NEW_USER_IN_ADDRESSBOOK,
Create_USER_C_IN_ADDRESSBOOK,
USER_A_INITIATE_SESSION,
USER_A_RECEIVE_DELIVERED_NOTIF_HELLO_B,
USER_A_RECEIVE_COMPOSING_NOTIF,
USER_A_RECEIVE_HELLO_A,
USER_A_SENDS_BYE_B,
USER_A_RECEIVE_DELIVERED_NOTIF_BYE_B,
USER_A_TERMINATE_SESSION,
USER_A_SENDS_HELLO_B,
USER_A_SENDS_WAKE_UP_B,
USER_A_RECEIVE_BYE_A,
USER_A_RECEIVE_DISPLAY_NOTIF_BYE_B, 
USER_A_SENDS_AGAIN_B,
USER_A_RECEIVE_DELIVERED_NOTIF_AGAIN_B,
USER_A_AUTO_ACCEPT_AND_RECEIVE_DELIVERED_NOTIF_AGAIN_B,
USER_A_DONT_RECEIVE,
USER_A_COMES_ONLINE,
USER_A_DISPLAYS_BYE_B,
USER_A_INITIATES_VOICE_CALL,
SHOW_USER_AVAILABLE_FOR_VIDEO_AND_OR_IMAGE_SHARING,
RCS_X_NOT_CURRENTLY_STORED_IN_ADDRESS_BOOK,
RCS_Show_X_AS_RCS_USER,
USER_A_INITIATE_GROUP_CHAT_WITH_B_C_D,
USER_A_RECEIVES_PARTICIPANT_LIST_AND_STATUS,
USER_A_SENDS_HELLO_GROUP,
USER_A_LEAVES_GROUP_CHAT,
USER_A_RECEIVES_B_GOING,
USER_A_RECEIVES_C_GOING,
USER_A_SELECTS_USER_D_TO_ADD,
USER_A_RECEIVES_INVITATION_AND_PARTICIPANT_LIST,
USER_A_ACCEPTS_INVITATION,
USER_A_RECEIVES_HELLO_GROUP,
USER_A_SENDS_HELLO_B_C,
USER_A_LEAVES_GROUP_CHAT_INVOLUNTARILY,
USER_A_RECEIVES_HELLO_AGAIN_A,
USER_A_RECEIVES_BACK_AGAIN,
USER_A_SENDS_RESTART,
USER_A_INITIATES_FILE_TRANSFER,
USER_A_RECEIVES_WARNING_MESSAGE,
USER_A_ACCEPTS_REQUEST,
USER_A_ESTABLISHES_CS_VOICE_CALL,
USER_A_INITIATES_IMAGE_SHARE,
USER_A_INITIATES_VIDEO_SHARE,
USER_A_TERMINATES_VIDEO_SHARE,
USER_A_OPTIONALLY_RECEIVES_AGAIN_A,
USER_A_OPENS_CHAT_WINDOW,
USER_A_RECEIVES_YET_AGAIN_A,
USER_A_SENDS_QUICK_B,
USER_A_RECEIVES_YES_A,
USER_A_DELIVERED_NOTIF_QUICK_B,
USER_A_DISPLAYED_NOTIF_QUICK_B,
USER_A_RECEIVES_AGAIN_A,
USER_A_SENDS_TWO_B,
HSPA_3G_Wi_Fi_CONNECTIVITY,
USER_A_ACCEPTS_VOICE_CALL,
VERIFY_VIDEO_IMAGE_SHARING_MATCHING_ICS_CAPABILITIES,
VERIFY_USER_NOT_AVAILABLE_FOR_VIDEO_AND_IMAGE_SHARING,
CHANGE_COVERAGE_TO_HSPA,
CHANGE_COVERAGE_TO_3G,
REBOOT_HANDSET,
USER_A_REJECTS_INCOMING_MESSAGE,
VERIFY_WI_FI,
VERIFY_RCS_REGISTERED_USER,
CONFIGURED_NON_ZERO_FTWARNSIZE_FOR_RCS,
USER_A_HAS_USER_S_IN_SPAMLIST,
MESSAGE_SPAM_FOR_A_AVAILABLE_IN_SPAMFILTER,
USER_A_IGNORES_INCOMING_REQUEST,
REGISTER_TO_RCS_SERVICE,
RCS_SERVICE_NOT_ENABLED_ON_HANDSET,
RCS_SERVICE_ENABLED_ON_HANDSET,
RCS_SERVICE_WHILE_ROAMING_ENABLED_DISABLED_SWITCH,
RCS_SERVICE_ENABLED_DISABLED_SWITCH
  };

IMS_UT_CommandSource_Type
type enumerated IMS_UT_CommandSource_Type {   
ims, rcs
  };

UT_IMS_CMD
type record UT_IMS_CMD {                   
Ut_IMS_Command_Type         Cmd,
Ut_CnfReq_Type              CnfReq,
Ut_ParameterList_Type       ParameterList optional  
  }

Ut_IMS_SystemCommand_Type
type record Ut_IMS_SystemCommand_Type {    
UT_SYSTEM_REQ SystemCmd optional,        
charstring    CmdString                  
  }

UT_IMS_MTC_PORT
type port UT_IMS_MTC_PORT message {   
out UT_IMS_CMD;
in  UT_COMMON_CNF;
  }

UT_MTC_IMS_PORT
type port UT_MTC_IMS_PORT message {   
out UT_COMMON_CNF;
in  UT_IMS_CMD;
  }

cs_Ut_Parameter_Uri
template (value) Ut_Parameter_Type cs_Ut_Parameter_Uri(charstring p_Value)          := cs_Ut_Parameter_Common("Uri", p_Value);

Returns: Ut_Parameter_Type -

Parameters:
cs_Ut_Parameter_PublicUserId
template (value) Ut_Parameter_Type cs_Ut_Parameter_PublicUserId(charstring p_Value) := cs_Ut_Parameter_Common("PublicUserId", p_Value);

Returns: Ut_Parameter_Type -

Parameters:
cs_Ut_Parameter_IPv4v6
template (value) Ut_Parameter_Type cs_Ut_Parameter_IPv4v6(charstring p_Value)       := cs_Ut_Parameter_Common("IPv4v6", p_Value);

Returns: Ut_Parameter_Type -

Parameters:
cs_Ut_Parameter_SupplemantaryService
template (value) Ut_Parameter_Type cs_Ut_Parameter_SupplemantaryService(charstring p_Value) := cs_Ut_Parameter_Common("SupplemantaryService", p_Value);

Returns: Ut_Parameter_Type -

Parameters:
cs_Ut_Parameter_SupplemantaryServiceCondition
template (value) Ut_Parameter_Type cs_Ut_Parameter_SupplemantaryServiceCondition(charstring p_Value) := cs_Ut_Parameter_Common("SupplemantaryServiceCondition", p_Value);

Returns: Ut_Parameter_Type -

Parameters:
cas_UT_Req
template (value) UT_IMS_CMD cas_UT_Req (template (value) Ut_IMS_Command_Type p_Cmd,
                                  template (value) Ut_CnfReq_Type p_Cnf := NO_CNF_REQUIRED,
                                  template (omit)  Ut_ParameterList_Type p_Parameters := omit) :=
  { 
Cmd := p_Cmd,
CnfReq := p_Cnf,
ParameterList := p_Parameters
  };

Returns: UT_IMS_CMD -

Parameters:
car_IMS_UT_Req
template UT_IMS_CMD car_IMS_UT_Req :=
  { 
Cmd := ?,
CnfReq := ?,
ParameterList := *
  };

fl_UT_IMS_ApplyCommand
function fl_UT_IMS_ApplyCommand(UT_IMS_MTC_PORT p_Port,
                          template (value) UT_IMS_CMD p_Cmd)
  

Returns: void -

Parameters:
f_UT_IMS_Register
function f_UT_IMS_Register(UT_IMS_MTC_PORT p_Port,
                     boolean p_IsIPv6)
  

Returns: void -

Parameters:
f_UT_IMS_Deregister
function f_UT_IMS_Deregister(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_InitiateCall
function f_UT_IMS_InitiateCall(UT_IMS_MTC_PORT p_Port,
                         charstring p_CalleeContactUri)
  

Returns: void -

Parameters:
f_UT_IMS_InitiateEmergencyCall
function f_UT_IMS_InitiateEmergencyCall(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_AcceptCall
function f_UT_IMS_AcceptCall(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_AcceptText
function f_UT_IMS_AcceptText(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_ActivateMWI
function f_UT_IMS_ActivateMWI(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_CallHold
function f_UT_IMS_CallHold(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_CallResume
function f_UT_IMS_CallResume(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_ActivateDeactivateSupplementaryService
function f_UT_IMS_ActivateDeactivateSupplementaryService(UT_IMS_MTC_PORT p_Port,
                                                   Ut_IMS_Command_Type p_Command,
                                                   charstring p_PublicUserIdentity,
                                                   charstring p_SupplementaryService,
                                                   template (omit) charstring p_Condition := omit)
  

Returns: void -

Parameters:
f_UT_IMS_TriggerSMS
function f_UT_IMS_TriggerSMS(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_Trigger2ndIMPU
function f_UT_IMS_Trigger2ndIMPU(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_Trigger3rdIMPU
function f_UT_IMS_Trigger3rdIMPU(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_IMS_SwitchOn
function f_UT_IMS_SwitchOn(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Verify_Client_a_RCS_Registered
function f_UT_RCS_Verify_Client_a_RCS_Registered(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Verify_User_a_IMS_Registered_For_RCS
function f_UT_RCS_Verify_User_a_IMS_Registered_For_RCS(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_User_A_has_User_S_in_spamlist
function f_UT_RCS_User_A_has_User_S_in_spamlist(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Verify_Device_Provisoned_For_RCS
function f_UT_RCS_Verify_Device_Provisoned_For_RCS(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Configured_Non_Zero_FTWARNSIZE
function f_UT_RCS_Configured_Non_Zero_FTWARNSIZE(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Show_User_Not_Availabel
function f_UT_RCS_Show_User_Not_Availabel(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Show_User_Available
function f_UT_RCS_Show_User_Available(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Add_New_User_In_Addressbook
function f_UT_RCS_Add_New_User_In_Addressbook(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_Create_User_C_In_Addressbook
function f_UT_RCS_Create_User_C_In_Addressbook(UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Delivered_Notif_Hello_B
function f_UT_RCS_User_A_Receives_Delivered_Notif_Hello_B( UT_IMS_MTC_PORT p_Port )
  

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Composing_Notif
function f_UT_RCS_User_A_Receives_Composing_Notif (UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Hello_A
function f_UT_RCS_User_A_Receives_Hello_A (UT_IMS_MTC_PORT p_Port)
  

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Bye_B
function f_UT_RCS_User_A_Sends_Bye_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_WakeUp_B
function f_UT_RCS_User_A_Sends_WakeUp_B(UT_IMS_MTC_PORT p_Port)

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Delivered_Notif_Bye_B
function f_UT_RCS_User_A_Receives_Delivered_Notif_Bye_B( UT_IMS_MTC_PORT p_Port )
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Terminate_Session
function f_UT_RCS_User_A_Terminate_Session( UT_IMS_MTC_PORT p_Port )
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Hello_B
function f_UT_RCS_User_A_Sends_Hello_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Bye_A
function f_UT_RCS_User_A_Receives_Bye_A(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Display_Notif_Hello_B
function f_UT_RCS_User_A_Receives_Display_Notif_Hello_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_X_NOT_CURRENTLY_STORED_IN_ADDRESS_BOOK
function f_UT_RCS_X_NOT_CURRENTLY_STORED_IN_ADDRESS_BOOK(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Show_X_AS_RCS_USER
function f_UT_RCS_Show_X_AS_RCS_USER(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Initiate_Session
function f_UT_RCS_User_A_Initiate_Session( UT_IMS_MTC_PORT p_Port )
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Initiates_Voice_Call
function f_UT_RCS_User_A_Initiates_Voice_Call( UT_IMS_MTC_PORT p_Port )
   

Returns: void -

Parameters:
f_UT_RCS_Show_User_Available_For_Video_And_Or_Image_Sharing
function f_UT_RCS_Show_User_Available_For_Video_And_Or_Image_Sharing( UT_IMS_MTC_PORT p_Port )
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Again_B
function f_UT_RCS_User_A_Sends_Again_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Delivered_Notif_Again_B
function f_UT_RCS_User_A_Receives_Delivered_Notif_Again_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_AutoAccept_And_Receives_Delivered_Notif_Again_B
function f_UT_RCS_User_A_AutoAccept_And_Receives_Delivered_Notif_Again_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Dont_Receives_Message
function f_UT_RCS_User_A_Dont_Receives_Message(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Displays_Bye_A
function f_UT_RCS_User_A_Displays_Bye_A(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Comes_Online
function f_UT_RCS_User_A_Comes_Online(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Initiate_Group_Chat_With_B_C_D
function f_UT_RCS_User_A_Initiate_Group_Chat_With_B_C_D(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Participant_List_And_Status
function f_UT_RCS_User_A_Receives_Participant_List_And_Status(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Hello_Group
function f_UT_RCS_User_A_Sends_Hello_Group(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Leaves_Group_Chat
function f_UT_RCS_User_A_Leaves_Group_Chat(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_B_going
function f_UT_RCS_User_A_Receives_B_going(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_C_going
function f_UT_RCS_User_A_Receives_C_going(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Selects_User_D_To_Add
function f_UT_RCS_User_A_Selects_User_D_To_Add(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Invitation_And_Participant_List
function f_UT_RCS_User_A_Receives_Invitation_And_Participant_List(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Accepts_Invitation
function f_UT_RCS_User_A_Accepts_Invitation(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Hello_Group
function f_UT_RCS_User_A_Receives_Hello_Group(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Hello_B_C
function f_UT_RCS_User_A_Sends_Hello_B_C(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Leaves_Group_Chat_Involuntarily
function f_UT_RCS_User_A_Leaves_Group_Chat_Involuntarily(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Hello_Again_A
function f_UT_RCS_User_A_Receives_Hello_Again_A(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Restart
function f_UT_RCS_User_A_Sends_Restart(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Back_Again
function f_UT_RCS_User_A_Receives_Back_Again(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Initiates_File_Transfer
function f_UT_RCS_User_A_Initiates_File_Transfer(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Warning_Message
function f_UT_RCS_User_A_Receives_Warning_Message(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Accepts_Request
function f_UT_RCS_User_A_Accepts_Request(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Establishes_CS_Voice_Call
function f_UT_RCS_User_A_Establishes_CS_Voice_Call(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Initiates_Image_Share
function f_UT_RCS_User_A_Initiates_Image_Share(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Initiates_Video_Share
function f_UT_RCS_User_A_Initiates_Video_Share(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Terminates_Video_Share
function f_UT_RCS_User_A_Terminates_Video_Share(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Optionally_Receives_Again_A
function f_UT_RCS_User_A_Optionally_Receives_Again_A(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Opens_Chat_Window
function f_UT_RCS_User_A_Opens_Chat_Window(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Yet_Again_A
function f_UT_RCS_User_A_Receives_Yet_Again_A(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Quick_B
function f_UT_RCS_User_A_Sends_Quick_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Yes_A
function f_UT_RCS_User_A_Receives_Yes_A(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Delivered_Notif_Quick_B
function f_UT_RCS_User_A_Receives_Delivered_Notif_Quick_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Displays_Quick_B
function f_UT_RCS_User_A_Displays_Quick_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Receives_Again_A
function f_UT_RCS_User_A_Receives_Again_A(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Sends_Two_B
function f_UT_RCS_User_A_Sends_Two_B(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_3G_HSPA_Wi_Fi_Connectivity
function f_UT_RCS_3G_HSPA_Wi_Fi_Connectivity(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Accepts_Voice_Call
function f_UT_RCS_User_A_Accepts_Voice_Call(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Rejects_Incoming_Session
function f_UT_RCS_User_A_Rejects_Incoming_Session(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Verify_Video_Image_Sharing_Matching_ICS_Capabilities
function f_UT_RCS_Verify_Video_Image_Sharing_Matching_ICS_Capabilities(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_VERIFY_User_Not_Available_For_Video_And_Image_Sharing
function f_UT_RCS_VERIFY_User_Not_Available_For_Video_And_Image_Sharing(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_VERIFY_User_Change_Coverage_To_HSPA
function f_UT_RCS_VERIFY_User_Change_Coverage_To_HSPA(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_VERIFY_User_Change_Coverage_To_3G
function f_UT_RCS_VERIFY_User_Change_Coverage_To_3G(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Reboot_Handset
function f_UT_RCS_Reboot_Handset(UT_IMS_MTC_PORT p_Port)

Returns: void -

Parameters:
f_UT_RCS_Verify_Wi_Fi
function f_UT_RCS_Verify_Wi_Fi(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Verify_RCS_Registered_User
function f_UT_RCS_Verify_RCS_Registered_User(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Message_Spam_for_A_available_in_Spamfilter
function f_UT_RCS_Message_Spam_for_A_available_in_Spamfilter(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_User_A_Ignores_Incoming_Request
function f_UT_RCS_User_A_Ignores_Incoming_Request(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Register_To_RCS_Service
function f_UT_RCS_Register_To_RCS_Service(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Service_Not_Enabled_On_Handset
function f_UT_RCS_Service_Not_Enabled_On_Handset(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Service_Enabled_On_Handset
function f_UT_RCS_Service_Enabled_On_Handset(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Service_While_Roaming_Enabled_Disabled_Switch
function f_UT_RCS_Service_While_Roaming_Enabled_Disabled_Switch(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_RCS_Service_Enabled_Disabled_Switch
function f_UT_RCS_Service_Enabled_Disabled_Switch(UT_IMS_MTC_PORT p_Port)
   

Returns: void -

Parameters:
f_UT_IMS_SystemCommand
function f_UT_IMS_SystemCommand(IMS_UT_CommandSource_Type p_Source,
        UT_IMS_CMD p_UT_IMS_CMD) return template (value) Ut_IMS_SystemCommand_Type
    {
        var template (value) Ut_IMS_SystemCommand_Type v_SystemCommand;
        var template (omit) UT_SYSTEM_REQ v_UT_SYSTEM_REQ := omit;
        var charstring v_CmdName := "";
        var charstring v_String := "";
        var charstring v_UserIdString := "";
        var charstring v_Parameter[3];
        var integer i;
    
        for (i := 0; i < lengthof(v_Parameter); i := i+1) {
            if (ispresent(p_UT_IMS_CMD.ParameterList[i].Value)) { // @sic R5s120907 change 9 sic@
                v_Parameter[i] := valueof(p_UT_IMS_CMD.ParameterList[i].Value);
            } else {
                v_Parameter[i] := "";
            }
        }
         
        select (p_Source) {
            case (ims) {       /* MMI commands from by the test cases */
                select (p_UT_IMS_CMD.Cmd) {
                    case (REGISTER) {
                        v_String := "Please REGISTER " & v_Parameter[0];     // v_Param: "IPv4" or "IPv6"
                        v_CmdName := "IMS_REGISTER";
                    }
                    case (DEREGISTER) {
                        v_String := "Please De-REGISTER";
                        v_CmdName := "IMS_DEREGISTER";
                    }
                    case (INITIATE_CALL) {
                        v_String := "Please initiate a Call to " & v_Parameter[0];
                        v_CmdName := "IMS_INITIATE_CALL";
                    }
                    case (INITIATE_EMERGENCY_CALL) {
                        v_String := "Please initiate a Emergency Call";
                        v_CmdName := "IMS_INITIATE_EMERGENCY_CALL";
                    }
                    case (ACCEPT_MTSI_CALL) {
                        v_String := "Please accept MTSI call";
                        v_CmdName := "ACCEPT_MTSI_CALL";
                    }
                    case (ACCEPT_MTSI_TEXT) {
                        v_String := "Please accept MTSI text";
                        v_CmdName := "ACCEPT_MTSI_TEXT";
                    }
                    case (CALL_HOLD) {
                        v_String := "Please set call on hold";
                        v_CmdName := "IMS_CALL_HOLD";
                    }
                    case (CALL_RESUME) {
                        v_String := "Please resume call";
                        v_CmdName := "IMS_CALL_RESUME";
                    }
                    case (ACTIVATE_MESSAGE_WAIT_INDICATION) {
                        v_String := "Please activate Message Wait Indication";
                        v_CmdName := "IMS_ACTIVATE_MESSAGE_WAIT_INDICATION";
                    }
                    case (ACTIVATE_SUPPLEMENTARY_SERVICE) {
                        v_UserIdString := "(UserId " & v_Parameter[0] & ")";
                        v_String := f_StringJoin( {"Please activate", v_Parameter[1], v_Parameter[2], v_UserIdString} );
                        v_CmdName := "ACTIVATE_SUPPLEMENTARY_SERVICE";
                    }
                    case (DEACTIVATE_SUPPLEMENTARY_SERVICE) {
                        v_UserIdString := "(UserId " & v_Parameter[0] & ")";
                        v_String := f_StringJoin( {"Please deactivate", v_Parameter[1], v_Parameter[2], v_UserIdString} );
                        v_CmdName := "DEACTIVATE_SUPPLEMENTARY_SERVICE";
                    }

                    case (TRIGGER_SMS) {
                        v_String := "Please trigger UE to send an SMS";
                        v_CmdName := "IMS_TRIGGER_SMS";
                    }
                    case (TRIGGER_2ND_IMPU) {
                        v_String := "Please trigger registration of second IMPU";
                        v_CmdName := "IMS_TRIGGER_2ND_IMPU";
                    }
                    case (TRIGGER_3RD_IMPU) {
                        v_String := "Please trigger registration of third IMPU";
                        v_CmdName := "IMS_TRIGGER_3RD_IMPU";
                    }
                    case(REBOOT_HANDSET){
                        v_String := "Reboot the handset.";
                        v_CmdName := "REBOOT_HANDSET";
                    }
                }
            }
            case(rcs) {
                select (p_UT_IMS_CMD.Cmd) {
                    case(USER_A_IGNORES_INCOMING_REQUEST){
                        v_String := "User A ignores the incoming session request";
                        v_CmdName := "USER_A_IGNORES_INCOMING_REQUEST";
                    }
                    case(MESSAGE_SPAM_FOR_A_AVAILABLE_IN_SPAMFILTER){
                        v_String := "The message “Spam for A” is available in the spam filter";
                        v_CmdName := "MESSAGE_SPAM_FOR_A_AVAILABLE_IN_SPAMFILTER";
                    }
                    case(USER_A_HAS_USER_S_IN_SPAMLIST){
                        v_String := "User A has User S listed in the spam/blacklist";
                        v_CmdName := "USER_A_HAS_USER_S_IN_SPAMLIST";
                    }
                    case(USER_A_REJECTS_INCOMING_MESSAGE){
                        v_String := "User A rejects the incoming session request";
                        v_CmdName := "USER_A_REJECTS_INCOMING_MESSAGE";
                    }
                    case(USER_A_SENDS_TWO_B){
                        v_String := "User A sends the message “Two B” to User B before the session times out";
                        v_CmdName := "USER_A_SENDS_TWO_B";
                    }
                    case(USER_A_RECEIVES_AGAIN_A){
                        v_String := "User A receives “Again A” from User B";
                        v_CmdName := "USER_A_RECEIVES_AGAIN_A";
                    }
                    case(USER_A_DISPLAYED_NOTIF_QUICK_B){
                        v_String := "User A receives an indication that the message “Quick B” has been displayed";
                        v_CmdName := "USER_A_DISPLAYED_NOTIF_QUICK_B";
                    }
                    case(USER_A_DELIVERED_NOTIF_QUICK_B){
                        v_String := "User A receives an indication that the message “Quick B” has been delivered";
                        v_CmdName := "USER_A_DELIVERED_NOTIF_QUICK_B";
                    }
                    case(USER_A_RECEIVES_YES_A){
                        v_String := "User A receives “Yes A” from User B";
                        v_CmdName := "USER_A_RECEIVES_YES_A";
                    }
                    case(USER_A_SENDS_QUICK_B){
                        v_String := "User A sends the message “Quick B” to User B";
                        v_CmdName := "USER_A_SENDS_QUICK_B";
                    }
                    case(USER_A_RECEIVES_YET_AGAIN_A){
                        v_String := "User A receives the message “Yet again A” from User B and the session is closed";
                        v_CmdName := "USER_A_RECEIVES_YET_AGAIN_A";
                    }
                    case(USER_A_OPENS_CHAT_WINDOW){
                        v_String := "User A opens the chat window";
                        v_CmdName := "USER_A_OPENS_CHAT_WINDOW"; 
                    }
                    case(USER_A_OPTIONALLY_RECEIVES_AGAIN_A){
                        v_String := "User A may receives optionally an indication of the stored message “Again A” from User B";
                        v_CmdName := "USER_A_OPTIONALLY_RECEIVES_AGAIN_A"; 
                    }
                    case(USER_A_TERMINATES_VIDEO_SHARE){
                        v_String := "User A terminates the Video Share session";
                        v_CmdName := "USER_A_TERMINATES_VIDEO_SHARE"; 
                    }
                    case(USER_A_INITIATES_VIDEO_SHARE){
                        v_String := "User A initiates a Video Share session towards User B on his device";
                        v_CmdName := "USER_A_INITIATES_VIDEO_SHARE"; 
                    }
                    case(USER_A_INITIATES_IMAGE_SHARE){
                        v_String := "User A initiates an Image Share session towards User B on his device";
                        v_CmdName := "USER_A_INITIATES_IMAGE_SHARE";
                    }
                    case(USER_A_ESTABLISHES_CS_VOICE_CALL){
                        v_String := "User A establishes a CS Voice call to User B";
                        v_CmdName := "USER_A_ESTABLISHES_CS_VOICE_CALL";
                    }
                    case(USER_A_ACCEPTS_REQUEST){
                        v_String := "User A accepts the confirmation request";
                        v_CmdName := "USER_A_ACCEPTS_REQUEST";
                    }
                    case(USER_A_RECEIVES_WARNING_MESSAGE){
                        v_String := "User A’s RCS client determines file is of size larger than FT WARN SIZE and User A receives a warning message requesting confirmation";
                        v_CmdName := "USER_A_RECEIVES_WARNING_MESSAGE";
                    }
                    case(USER_A_INITIATES_FILE_TRANSFER){
                        v_String := "User A initiates a File Transfer towards User B on his device";
                        v_CmdName := "USER_A_INITIATES_FILE_TRANSFER";
                    }
                    case(USER_A_RECEIVES_BACK_AGAIN){
                        v_String := "User A receives the message “Back again” from User B";
                        v_CmdName := "USER_A_RECEIVES_BACK_AGAIN";
                    }
                    case(USER_A_SENDS_RESTART){
                        v_String := "User A sends the message “Restart” to the original Group";
                        v_CmdName := "USER_A_SENDS_RESTART";
                    }
                    case(USER_A_RECEIVES_HELLO_AGAIN_A){
                        v_String := "User A receives the message “Hello again A” from User B";
                        v_CmdName := "USER_A_RECEIVES_HELLO_AGAIN_A";
                    }
                    case(USER_A_LEAVES_GROUP_CHAT_INVOLUNTARILY){
                        v_String := "User A leaves the Group Chat involuntarily. Simulate by e.g. severely attenuating the cellular signal from the Test Tool to the device under test and waiting XX seconds";
                        v_CmdName := "USER_A_LEAVES_GROUP_CHAT_INVOLUNTARILY";
                    }
                    case(USER_A_SENDS_HELLO_B_C){
                        v_String := "User A sends the message “Hello BC” to the Group";
                        v_CmdName := "USER_A_SENDS_HELLO_B_C";
                    }
                    case(USER_A_RECEIVES_HELLO_GROUP){
                        v_String := "User A receives the message “Hello group” from User B";
                        v_CmdName := "USER_A_RECEIVES_HELLO_GROUP";
                    }
                    case(USER_A_ACCEPTS_INVITATION){
                        v_String := "User A accepts the invitation";
                        v_CmdName := "USER_A_ACCEPTS_INVITATION";
                    }
                    case(USER_A_RECEIVES_INVITATION_AND_PARTICIPANT_LIST){
                        v_String := "User A receives the invitation and the participant list";
                        v_CmdName := "USER_A_RECEIVES_INVITATION_AND_PARTICIPANT_LIST";
                    }
                    case(USER_A_SELECTS_USER_D_TO_ADD){
                        v_String := "User A selects User D to add to the session";
                        v_CmdName := "USER_A_SELECTS_USER_D_TO_ADD";
                    }
                    case(USER_A_RECEIVES_C_GOING){
                        v_String := "User A receives the message “C going” from User C.";
                        v_CmdName := "USER_A_RECEIVES_C_GOING";
                    }
                    case(USER_A_RECEIVES_B_GOING){
                        v_String := "User A receives the message “B going” from User B.";
                        v_CmdName := "USER_A_RECEIVES_B_GOING";
                    }
                    case(USER_A_LEAVES_GROUP_CHAT){
                        v_String := "User A leaves the Group Chat session.";
                        v_CmdName := "USER_A_LEAVES_GROUP_CHAT";
                    }
                    case(USER_A_SENDS_HELLO_GROUP){
                        v_String := "User A sends the message “Hello group” to the group.";
                        v_CmdName := "USER_A_SENDS_HELLO_GROUP";
                    }
                    case(USER_A_RECEIVES_PARTICIPANT_LIST_AND_STATUS){
                        v_String := "User A receives the participant list and the status for each one";
                        v_CmdName := "USER_A_RECEIVES_PARTICIPANT_LIST_AND_STATUS";
                    }
                    case(USER_A_INITIATE_GROUP_CHAT_WITH_B_C_D){
                        v_String := "User A initiates a Group Chat session with User B, User C and User D on his device with the subject “Test”";
                        v_CmdName := "USER_A_INITIATE_GROUP_CHAT_WITH_B_C_D";
                    }
                    case(USER_A_SENDS_WAKE_UP_B){
                        v_String := "User A sends wake up B";
                        v_CmdName := "USER_A_SENDS_WAKE_UP_B";
                    }
                    case(USER_A_COMES_ONLINE){
                        v_String := "User A comes online";
                        v_CmdName := "USER_A_COMES_ONLINE";
                    }
                    case(USER_A_DISPLAYS_BYE_B){
                        v_String := "User A displays “Bye A” from User B.";
                        v_CmdName := "USER_A_DISPLAYS_BYE_B";
                    }
                    case(USER_A_DONT_RECEIVE){
                        v_String := "User A does not receive the message from User S.";
                        v_CmdName := "USER_A_DONT_RECEIVE";
                    }
                    case(USER_A_AUTO_ACCEPT_AND_RECEIVE_DELIVERED_NOTIF_AGAIN_B){
                        v_String := "Client A auto-accepts and User A receives an indication that the message “Hello B” has been delivered.";
                        v_CmdName := "USER_A_AUTO_ACCEPT_AND_RECEIVE_DELIVERED_NOTIF_AGAIN_B";
                    }
                    case(USER_A_RECEIVE_DELIVERED_NOTIF_AGAIN_B){
                        v_String := "User A receives an indication that the message “Again B” has been delivered and if display notifications were requested, then an indication that the message has been displayed.";
                         v_CmdName := "USER_A_RECEIVE_DELIVERED_NOTIF_AGAIN_B";
                    }
                    case (USER_A_RECEIVE_DISPLAY_NOTIF_BYE_B){
                        v_String := "User A receives an indication that the message “Hello B” has been delivered.";
                        v_CmdName := "USER_A_RECEIVE_DISPLAY_NOTIF_BYE_B";
                    }
                    case (USER_A_RECEIVE_BYE_A){
                        v_String := "User A receives “Bye A” from User B";
                        v_CmdName := "USER_A_RECEIVE_BYE_A";
                    }
                    case (USER_A_SENDS_HELLO_B){
                        v_String := "User A receives “Hello A” from User B";
                        v_CmdName := "USER_A_SENDS_HELLO_B";
                    }
                    case (USER_A_TERMINATE_SESSION){
                        v_String := "User A terminates the session";
                        v_CmdName := "USER_A_TERMINATE_SESSION";
                    }
                    case (USER_A_RECEIVE_DELIVERED_NOTIF_BYE_B) {
                        v_String := "User A receives an indication that the message “Bye B” has been delivered";
                        v_CmdName := "USER_A_RECEIVE_DELIVERED_NOTIF_BYE_B";
                    }
                    case (USER_A_SENDS_BYE_B) {
                        v_String := "User A sends the message “Bye B” to User B";
                        v_CmdName := "USER_A_SENDS_BYE_B";
                    }
                    case (USER_A_RECEIVE_HELLO_A) {
                        v_String := "User A receives “Hello A” from User B";
                        v_CmdName := "USER_A_RECEIVE_HELLO_A";
                    }
                   
                    case (USER_A_RECEIVE_COMPOSING_NOTIF) {
                        v_String := "User A receives an “Is Composing” indication from User B";
                        v_CmdName := "USER_A_RECEIVE_COMPOSING_NOTIF";
                    }
                    case (USER_A_RECEIVE_DELIVERED_NOTIF_HELLO_B) {
                        v_String := "User A receives an indication that the message “Hello B” has been delivered";
                        v_CmdName := "USER_A_RECEIVE_DELIVERED_NOTIF_HELLO_B";
                    }
                    case (USER_A_INITIATE_SESSION) {
                        v_String := "Please initiate a 1-to-1 Chat session with the message “Hello B”";
                        v_CmdName := "USER_A_INITIATE_SESSION";
                    }
                    case (VERIFY_CLIENT_A_RCS_REGISTERED) {
                        v_CmdName := "RCS_REGISTERED";
                        v_String := "The client A is a registered RCS user";
                    }
                    case (VERIFY_USER_A_IMS_REGISTERED_FOR_RCS) {
                        v_CmdName := "IMS_REGISTERED_FOR_RCS";
                        v_String := " User A is IMS registered for RCS";
                    }
                    case(CONFIGURED_NON_ZERO_FTWARNSIZE_FOR_RCS){
                        v_CmdName := "CONFIGURED_NON_ZERO_FTWARNSIZE_FOR_RCS";
                        v_String := "User A’s RCS device is configured with a non-zero value of FT WARN SIZE";
                    }
                    case (VERIFY_DEVICE_PROVISIONED_FOR_RCS) {
                        v_CmdName := "DEVICE_PROVISIONED_FOR_RCS";
                        v_String := " User A’s RCS device is provisioned for RCS";
                    }
                    case (SHOW_USER_AVAILABLE) {
                        v_CmdName := "SHOW_USER_AVAILABLE";
                        v_String := " User A’s RCS client shows User B as available";
                    }
                    case (SHOW_USER_NOT_AVAILABLE) {
                        v_CmdName := "SHOW_USER_NOT_AVAILABLE";
                        v_String := " User A’s RCS client shows User B as not available";
                    }
                    case (ADD_NEW_USER_IN_ADDRESSBOOK) {
                        v_CmdName := "ADD_NEW_USER_IN_ADDRESSBOOK";
                        v_String := "Add new User B entry (RCS user) to User A’s address book \n or \n Refresh User B’s (RCS user) status manually ";
                    }
                    case (Create_USER_C_IN_ADDRESSBOOK) {
                        v_CmdName := "Create_USER_C_IN_ADDRESSBOOK";
                        v_String := "Create a new contact (User C) in address book with the following four unique entries: \ n " &
                        "1. MSISDN number 1 (RCS capable) \n " &
                        "2. MSISDN number 2 (without RCS capabilities)" &
                        "3. MSISDN number 3 ()RCS capable, different from 1" &
                        "4. SIP_URI (RCS capable, if supported by the UI, independent from 1, 2 or 3)";
                    }
                    case (RCS_Show_X_AS_RCS_USER) {
                        v_CmdName := "RCS_Show_X_AS_RCS_USER";
                        v_String := "User X is shown as an RCS user. ";
                    }
                    case (USER_A_INITIATES_VOICE_CALL) {
                        v_CmdName := "USER_A_INITIATES_VOICE_CALL";
                        v_String :=  "User A initiates a voice call to User B at User A’s device.";
                    }
                    case (SHOW_USER_AVAILABLE_FOR_VIDEO_AND_OR_IMAGE_SHARING) {
                        v_CmdName := "SHOW_USER_AVAILABLE_FOR_VIDEO_AND_OR_IMAGE_SHARING";
                        v_String := "User B is shown as available for video and/or image sharing on User A’s RCS client as supported by User A’s RCS client.";
                    }
                    case (HSPA_3G_Wi_Fi_CONNECTIVITY) {
                        v_CmdName := "HSPA_3G_Wi_Fi_CONNECTIVITY";
                        v_String := "User A’s RCS device as 3G, HSPA or Wi-Fi connectivity";
                    }
                    case (USER_A_ACCEPTS_VOICE_CALL) {
                        v_CmdName := "USER_A_ACCEPTS_VOICE_CALL";
                        v_String := "User A accepts a voice call from User B at User A’s device";
                    }
                    case (VERIFY_VIDEO_IMAGE_SHARING_MATCHING_ICS_CAPABILITIES) {
                        v_CmdName := "VERIFY_VIDEO_IMAGE_SHARING_MATCHING_ICS_CAPABILITIES";
                        v_String := "User B's capabilities for video and image sharing are shown as available on User A’s RCS client matching User A's RCS client's capabilities according to ICS.";
                    }
                    case (VERIFY_USER_NOT_AVAILABLE_FOR_VIDEO_AND_IMAGE_SHARING) {
                        v_CmdName := "VERIFY_USER_NOT_AVAILABLE_FOR_VIDEO_AND_IMAGE_SHARING";
                        v_String := "User B is shown as not available for video and image sharing on User A’s RCS client.";
                    }
                    case (CHANGE_COVERAGE_TO_HSPA) {
                        v_CmdName := "CHANGE_COVERAGE_TO_HSPA";
                        v_String := "The client A’s handset’s coverage is changed to HSPA";
                    }
                    case (CHANGE_COVERAGE_TO_3G) {
                        v_CmdName := "CHANGE_COVERAGE_TO_3G";
                        v_String := "The client A’s handset’s coverage is changed to 3G.";
                    }
                    case (VERIFY_WI_FI) {
                        v_CmdName := "VERIFY_WI_FI";
                        v_String := "The client A’s handset coverage is Wi-Fi.";
                    }
                    case (VERIFY_RCS_REGISTERED_USER) {
                        v_CmdName := "VERIFY_RCS_REGISTERED_USER";
                        v_String := "The client A is a registered RCS user.";
                    }
                    case (REGISTER_TO_RCS_SERVICE) {
                        v_CmdName := "REGISTER_TO_RCS_SERVICE";
                        v_String := "The client A’s handset registers for the RCS service.";
                    }
                    case(RCS_SERVICE_NOT_ENABLED_ON_HANDSET){
                        v_CmdName := "RCS_SERVICE_NOT_ENABLED_ON_HANDSET";
                        v_String := "RCS service is not enabled on the handset.";
                    }
                    case(RCS_SERVICE_ENABLED_ON_HANDSET){
                        v_CmdName := "RCS_SERVICE_ENABLED_ON_HANDSET";
                        v_String := "RCS service is enabled on the handset.";
                    }
                    case(RCS_SERVICE_WHILE_ROAMING_ENABLED_DISABLED_SWITCH){
                         v_CmdName := "RCS_SERVICE_WHILE_ROAMING_ENABLED_DISABLED_SWITCH";
                         v_String := "RCS Service while roaming enabled/disabled switch";
                     }
                    case(RCS_SERVICE_ENABLED_DISABLED_SWITCH){
                         v_CmdName := "RCS_SERVICE_ENABLED_DISABLED_SWITCH";
                         v_String := "RCS Service’ enabled/disabled switch.";
                     }                    
                }
            }
            case else {
                FatalError (__FILE__, __LINE__, "invalid source of UT command");
            }
        }

        if (v_CmdName != "") {
            v_UT_SYSTEM_REQ := cas_UT_SYSTEM_REQ(cs_MMI_Cmd(v_CmdName, p_UT_IMS_CMD.ParameterList), p_UT_IMS_CMD.CnfReq);
        }
        v_SystemCommand.SystemCmd := v_UT_SYSTEM_REQ;
        v_SystemCommand.CmdString := v_String;
    
        return v_SystemCommand;
    }

Returns: Ut_IMS_SystemCommand_Type -

Parameters: