The Set_Client_Context (CMSCC) call sets the value for the client context. To simplify restart at the client side, the client can specify and store what is known as a client context openUTM. Whenever the client sends user data to the UTM partner application, the last client context set using the Set_Client_Context function is also sent to the UTM application. The context is buffered by openUTM until the end of the conversation unless it is overwritten with a new context.
If the client requests a restart, the last context saved is transferred back to the client together with the last dialog message.
The client context is not saved by openUTM unless the client is signed on using a UTM user ID with restart functionality. This is a requirement for service restart. The context is ignored in all other cases.
The Set_Client_Context call is permitted only in the "Send" state.
This function is not a component of the CPI-C specification but is an additional function of the UPIC carrier system.
CMSCC (conversation_ID, client_context, client_context_length, return_code)
Parameters
--> conversation_ID | Conversation identifier |
--> client_context | Specifies the context the client wants to send to openUTM |
--> client_context_length | Length of the context Minimum 0, maximum: 8 |
<-- return_code | Result of the function call |
Result ( return_code )
CM_OK
The call is OK
CM_PROGRAM_STATE_CHECK
The conversation is not in the "Send" state.
CM_PROGRAM_PARAMETER_CHECK
The value in conversation_ID is invalid or the value of client_context_length is less than 0 or more than 8.
CM_PRODUCT_SPECIFIC_ERROR
The UPIC instance could not be found.
State change
If there are no errors, the function returns CM_OK. The call does not change the state of the conversation.
Notes
If the return code is not CM_OK, client_context remains unchanged.
The internal buffer size for the client context is currently limited to 8 bytes.
Behavior in the event of errors
CM_PROGRAM_STATE_CHECK
Modify program.
CM_PROGRAM_PARAMETER_CHECK
Modify program.
CM_PRODUCT_SPECIFIC_ERROR
The operating system cannot provide sufficient memory for internal buffers. Check whether the memory requirement of your program is too high and if necessary reboot your system.
CM_ENTRY Set_Client_Context ( unsigned char CM_PTR conversation_ID, unsigned char CM_PTR client_context, CM_INT32 CM_PTR client_context_length, CM_RETURN_CODE CM_PTR return_code )