I am trying to build application for conferencing using Lync SDK in UI Suppression mode, the application is close to the Meet Now feature in lync so that one user will send his Video/Audio to all other users in conversation, my code is:
// Add conversation using
_LyncClient.ConversationManager.AddConversation();
// When Conversation added add participants
// User 1 will broadcast video/audio
_Conversation.AddParticipant(_LyncClient.ContactManager.GetContactByUri(user1));
// User 2 and User 3 will only recieve audio video
_Conversation.AddParticipant(_LyncClient.ContactManager.GetContactByUri(user2));
_Conversation.AddParticipant(_LyncClient.ContactManager.GetContactByUri(user3));
// Start the audio call from user1 machine
avModality.BeginConnect(AVCallback);
// When recieve the call in user2, user 3 stop mic using mute
_Conversation.SelfParticipant.BeginSetMute(true, (ar) =>
{
_Conversation.SelfParticipant.EndSetMute(ar);
}, _Conversation.SelfParticipant);
// and same technique for video
It works but i noticed that the performance of the call is affected each time a user enters the conversation and the conversation goes to Hold then Retrive states until user is added.
How Can I start a call in one way only send (not send recive), i tried the following:
avModality.BeginConnect(AVCallback, ChannelState.Send);
but it didn't work, also i have a look on the Conversation Properties, Moadilty Properties
but nothing looks helpful.
the only thing i found related is avModality.AudioChannel.State but i can't find a way to set this property?
Can anyone help?
I managed to create a one way video call by starting an audio call from the user who is sending the video and then in ModalityStateChanged calling avModality.VideoChannel.BeginStart once the call was connected.
Hope this helps.
Related
i have bot made using c#. It has the feature of human off. We have integrated the solution provide by tompanna of human handoff where a agent can talk to single user at a time.Here the link of solution we used for human handoff https://github.com/tompaana/intermediator-bot-sample. Our bot is working fine and able to talk with agent with the help of this solution but major issue come when a user want to share image or any kind of attachments from user to agent or from agent to user. The bot show that image is send but user is not able to see it. Simpler case happen in the case of agent.
Image of agent while sending a attachment to user.
And also the image of user ,unable to see the image send by agent.
The sample which you are using for Human HandOff has not been updated over a year, so it gets difficult to be able to find solutions for supporting various features pertaining to the same. However, going through the sample issues, there has been a similar issue in which the sample does not support emojis, images or files to the receiving user. If a user sends any of the above mentioned features, the receiver will get a blank message as it supports only text messages.
Th tentative solution suggested by a user is to create a simple method extension to send image/file messages.You could go ahead and give it a try to see if it works for your case.
Hope this helps.
You need to edit the source code of the library to achieve what you are trying.
In this MessageRouter file , method RouteMessageIfSenderIsConnectedAsync , you can access message.Attachments , then pass it as a parameter to SendMessageAsync in line 432, then from SendMessageAsync in line 160 , you can pass it to CreateMessageActivity method and then in file ConnectorClientMessageBundle , you can access the attachment and attach it to messageActivity.
I'm trying to get the condition (turnContext.Activity.Type == ActivityTypes.EndOfConversation) triggered in OnTurnAsync method so that I can perform some cleanup/summary for chat etc. How can I achieve that?
I've tried CancelAllDialogsAsync() and EndDialogsAsync() but both aren't going to end the chat. FYI, I'm using bot-emulator 4.2.1 and do not have other channel to test.
When CancelAllDialogsAsync() is called, my conversation will go back to the very first dialog (which is list of suggestion). While EndDialogsAsync("End",cancellationToken) just stop the conversation but did not trigger the EndOfConversation Activity type.
You can't do this from the Teams client - Teams doesn't use endOfConversation at all, and all messages between a user and your bot are forever included in the same conversation thread.
If you're using some variant of Direct-Line (e.g. botframework-webchat, or the C# Direct-Line SDK) then you can rig up a button or other element to send an "endOfConversation" activity
I’ve built a game (C#, UWP, Monogame) and want to integrate it with Xbox Live SDK (Microsoft.Xbox.Live.SDK.WinRT.UWP from NuGet).
Already got auth working but experiencing some problems with StatisticManager/Leaderboard.
What exactly am I doing:
Add user with StatisticManager.AddLocalUser(user) and wait for StatisticEventType.LocalUserAdded event from DoWork
Save score with StatisticManager.SetStatisticNumberData(user, leaderboardName, data) and wait for StatisticEventType.StatisticUpdateComplete event from DoWork
Get the leaderboard with StatisticManager.GetLeaderboard(user, leaderboardName, query) and wait for StatisticEventType.GetLeaderboardComplete event from DoWork
On step 3 I get a C++ exception:
“Not found (404)”.
[This looks very similar to this issue](Exceptions and Error 404 when using StatsManager
).
So I’ve already checked the sandbox ID, config file and leaderboard ID but still get the same result.
I did capture the traffic from HTTP monitoring and I see URL like:
"https://leaderboards.xboxlive.com/scids/{scid}/leaderboards/stat({leaderboardId})?xuid={myXboxId}&maxItems=5"
under development, you must change your Xbox SANDBOX from RETAIL to {your sandbox} using XboxLiveTools (you can find it in github).
after published you can switch it back to RETAIL,and if there is no data in leaderboard return result with zero row no exception throw
I fixed the same problem by myself
I am writing an app targeting iOS7 in Xamarin.iOS that is supposed to upload users' pictures to an online storage service as soon as he/she takes them. In order to do this, I set up an ALAssetsLibraryChangedNotification observer, like this:
NSNotificationCenter.DefaultCenter.AddObserver (ALAssetsLibrary.ChangedNotification, Callback);
and then defined a callback like this:
void Callback (NSNotification notification)
{
Console.WriteLine ("Received a notification ALAssetsLibrary : {0}", notification);
//Launch picture upload here
}
This works well, but only with the app open. Is there a way to make my app receive the notification (and process the upload) when it is backgrounded? I use iOS7 backgrounding for file transfers and long running tasks in other points of my app, but I wouldn't know how to apply this to the observer.
Extra question, I would also like to be able to filter out notifications received by this function so that I can launch my upload only if the operation is "new picture created" (currently I get notifications also when pictures are removed/edited/moved).
Thanks in advance for your replies :)
My company is using ShoreTel's SDK to record inbound and outbound calling. We are using LineRecord to handle the recording; however, it is storing the recordings on both the phone server and in the users voice mail. The documentation says there is a way to prevent it from recording in both but doesn't say exactly how.
The code I am using for the LineRecord is:
m_STMLCtl.LineRecord(nLineID, nCallID, RoutePoint, m_STMLCtl.LineGetAddress(nLineID));
The ShoreTel STMLBrowser test application has this code:
STMLCtl.LineRecord(nLineToRecordFrom, nCallID, strExtensionToCall, strContext);
How do I prevent the voice recording from recording to the user's voice mail?
The recording function just initiates a call to the specified extension. Whatever answers that call is responsible for recording the audio. If your recording is winding up in voice mail, then somehow the call is getting to the voice mail extension. If the call hits voice mail, then the recording will be saved in the mailbox of the extension specified in strContext. The only other option is to send the call to a route point and record the audio yourself.
As a note, the better place to ask for help is the ShoreTel Developer Network group.