That's right - you can't use the Automation API in UI suppression mode at all, as it needs a running, visible instance of Lync to interact with.
You can start calls in UI supression, but it's a lot more work. First, get hold of the Lync client using:
var _client = LyncClient.GetClient();
Then add a new conversation using the ConversationManager:
_client.ConversationManager.ConversationAdded += ConversationManager_ConversationAdded;
_client.ConversationManager.AddConversation();
The following code shows how to handle the events and operations that stem from adding the new conversation:
private void ConversationManager_ConversationAdded(object sender, ConversationManagerEventArgs e)
{
_conversation = e.Conversation;
_conversation.ParticipantAdded += Conversation_ParticipantAdded;
var contact = _client.ContactManager.GetContactByUri("+441234567890");
_conversation.AddParticipant(contact);
}
private void Conversation_ParticipantAdded(object sender, ParticipantCollectionChangedEventArgs e)
{
if (!e.Participant.IsSelf)
{
_avModality = (AVModality)_conversation.Modalities[ModalityTypes.AudioVideo];
if (_avModality.CanInvoke(ModalityAction.Connect))
{
_avModality.BeginConnect(AVModalityConnectCallback, _avModality);
}
}
}
private void AVModalityConnectCallback(IAsyncResult ar)
{
_avModality.EndConnect(ar);
}
Hopefully that should get you started.