Set Meeting Conversation audio programmatically using lync 2013 sdk - lync-2013

I am using Lync SDK 2013 to automate lync [skype for business] actions. Eg. When user says Join first meeting, lync.exe is launched and first meeting from pre-displayed list is joined in lync client on the machine. This automates clicking on "Join Skype Meeting" in meeting invite from Microsoft Outlook Calender.
I am using "lyncClient.ConversationManager.JoinConference(meetinguri)" to start meeting.
After meeting is started, I get standard "Join Meeting Audio" dialog which has three options to choose audio like dont join, call me at and join skype for business (full audio and video)
I want to suppress this dialog and somehow send audio setting for this meeting conversation through SIP url or API.
How to achieve this?
Any pointers greatly appreciated.
Thanks in advance
AJ

The Lync Client SDK does not give you this level of control.
If you wish to control these settings, you can control them with the registry. See this article. Even though the article is for an older version of Lync client it's still valid, you just need to translate the registry key to the new location:
HKEY_CURRENT_USER\Software\Microsoft\Office[version]\Lync
where version is the office version installed. e.g. "16.0", "15.0", etc.
You may need to restart the Lync client before the registry settings become active though. You will have to test this.
If you wish to actually automate the UI, then your options are then reduced to using something like the Windows Automation API's. These work fine with the Lync Client but they are a pain to figure out the required steps to automate anything.

Related

Sharepoint Online remote event receiver without App/Add-in

The company I work for uses SharePoint Online. We have a requirement that on most site collections, whenever a user creates a new document library that the document library is configured with the "document" content type being removed, and replaced with some of our own corporate content types.
Previously I've managed this by using a coded sandbox solution installed on relevant site collections which had an event handler that fired on "list added". It's obviously now time to move away from that solution.
I'm really struggling to get to grips with the alternative, conceptually. I'm aiming to replace the old solution with a Remote Event Receiver solution.
The way I think I'd like to achieve this:
1) Create a single remote event receiver hosted in Azure which receives details of a new list being added in a site which it then configures appropriately.
2) Use CSOM to provision the site and as part of that provisioning, hook up the event receiver.
I've spent a lot of time on this, getting nowhere. I initially thought the answer lied in using an App which I could install in the App Catalog and then push out to particular site collections but that doesn't seem to be right.
Is the solution above possible? All examples on the web I've come across of setting up remote event receivers seem to use a SharePoint app which I don't really want to do.
Thanks.
For info I found the answer. You can indeed create a remote event receiver without a SharePoint app/add-in.
The answer was written up here
I thought I needed a SharePoint Provider Hosted App for that part 1
But you should bear in mind that as per Remove event receivers on host web clientContext you will not have the client Context passed through, so
TokenHelper.CreateRemoteEventReceiverClientContext(properties)
...will come through as empty. If you want to interact with SharePoint then you'll need to find another way than this approach, or use a different set of credentials.

Sparx EA - How to capture event (e.g. status change)

Is there an automated way to detect when a requirement's status is set to 'Approved'? The business need is to alert an external app each time a requirement is approved.
One option is to to build an add-in for Enterprise Architect. I wrote some articles about that subject that should help you get started.
In this add-in you can implement the "events" EA_ConContextItemChanged to capture the status before it was changed and EA_OnNotifyContextItemModified to compare it with the previously captured status.
It might be possible that you can also use workflow scripts, but I'm not sure (nobody really uses that).

Print service with user payment

Working at a company, I've been set to develop a print service solution which will be used from multiple platforms. The service should be available at least from Windows (native print dialog), OSX, IOS and Android. I need to be able to see which user is printing, how many pages etc.
I'm looking for a system like CUPS for Windows or Linux, which allows me add/connect to this payment system. The payment system confirms the user have enough points to be able to print the given document. The system should be as transparent as possible for the user and he/she should be able to print like a normal network printer.
The payment system is an existing product, so my system should only handle printing and user authentication.
My first thought was to develop a simple listener that would be running on the server and the clients could connect to, add files to the print queue and print if they had enough points. How ever I could not find any tutorial or similar projects for this approach. Therefore I'm looking into adjusting an already existing product for my needs.
I have made a drawing of how I think the system should look like
I found a solution using CUPS with Tea4Cups. Tea4Cups provides pre/post-hooks where the user can define some scripts/commands to run before and after the document is sent to the printer.
More information about this here:
https://serverfault.com/questions/208268/run-command-before-and-after-printing-with-cups
Run a script when user press print, and not start spooling before script ends (linux, cups)

