daily-co/daily-python

Transcription Message Session ID is Incorrect Value

Opened this issue · 3 comments

When receiving am on_transcription_message Event, the TranscriptionMessage should include the session_id (according to the docs) which should allow for lookup of the room/meeting based on that value. The current value of session_id is Daily's internal UUID for the speaker, which means that the Event isn't able to be tied back to the proper meeting outside of a meeting's context.

Hi @kressaty ! Thank you for reporting this. In the upcoming version session_id will be renamed to participantId. As you found out, that ID belongs to the speaker that is actually talking not the meeting ID.

In order to correlate the on_transcription_message to the meeting you have various options. You might have a simple class for your app (or client), for example:

class MyClient(EventHandler):

  def __init__(self):
      self.client = CallClient(event_handler = self)
   
  def join(self, url):
      self.client.join(url, completion = self.on_joined)

  def on_joined(self, info, error):
     # store session id to self

  def on_transcription_message(self, message)
       # access self to get the meeting id

Would it be useful to include the room/meeting in the transcription message? If so, we might consider adding it. Thanks!

@aconchillo great! I see this went out in a release. Honestly, the Room and Session ID would be super valuable, and it's painful now that you've removed the user_id since now we have to do another HTTP request on every transcription message to retrieve who said what.

@aconchillo great! I see this went out in a release. Honestly, the Room and Session ID would be super valuable, and it's painful now that you've removed the user_id since now we have to do another HTTP request on every transcription message to retrieve who said what.

We can certainly add the room and session id, I will bring it to the team.

About the user_id: the one you really want is participantId which is now available and you can then use it with the participants() response. Previously, this field was called session_id so we just renamed it to participantId. Also, the previous user_id and user_name were not very useful and were tight to the fields coming from a user's meeting token: https://docs.daily.co/reference/rest-api/meeting-tokens. Apologies for these changes, but we believe this now makes it more clearer. Please, let me know if you have any questions.