问题
I try to register a handler for incoming calls for all Lync Users. The problem is I cannot store all the Credentials that are needed when using a UserEndpoint. At the moment I have managed to retrieve all Lync Users and also their online state with a hard coded service UserEndpoint.
As I already figured out, you cannot listen for incoming calls with an ApplicationEndpoint, so do I need a UserEndpoint for every Lync User? I read somewhere that it is possible to create a UserEndpoint without Credentials in a trusted Application.
In theory I already created a trusted application relationship between the Lync Front End Server and the Application Server and also registered the TrustedApplicationEndpoint. I just can't be sure if it is really working as I do not get a different result when changing the trustedapplicationname or any of the other settings.
Is there another way to solve this problem?
If not what do I have to do to listen for all incoming Calls?
回答1:
You can listen to register for incoming calls on an ApplicationEndpoint
, but it will listen only to calls directed to it, not to other users. An application endpoint has it's own SIP address.
You can deal with your problems in multiple ways. A lot depends on what you want to do with "listening to all incoming calls".
The route you have chosen is to create a UserEndpoint
for each user. If you have a trusted application already set up, you can use its CollaborationPlatform
to create new user endpoints. The idea of a "trusted" application is that it is allowed to impersonate everyone and create endpoints on their behalf, without having each users' credentials.
Some important things to think about for this solution:
- Creating an endpoint for every user could mean creating and managing a lot of endpoints.
- Users will be shown as online (or away/busy/etc) whether they really are or not, because you created an active endpoint for them.
- This will not catch calls to non-existing addresses (might not be a real problem).
The second option is to use MSPL
to change the routing of incoming calls. You can redirect calls to the SIP address of your ApplicationEndpoint
, and you will need only 1 endpoint and one call listener. Some more info and details on this method can be found here: Rerouting requests to a UCMA application with MSPL.
As said before, a lot depends on what you're trying to achieve here.
来源:https://stackoverflow.com/questions/26234704/how-to-get-all-incoming-calls-for-all-users-in-ucma-with-an-application-endpoint