Search code examples
ruby-on-railswebrtcopentoktokbox

How to manually subscribe in opentok to stream, if I know publisher sessionId?


I write simple chatroulette on Rails using websockets by this example.

On subscribe event must I create @partnerSession by new token or I can use already generated partner token? And most important: how can I manually get partner stream? Must I store ALL streams by streamCreated event and then get one with partner sessionId?

  subscribe: (message) =>
    { sessionId, token } = message
    @partnerSession = OT.initSession API_KEY, sessionId

    # config partner session
    @partnerSession.on
      sessionConnected: (event) =>
        options = {
          insertMode: 'append',
          width: 400,
          height: 300
        }
        subscriber = @partnerSession.subscribe event.stream, 'subscriberContainer', options, (error) =>
          console.log error if error
          @notification "Have fun !!!!"
      sessionDisconnected: (event) =>
        @partnerSession.off # remove all event handlers
        @partnerSession = null
        @dispatcher.trigger 'find_partner' if @isPartnerNeeded
      streamDestroyed: (event) =>
        @partnerSession.disconnect()
    @partnerSession.connect API_KEY, token

Solution

  • I pass additional information (@partnerSession.sessionId) in name fiels, I know this is nasty