Apple iCal's "Delegation" tab -- disabled checkboxes?

I am trying to access a CalDAV account in iCal and everything works fine except for the Delegation tab. I can see the account(s) I have access to (including the correct read/write properties), but the checkboxes are disabled and the calendars cannot be selected. Has anyone seen this before & know what the cause is?
This is a custom CalDAV implementation, so it is likely due to a disconnect between what iCal expects and what our server is sending -- but there are no error/warning messages in the console to indicate what the problem might be.
Any advice would be appreciated.
iCal queries the permissions and methods available on the server. To query the permissions on a collection resource you will need to have the DAV::read-current-user-privilege-set permission. Assuming iCal can read the permissions it will be looking for the DAV::read permission for reading and the DAV::bind, DAV::unbind and DAV::write permissions to indicate the ability to write.
The best way to debug this is probably to read RFC3744 about half a dozen times, interspersed with using iCal against a working server and sniffing the TCP communication as it does it. A good way is to use some kind of man-in-the-middle proxy so you can sniff the communication with (e.g.) Mobile Me or iCloud.
In my limited experience, this happens when the account used for sharing is functional (not personal) in Microsoft Exchange Server 2010. An example, where two of three are functional:
I do use various CalDAV implementations but have never encountered the same limitation, so this may be not a good answer. Also Exchange Web Services (EWS) for calendaring and delegation are probably not comparable to CalDAV. Still, it's food for thought.
The Debug menu of iCal 5.x offers CalDAV logging options.
To enable that menu, you could use the Secrets preference pane.

Can Microsoft Windows Workflow route to specific workstations?

I want to write a workflow application that routes a link to a document. The routing is based upon machines not users because I don't know who will ever be at a given post. For example, I have a form. It is initially filled out in location A. I now want it to go to location B and have them fill out the rest. Finally, it goes to location C where a supervisor will approve it.
None of these locations has a known user. That is I don't know who it will be. I only know that whomever it is is authorized (they are assigned to the workstation and are approved to be there.)
Will Microsoft Windows Workflow do this or do I need to build my own workflow based on SQL Server, IP Addresses, and so forth?
Also, How would the user at a workstation be notified a document had been sent to their machine?
Thanks for any help.
I think if I was approaching this problem workflow would work to do it. It is a state machine you want that has three states:
A Start
B Completing
C Approving
However workflow needs to work in one central place (trust me on this, you only want to have one workflow run time running at once, otherwise the same bit of work can be done multiple times see our questions on MSDN forum). So a central server running the workflow is the answer.
How you present this to the users can be done in multiple ways. Dave suggested using an ASP.NET site to identify the machines that are doing the work, which is probably how I would do it. However you could also write a windows forms client that would do the same thing. This would require using something like SOAP / WCF to facilitate communication between client form applications and the central workflow service. This would have the advantage that you could use a system try icon to alert the user.
You might also want to look at human workflow engines, as they are designed to do things such as this (and more), I'm most familiar with PNMsoft's Sequence
You can design a generic "routing" workflow that will cause data to go to a workstation. The easiest way to do this would be to embed the workflow in an ASP.NET application. Each workstation should visit the application with a workstation ID in the querystring:
http://myapp/default.aspx?wid=01
When the form is filled out at workstation A, the workflow running in the web app can enter it into the "work bin" of the next workstation. Anyone sitting at the computer for which the form is destined will see it appear in their list of forms to review. You can use AJAX to make it slick and auto-updating.