When sending an Instant Message through UCMA you have a few options available to you that simplify the setting of a conversation’s subject. This can be useful for a user who might have a myriad of ongoing conversations and needs to know the content of what is incoming and what is ongoing.
Enter the Toast Message and the Conversation Subject.
The Toast MessageThe Toast Message is the alert you receive in the bottom right corner of your screen that alerts you to an incoming IM. This message is fully customizable but is only instantiated when the call is established. In this example, I have a variable called _conversationSubject which I pass into my BeginEstablish method that sets the value of the ToastMessage for the conversation.
_instantMessagingCall.BeginEstablish(DestinationUri, new ToastMessage(_conversationSubject), null, CallEstablishCompleted, _instantMessagingCall);
After the IM has been opened, the ToastMessage subject is no longer applied to the conversation and the conversation defaults to the SFB default subject (name of the person you are chatting with).
The Conversation settings are different in nature as they are set BEFORE the InstantMessagingCall is created (i.e., before a Toast Message is established). The implementation is again very simple where I instantiate the ConversationSettings object, add in my subject and then proceed to initialize the call.
ConversationSettings convSettings = new ConversationSettings(); convSettings.Id = Guid.NewGuid().ToString(); convSettings.Subject = _conversationSubject; Conversation conversation = new Conversation(transferee, convSettings); _instantMessagingCall = new InstantMessagingCall(conversation);
Leveraging both the ConversationSettings and ToastMessage classes, give you the power and flexibility to ensure that you are either delivering a consistent user implementation and/or a more targeted experience based on the severity of call that is coming in.
Although this might seem unnecessary for a User to User Instant Message Conversation, where it really starts to shine is when an agent is handling multiple IM conversations that interact with the same Application Endpoint.