Services Plugins FAQs

Agora Streaming & Video Conference - String UID

Hi,

I am experiencing a problem caused by the StringUIDs generated by the Join AgoraRTC element. I have been informed by Agora support that these StringUIDs are the root cause of some compatibility issues we are experiencing with the Agora service, and I need it to generate integer UIDs instead.

The Join AgoraRTC element appears to take the uniqeIDs for each of the users and removes the ‘x’ to create a new string. Even though it looks like a number, it is a string, and Agora is treating it as a string.

I have tried using the Set states UID element before the Join AgoraRTC, bu the Join AgoraRTC overwrites the UID when it runs. I can’t use it after, because the UID can’t be changed once a user has joined.

I’m not sure if I am just missing the place where the UID is set. That would be great.

Any help would be greatly.

I have also found that in the documentation, the UID states are all referred to as text values, which makes me suspect that even if I was able to change them they would still be strings.

Does anyone know if there is a way around this?

image

Hello, @jacob.henwood
Thanks for reaching out.

The Agora Server Gateway supports both integer (int) user IDs and string user IDs. In our case, we decided to use String User ID, since this allows us to generate more combinations, due to the fact that we use X in this field.


So, this is the way our plugin was written by our developers.

Can you please explain in more detail your idea? We have never received such requests from other users since it never was an issue.
Thus, we need to understand your idea to be able to discuss it and provide you with a solution.

Looking to hearing from you soon.
Best regards,

Hi @Ecaterina,

Thank you for getting back to me.

I understand that the Agora Server Gateway supports both integer (int) UIDs and string UIDs, and I’m also aware that the Zeroqode developers have decided to use string UIDs.

It is interesting that you say that the ‘x’ from the current user’s unique ID is preserved during the process. When we look at the call in the Agora console, the UID for both callers has had the ‘x’ removed.

image
image

A Solution Architect from the Agora team has recommended to me that we use the integer UIDs because of compatibility issues between the string UIDs and other Agora services.

My ‘idea’ is to be allowed to use integer UIDs so that we don’t experience the compatibility issues associated with the string UIDs.

Hi @Ecaterina,

Here is a link to the Agora Developers documentation that says that string UID is in beta, and goes on to list the Agora services it is incompatible with.

Hello, @jacob.henwood
Thanks for all this information.

Currently, there is no possibility to use the UID as an integer. It is prescribed in our plugin’s code.

Yes, we are already familiar with this documentation and with the fact, that UID as a string is still in Beta mode.

The string UID was created and is used right now based on the services we currently use.

Can you please add more details here? I need to understand the exact incompatibility are you facing, so I can discuss it with our developers.

I am looking to hearing from you soon.
Best regards,

Hie @Ecaterina,

We have been experiencing compatibility issues with the Agora speech-to-text service. We were also previously having issues with the cloud recording service that we could never get to work properly and ended up abandoning.

The Zeroqode documentation says that it supports cloud recording and includes setup instructions:

This is one of the features that does not support string UIDs.

We would like to get this working as an alternative.

While we would far prefer to use the speech-to-text service, we will use the recording service and perform the speech-to-text operation in AWS if necessary.

Hello, @jacob.henwood

There could be a lot of reasons for non-workable recording on your side: ranging from an expired key to incomplete settings.
This has to be considered on a case-by-case basis, based on the settings in your application.

Actually, on our side, Stream recording worked on our side.

I will discuss with our developers if it is possible to improve the recording of UID and use both integer and string types.
However, I can’t guarantee anything. We need to see how feasible it will be for us :pray:

If it would be implemented - I will let you know.
Best regards,

Hello, @jacob.henwood

Since we are still working on analyzing and rewriting the recording of UID with our plugin, however, our developers need some additional details about your use case.
Could you please specify what kind of UID you need? We get the state from the User UID element and also, and there is another state, which is created from the “Generate Agora Token” UID action. From the “Generate Recording Token” action we also get a UID, just like the others.

Since we can’t rewrite the entire plugin, we need to understand, at which step you need to record the String UID.

I am looking to hearing from you soon.
Best regards,

HI @Ecaterina,

Thank you for getting following up on this.

We need an integer UID when the users join the call. At the moment the plugin is creating String UID by taking the user’s unique ID and removing the ‘x’ in the middle, making a string of numerals.

To be clear, we do not need to store the string UID. We can already pull that quite easily. The string UID is incompatible with the Agora Speech-to-Text service that we are trying to use.

Trying to use set state before the call to set an integer UID doesn’t work because it is overwritten (I assume) by the Join function in the plugin.

Let me know if there is anything else that you need from me.

Hello, @jacob.henwood
Thanks for these details.

I will forward this information to our development team and we will see if that is possible for this case.
Thanks for understanding.

Best regards,

Hello, @jacob.henwood
Thanks a lot for your patience.

After a lot of manipulations and changes to the plugin’s code, we should notify you that currently, it is not possible to implement Number UID on our end.
I’m afraid that in order to allow a different UID format, we need to rewrite the plugin almost completely.
Currently, this does not meet our goals.

I’m sorry for the time you spent waiting for the update, however, this is not something we can proceed with right now :pray:

Best regards,