I'm going to use C# to illustrate the solution but you could easily convert it to VB if needed.
Let's start off with some base assumptions:
- A session is established.
- The call id is defined in string variable
In my code, I will have these variables already declared and defined:
Session session;
string callId;
With that, make sure your project has references to ININ.IceLib (naturally) and ININ.IceLib.Interactions and that wherever you'd like to use this code has the
using ININ.IceLib;
using ININ.IceLib.Connection;
using ININ.IceLib.Interactions;
Now, grab an instance of the InteractionsManager object which is a singleton design pattern:
InteractionsManager interactionsManager = InteractionsManager.GetInstance(session);
From there, we want to "create" an interaction locally with the InteractionsManager object:
Interaction interaction = interactionsManager.CreateInteraction(new InteractionId(callId));
And lastly, to obtain the attributes you would like, call the Get<Type>Attribute(string attributeName) method on the Interaction object.
For example, if you wish to get a handful of string attributes, you can do the following:
IDictionary<string,string> results = interaction.GetStringAttributes(new string[] { "attribute1", "attribute2", etc });
I am unsure if there is a way to get a list of attributes that are currently set on the Interaction, and if that was your question, I am sorry that I misunderstood. Hope this at least points you in the right direction.