Try VideoChannel.StateChanged
event. This event is under Conversation.ParticipantAdded
event.
this.Conversation.PaticipantAdded += this.Conversation_ParticipantAdded;
private void Conversation_ParticipantAdded(object sender, ParticipantCollectionChangedEventArgs e) {
if (e.Participant.IsSelf) {
}
else {
var avModality = e.Participant.Modalities[ModalityTypes.AudioVideo] as AVModality;
avModality.VideoChannel.StateChanged += this.ClientParticipant_VideoChannel_StateChanged;
}
}
private void ClientParticipant_VideoChannel_StateChanged(object sender, ChannelStateChangedEventArgs e) {
//Look for e.NewState
}
e.NewState
can be used for listening channelstate enum. The details of enum can be found here.
Also have a look at this link. It uses Lync SDK 2010, but still looks to be quite relevant.