Expand my Community achievements bar.

SOLVED

How can disable or stop guest webcam

Avatar

Level 2

I am new developer...Please Please ...help

I want that guest can't start his webcan. When guest enter in room then guest only can see PUBLICER webcam. guest.JPG

You can see a button in screen shot "Start My Camera". I want do this disable or remove from here. How can I do this?

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

Hi,

You can on your server assign any user id to a user name and generate the authentication token. Then you can pass the authentication token and room url to the client using flash var or anything and he will be logged in with his name and his id will be something like EXT-{lccs account name}-{given user id} to have it globally unique. There are ample forum posts on external authentication and user id. You should go through them.

And I got your post the first time only. You don't need to post the same multiple times on a Saturday. We try to reply as soon as possible but you need to have patience on your side.

Thanks

Hironmay Basu

View solution in original post

9 Replies

Avatar

Former Community Member

Hi,

Users who enter with the user role= 50 i.e. publisher should see as well as start their camera while those with role=10 can only see camera of others. You might have auto-promote on in your room settings, that automatically makes every entering user as publisher.

There are a number of ways you can make one some users as publisher(role=50) and some(whom you don't want to have their camera) as viewers(role=10).

1. If there is a host in the room in application or logged in to the room using room console, he can either

a) demote entering users to viewers(whom you don't want to have their camera) provided every entering user is publisher( as in your image). OR

b) you can turn off auto promote and when users enter as viewers, you can promote some users to publisher(whom you want to have camera).

2. Best and cleanest way is to have your server side script do external authentication and provide an authentication token to all users who enter. When your server side script does get the token, it specifies what role the user will have when he enters the room.

Here is what the code would look like.

session = accountManager.getSession("roomName");

secretKey = "Your shared secret key from dev portal";

session.getAuthenticationToken(secretKey,"Entering UserID", "Entering User's display name", "his role");

You then pass the authentication token to the respective entering user and he enters only with his specified user role for that room.

For more details, please see our developer docs under docs/LCCS_Developer_Guide.pdf. Look for 'Programmatic Provisioning' under section 6.2 of room provisioning to see how external authentication works.

Hope this helps

Thanks

Regards

Hironmay Basu

Avatar

Level 2

What is Entering UserID..in this line... session.getAuthenticationToken(secretKey ,"Entering UserID", "Entering User's display name", "his role");

How can find it.

Avatar

Level 2

Hi Hironmay,

Thanks for your kind reply and interest. I am thankful for your prompt and

instant replies. I just gone through the whole mail throughly. And I have

one concern at some points and I feel better to clarify.

In the second point, you mentioned about the 'Entering UserID'. How can we

get the UserID? According to the server side script, there is a function

defined on server side i.e. *getUserID. *But, it also requires to pass the

argument of id. what does this ID refers?

*

*

Avatar

Correct answer by
Former Community Member

Hi,

You can on your server assign any user id to a user name and generate the authentication token. Then you can pass the authentication token and room url to the client using flash var or anything and he will be logged in with his name and his id will be something like EXT-{lccs account name}-{given user id} to have it globally unique. There are ample forum posts on external authentication and user id. You should go through them.

And I got your post the first time only. You don't need to post the same multiple times on a Saturday. We try to reply as soon as possible but you need to have patience on your side.

Thanks

Hironmay Basu

Avatar

Level 2

Hi Hironmay,

I am creating keytoken with help of this sever side code but this code is giving error "Fatal error:  Call to undefined function getAuthenticationToken()".

This server side in PHP.

$lccs = new RTCAccount($accountURL);

$lccs->login($devUsername, $devPassword);

$session =$lccs->getSession($room);

$keytoken=$session.getAuthenticationToken($token,$username ,$id ,$role);

Please tell me What is error here....

One thing more when I am creating object of RTCSession class then three arguments ($instance, $account, $room) nedded .

Please tell me what is the value of $instance and $account.

Avatar

Employee

The call to getAuthenticationToken should be:

$session->getAuthenticationToken(...)

You are using:

$session.getAuthenticationToken(...)

I don't know why you want to create RTCSession objects using the constructor. You need to use, as in your example, $account->getSession(room)

Avatar

Level 2

Hi,

Thanks for your kind reply. As I am just a newcomer for this field, therefore having some doubt accordingly. I just tried to run getAuthenticationToken method with the help of RTC account object. But, I think these is something wrong.

As you explained, It should get the access with help of RTC session object. But in that case, the method will take 3 argument i.e. $instance, $account, $room. Now, I am unable to understand the values of these variables, specially $instance and $account.

Once, I am using $session->getAuthenticationToken(...), then its working fine.

Please explain in detail.

Thanks,

Rajsun2

Avatar

Former Community Member

$account : Your account name

$room : Your room name

$instance : Your app/session instance. Something like you will have na2-sdk-blahblah/roomName

Anyways as Raff mentioned, you don't need to call this constructor. All you need is accountManager->getSession("roomName") to get the Session. Moreover, you can always look into code and trace the values out.

I honestly believe that you need to do more investigation on your part i.e. read dev guide, mine forums, read our wiki, watch videos and then get back to us.

Regards

Hironmay Basu

Avatar

Level 2

I am  creating authenticationKey on PHP (server side) after then loging  on flex ( client side) whit help of session.login();  and It is working  fine. But when I am using session.logout(); for logout then it is not  working.....When I am login as new user it is showing old user already  loging...

Please reply

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----