opentok 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.github/workflows/ci.yml +3 -3
 - data/CHANGES.md +153 -0
 - data/lib/opentok/archive.rb +49 -2
 - data/lib/opentok/archives.rb +89 -4
 - data/lib/opentok/broadcast.rb +44 -1
 - data/lib/opentok/broadcast_list.rb +14 -0
 - data/lib/opentok/broadcasts.rb +109 -6
 - data/lib/opentok/client.rb +161 -0
 - data/lib/opentok/connections.rb +1 -1
 - data/lib/opentok/constants.rb +1 -0
 - data/lib/opentok/opentok.rb +7 -7
 - data/lib/opentok/sip.rb +40 -2
 - data/lib/opentok/streams.rb +50 -1
 - data/lib/opentok/token_generator.rb +1 -0
 - data/lib/opentok/version.rb +1 -1
 - data/opentok.gemspec +1 -1
 - data/sample/Broadcast/README.md +42 -0
 - data/sample/Broadcast/broadcast_sample.rb +15 -0
 - data/sample/Broadcast/views/all.erb +46 -0
 - data/sample/Broadcast/views/index.erb +16 -1
 - data/spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml +37 -0
 - data/spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml +37 -0
 - data/spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml +37 -0
 - data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml +192 -0
 - data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml +117 -0
 - data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml +92 -0
 - data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml +142 -0
 - data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml +117 -0
 - data/spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml +37 -0
 - data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
 - data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
 - data/spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml +2 -2
 - data/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml +37 -0
 - data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml +39 -0
 - data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml +39 -0
 - data/spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml +39 -0
 - data/spec/opentok/archives_spec.rb +11 -0
 - data/spec/opentok/broadcasts_spec.rb +50 -3
 - data/spec/opentok/connection_spec.rb +1 -1
 - data/spec/opentok/sip_spec.rb +32 -1
 - data/spec/opentok/streams_spec.rb +21 -1
 - metadata +38 -5
 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            http_interactions:
         
     | 
| 
      
 3 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 4 
     | 
    
         
            +
                method: patch
         
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://api.opentok.com/v2/project/123456/broadcast/13dbcc23-af92-4862-9184-74b21815a814/streams
         
     | 
| 
      
 6 
     | 
    
         
            +
                body:
         
     | 
| 
      
 7 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: '{"removeStream":"12312312-3811-4726-b508-e41a0f96c68f"}'
         
     | 
| 
      
 9 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 10 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  X-Opentok-Auth:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - "*/*"
         
     | 
| 
      
 20 
     | 
    
         
            +
              response:
         
     | 
| 
      
 21 
     | 
    
         
            +
                status:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  code: 204
         
     | 
| 
      
 23 
     | 
    
         
            +
                  message: No Content
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - nginx
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - Tue, 23 Nov 2021 20:49:23 GMT
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Connection:
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - keep-alive
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Set-Cookie:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - AWSALBTG=IVCBek0mkrwLClWNRdLjy1iFNSsOxBPlYS4DBo6ihXHl5qScay403/clceKAPEMdaMxF6eUaou388eSdkjuZ9olWCDF49IGVNCP4gmF8O9Ajvjqhh/cVuzMKL5kOrkjSgjVouTyOyAT3K4NaPfM+U6sBd7UQ0HhTHgND5lsgfSu9Y27EKj8=;
         
     | 
| 
      
 33 
     | 
    
         
            +
                    Expires=Tue, 30 Nov 2021 20:49:22 GMT; Path=/
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - AWSALBTGCORS=IVCBek0mkrwLClWNRdLjy1iFNSsOxBPlYS4DBo6ihXHl5qScay403/clceKAPEMdaMxF6eUaou388eSdkjuZ9olWCDF49IGVNCP4gmF8O9Ajvjqhh/cVuzMKL5kOrkjSgjVouTyOyAT3K4NaPfM+U6sBd7UQ0HhTHgND5lsgfSu9Y27EKj8=;
         
     | 
| 
      
 35 
     | 
    
         
            +
                    Expires=Tue, 30 Nov 2021 20:49:22 GMT; Path=/; SameSite=None; Secure
         
     | 
| 
      
 36 
     | 
    
         
            +
              recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
         
     | 
| 
      
 37 
     | 
    
         
            +
            recorded_with: VCR 6.0.0
         
     | 
| 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            http_interactions:
         
     | 
| 
      
 3 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 4 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/connection/CONNID/play-dtmf
         
     | 
| 
      
 6 
     | 
    
         
            +
                body:
         
     | 
| 
      
 7 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: '{"digits":"0123456789*#p"}'
         
     | 
| 
      
 9 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 10 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  X-Opentok-Auth:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - "*/*"
         
     | 
| 
      
 20 
     | 
    
         
            +
              response:
         
     | 
| 
      
 21 
     | 
    
         
            +
                status:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 23 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - nginx
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - Mon, 01 Nov 2021 12:27:19 GMT
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - application/xml
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Content-Length:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - '177'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  Connection:
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - keep-alive
         
     | 
| 
      
 35 
     | 
    
         
            +
                body:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 37 
     | 
    
         
            +
                  string: ""
         
     | 
| 
      
 38 
     | 
    
         
            +
              recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
         
     | 
| 
      
 39 
     | 
    
         
            +
            recorded_with: VCR 6.0.0
         
     | 
| 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            http_interactions:
         
     | 
| 
      
 3 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 4 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/play-dtmf
         
     | 
| 
      
 6 
     | 
    
         
            +
                body:
         
     | 
| 
      
 7 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: '{"digits":"0123456789*#p"}'
         
     | 
| 
      
 9 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 10 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  X-Opentok-Auth:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - "*/*"
         
     | 
| 
      
 20 
     | 
    
         
            +
              response:
         
     | 
| 
      
 21 
     | 
    
         
            +
                status:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 23 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - nginx
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - Mon, 01 Nov 2021 12:35:08 GMT
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - application/xml
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Content-Length:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - '177'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  Connection:
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - keep-alive
         
     | 
| 
      
 35 
     | 
    
         
            +
                body:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 37 
     | 
    
         
            +
                  string: ""
         
     | 
| 
      
 38 
     | 
    
         
            +
              recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
         
     | 
| 
      
 39 
     | 
    
         
            +
            recorded_with: VCR 6.0.0
         
     | 
| 
         @@ -5,7 +5,7 @@ http_interactions: 
     | 
|
| 
       5 
5 
     | 
    
         
             
                uri: https://api.opentok.com/v2/project/123456/dial
         
     | 
| 
       6 
6 
     | 
    
         
             
                body:
         
     | 
| 
       7 
7 
     | 
    
         
             
                  encoding: UTF-8
         
     | 
| 
       8 
     | 
    
         
            -
                  string: '{"sessionId":"SESSIONID","token":"TOKENID","sip":{"uri":"sip:+15128675309@acme.pstn.example.com;transport=tls","auth":{"username":"bob","password":"abc123"},"secure":"true"}}'
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: '{"sessionId":"SESSIONID","token":"TOKENID","sip":{"uri":"sip:+15128675309@acme.pstn.example.com;transport=tls","auth":{"username":"bob","password":"abc123"},"secure":"true","video":"true","observeForceMute":"true"}}'
         
     | 
| 
       9 
9 
     | 
    
         
             
                headers:
         
     | 
| 
       10 
10 
     | 
    
         
             
                  User-Agent:
         
     | 
| 
       11 
11 
     | 
    
         
             
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
         @@ -35,6 +35,6 @@ http_interactions: 
     | 
|
| 
       35 
35 
     | 
    
         
             
                body:
         
     | 
| 
       36 
36 
     | 
    
         
             
                  encoding: UTF-8
         
     | 
| 
       37 
37 
     | 
    
         
             
                  string: '{"id":"2299ba24-a6de-417c-88f7-28da54a441cf","projectId":"123456","sessionId":"SESSIONID","connectionId":"833a7182-61a5-49d4-baae-c324b09953af","streamId":"b1963d15-537f-459a-be89-e00fc310b82b","createdAt":1492468803946,"updatedAt":1492468803946}'
         
     | 
| 
       38 
     | 
    
         
            -
                http_version: 
     | 
| 
      
 38 
     | 
    
         
            +
                http_version:
         
     | 
| 
       39 
39 
     | 
    
         
             
              recorded_at: Mon, 17 Apr 2017 22:40:01 GMT
         
     | 
| 
       40 
40 
     | 
    
         
             
            recorded_with: VCR 2.8.0
         
     | 
| 
         @@ -0,0 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            http_interactions:
         
     | 
| 
      
 3 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 4 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute
         
     | 
| 
      
 6 
     | 
    
         
            +
                body:
         
     | 
| 
      
 7 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: '{"active":"false"}'
         
     | 
| 
      
 9 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 10 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  X-Opentok-Auth:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - "*/*"
         
     | 
| 
      
 20 
     | 
    
         
            +
              response:
         
     | 
| 
      
 21 
     | 
    
         
            +
                status:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 23 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - nginx
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - Thu, 13 Jan 2022 15:37:24 GMT
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Content-Length:
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - '0'
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Connection:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - close
         
     | 
| 
      
 33 
     | 
    
         
            +
                body:
         
     | 
| 
      
 34 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 35 
     | 
    
         
            +
                  string: ''
         
     | 
| 
      
 36 
     | 
    
         
            +
              recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
         
     | 
| 
      
 37 
     | 
    
         
            +
            recorded_with: VCR 6.0.0
         
     | 
| 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            http_interactions:
         
     | 
| 
      
 3 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 4 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute
         
     | 
| 
      
 6 
     | 
    
         
            +
                body:
         
     | 
| 
      
 7 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: '{"active":"true"}'
         
     | 
| 
      
 9 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 10 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  X-Opentok-Auth:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - "*/*"
         
     | 
| 
      
 20 
     | 
    
         
            +
              response:
         
     | 
| 
      
 21 
     | 
    
         
            +
                status:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 23 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - nginx
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - Fri, 29 Oct 2021 11:48:19 GMT
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Content-Length:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - '0'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  Connection:
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - close
         
     | 
| 
      
 35 
     | 
    
         
            +
                body:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 37 
     | 
    
         
            +
                  string: ''
         
     | 
| 
      
 38 
     | 
    
         
            +
              recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
         
     | 
| 
      
 39 
     | 
    
         
            +
            recorded_with: VCR 6.0.0
         
     | 
| 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            http_interactions:
         
     | 
| 
      
 3 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 4 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/mute
         
     | 
| 
      
 6 
     | 
    
         
            +
                body:
         
     | 
| 
      
 7 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: '{"excludedStreams":["b1963d15-537f-459a-be89-e00fc310b82b"],"active":"true"}'
         
     | 
| 
      
 9 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 10 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  X-Opentok-Auth:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - "*/*"
         
     | 
| 
      
 20 
     | 
    
         
            +
              response:
         
     | 
| 
      
 21 
     | 
    
         
            +
                status:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 23 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - nginx
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - Fri, 29 Oct 2021 12:01:42 GMT
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Content-Length:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - '0'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  Connection:
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - keep-alive
         
     | 
| 
      
 35 
     | 
    
         
            +
                body:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 37 
     | 
    
         
            +
                  string: ''
         
     | 
| 
      
 38 
     | 
    
         
            +
              recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
         
     | 
| 
      
 39 
     | 
    
         
            +
            recorded_with: VCR 6.0.0
         
     | 
| 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            http_interactions:
         
     | 
| 
      
 3 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 4 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://api.opentok.com/v2/project/123456/session/SESSIONID/stream/STREAMID/mute
         
     | 
| 
      
 6 
     | 
    
         
            +
                body:
         
     | 
| 
      
 7 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 8 
     | 
    
         
            +
                  string: ''
         
     | 
| 
      
 9 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 10 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  - OpenTok-Ruby-SDK/<%= version %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  X-Opentok-Auth:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - "*/*"
         
     | 
| 
      
 20 
     | 
    
         
            +
              response:
         
     | 
| 
      
 21 
     | 
    
         
            +
                status:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 23 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - nginx
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - Fri, 29 Oct 2021 11:01:54 GMT
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 30 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 31 
     | 
    
         
            +
                  Content-Length:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - '0'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  Connection:
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - keep-alive
         
     | 
| 
      
 35 
     | 
    
         
            +
                body:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 37 
     | 
    
         
            +
                  string: ''
         
     | 
| 
      
 38 
     | 
    
         
            +
              recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
         
     | 
| 
      
 39 
     | 
    
         
            +
            recorded_with: VCR 6.0.0
         
     | 
| 
         @@ -259,4 +259,15 @@ describe OpenTok::Archives do 
     | 
|
| 
       259 
259 
     | 
    
         
             
                it { should raise_error(OpenTok::OpenTokError) }
         
     | 
| 
       260 
260 
     | 
    
         
             
              end
         
     | 
| 
       261 
261 
     | 
    
         | 
| 
      
 262 
     | 
    
         
            +
              it "adds a stream to an archive", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
         
     | 
| 
      
 263 
     | 
    
         
            +
                opts = {}
         
     | 
| 
      
 264 
     | 
    
         
            +
                response = archives.add_stream(started_archive_id, '12312312-3811-4726-b508-e41a0f96c68f', opts)
         
     | 
| 
      
 265 
     | 
    
         
            +
                expect(response.code).to eq(204)
         
     | 
| 
      
 266 
     | 
    
         
            +
              end
         
     | 
| 
      
 267 
     | 
    
         
            +
             
     | 
| 
      
 268 
     | 
    
         
            +
              it "removes a stream from an archive", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
         
     | 
| 
      
 269 
     | 
    
         
            +
                response = archives.remove_stream(started_archive_id, '12312312-3811-4726-b508-e41a0f96c68f')
         
     | 
| 
      
 270 
     | 
    
         
            +
                expect(response.code).to eq(204)
         
     | 
| 
      
 271 
     | 
    
         
            +
              end
         
     | 
| 
      
 272 
     | 
    
         
            +
             
     | 
| 
       262 
273 
     | 
    
         
             
            end
         
     | 
| 
         @@ -157,7 +157,7 @@ describe OpenTok::Broadcasts do 
     | 
|
| 
       157 
157 
     | 
    
         
             
                stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
         
     | 
| 
       158 
158 
     | 
    
         
             
                  with(body: {type: 'custom', stylesheet: 'stream {float: left; height: 100%; width: 33.33%;}'}).
         
     | 
| 
       159 
159 
     | 
    
         
             
                  to_return(status: 200)
         
     | 
| 
       160 
     | 
    
         
            -
             
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
       161 
161 
     | 
    
         
             
                response  = broadcast.layout(started_broadcast_id, {
         
     | 
| 
       162 
162 
     | 
    
         
             
                    type: "custom",
         
     | 
| 
       163 
163 
     | 
    
         
             
                    stylesheet: "stream {float: left; height: 100%; width: 33.33%;}"
         
     | 
| 
         @@ -205,7 +205,7 @@ describe OpenTok::Broadcasts do 
     | 
|
| 
       205 
205 
     | 
    
         
             
              it "changes the layout of a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
         
     | 
| 
       206 
206 
     | 
    
         
             
                stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
         
     | 
| 
       207 
207 
     | 
    
         
             
                  to_return(status: 200)
         
     | 
| 
       208 
     | 
    
         
            -
             
     | 
| 
      
 208 
     | 
    
         
            +
             
     | 
| 
       209 
209 
     | 
    
         
             
                response = broadcast.layout(started_broadcast_id, {
         
     | 
| 
       210 
210 
     | 
    
         
             
                    :type => "verticalPresentation"
         
     | 
| 
       211 
211 
     | 
    
         
             
                })
         
     | 
| 
         @@ -215,7 +215,7 @@ describe OpenTok::Broadcasts do 
     | 
|
| 
       215 
215 
     | 
    
         
             
              it "changes the screenshare option in the layout of a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
         
     | 
| 
       216 
216 
     | 
    
         
             
                stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
         
     | 
| 
       217 
217 
     | 
    
         
             
                  to_return(status: 200)
         
     | 
| 
       218 
     | 
    
         
            -
             
     | 
| 
      
 218 
     | 
    
         
            +
             
     | 
| 
       219 
219 
     | 
    
         
             
                response = broadcast.layout(started_broadcast_id, {
         
     | 
| 
       220 
220 
     | 
    
         
             
                    :type => "bestFit",
         
     | 
| 
       221 
221 
     | 
    
         
             
                    :screenshare_type => "bestFit"
         
     | 
| 
         @@ -223,4 +223,51 @@ describe OpenTok::Broadcasts do 
     | 
|
| 
       223 
223 
     | 
    
         
             
                expect(response).not_to be_nil
         
     | 
| 
       224 
224 
     | 
    
         
             
              end
         
     | 
| 
       225 
225 
     | 
    
         | 
| 
      
 226 
     | 
    
         
            +
              it "adds a stream to a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
         
     | 
| 
      
 227 
     | 
    
         
            +
                opts = {}
         
     | 
| 
      
 228 
     | 
    
         
            +
                response = broadcast.add_stream(started_broadcast_id, '12312312-3811-4726-b508-e41a0f96c68f', opts)
         
     | 
| 
      
 229 
     | 
    
         
            +
                expect(response.code).to eq(204)
         
     | 
| 
      
 230 
     | 
    
         
            +
              end
         
     | 
| 
      
 231 
     | 
    
         
            +
             
     | 
| 
      
 232 
     | 
    
         
            +
              it "removes a stream from a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
         
     | 
| 
      
 233 
     | 
    
         
            +
                response = broadcast.remove_stream(started_broadcast_id, '12312312-3811-4726-b508-e41a0f96c68f')
         
     | 
| 
      
 234 
     | 
    
         
            +
                expect(response.code).to eq(204)
         
     | 
| 
      
 235 
     | 
    
         
            +
              end
         
     | 
| 
      
 236 
     | 
    
         
            +
             
     | 
| 
      
 237 
     | 
    
         
            +
              context "for many broadcasts" do
         
     | 
| 
      
 238 
     | 
    
         
            +
                it "should return all broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 239 
     | 
    
         
            +
                  broadcast_list = broadcast.all
         
     | 
| 
      
 240 
     | 
    
         
            +
                  expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
         
     | 
| 
      
 241 
     | 
    
         
            +
                  expect(broadcast_list.total).to eq 6
         
     | 
| 
      
 242 
     | 
    
         
            +
                  expect(broadcast_list.count).to eq 6
         
     | 
| 
      
 243 
     | 
    
         
            +
                end
         
     | 
| 
      
 244 
     | 
    
         
            +
             
     | 
| 
      
 245 
     | 
    
         
            +
                it "should return broadcasts with an offset", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 246 
     | 
    
         
            +
                  broadcast_list = broadcast.all :offset => 3
         
     | 
| 
      
 247 
     | 
    
         
            +
                  expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
         
     | 
| 
      
 248 
     | 
    
         
            +
                  expect(broadcast_list.total).to eq 3
         
     | 
| 
      
 249 
     | 
    
         
            +
                  expect(broadcast_list.count).to eq 3
         
     | 
| 
      
 250 
     | 
    
         
            +
                end
         
     | 
| 
      
 251 
     | 
    
         
            +
             
     | 
| 
      
 252 
     | 
    
         
            +
                it "should return count number of broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 253 
     | 
    
         
            +
                  broadcast_list = broadcast.all :count => 2
         
     | 
| 
      
 254 
     | 
    
         
            +
                  expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
         
     | 
| 
      
 255 
     | 
    
         
            +
                  expect(broadcast_list.count).to eq 2
         
     | 
| 
      
 256 
     | 
    
         
            +
                  expect(broadcast_list.count).to eq 2
         
     | 
| 
      
 257 
     | 
    
         
            +
                end
         
     | 
| 
      
 258 
     | 
    
         
            +
             
     | 
| 
      
 259 
     | 
    
         
            +
                it "should return part of the broadcasts when using offset and count", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 260 
     | 
    
         
            +
                  broadcast_list = broadcast.all :count => 4, :offset => 2
         
     | 
| 
      
 261 
     | 
    
         
            +
                  expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
         
     | 
| 
      
 262 
     | 
    
         
            +
                  expect(broadcast_list.count).to eq 4
         
     | 
| 
      
 263 
     | 
    
         
            +
                  expect(broadcast_list.count).to eq 4
         
     | 
| 
      
 264 
     | 
    
         
            +
                end
         
     | 
| 
      
 265 
     | 
    
         
            +
             
     | 
| 
      
 266 
     | 
    
         
            +
                it "should return session broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 267 
     | 
    
         
            +
                  broadcast_list = broadcast.all :sessionId => session_id
         
     | 
| 
      
 268 
     | 
    
         
            +
                  expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
         
     | 
| 
      
 269 
     | 
    
         
            +
                  expect(broadcast_list.total).to eq 3
         
     | 
| 
      
 270 
     | 
    
         
            +
                  expect(broadcast_list.count).to eq 3
         
     | 
| 
      
 271 
     | 
    
         
            +
                end
         
     | 
| 
      
 272 
     | 
    
         
            +
              end
         
     | 
| 
       226 
273 
     | 
    
         
             
            end
         
     | 
    
        data/spec/opentok/sip_spec.rb
    CHANGED
    
    | 
         @@ -12,20 +12,51 @@ describe OpenTok::Sip do 
     | 
|
| 
       12 
12 
     | 
    
         
             
              let(:api_key) { "123456" }
         
     | 
| 
       13 
13 
     | 
    
         
             
              let(:api_secret) { "1234567890abcdef1234567890abcdef1234567890" }
         
     | 
| 
       14 
14 
     | 
    
         
             
              let(:session_id) { "SESSIONID" }
         
     | 
| 
      
 15 
     | 
    
         
            +
              let(:connection_id) { "CONNID" }
         
     | 
| 
       15 
16 
     | 
    
         
             
              let(:expiring_token) { "TOKENID" }
         
     | 
| 
       16 
17 
     | 
    
         
             
              let(:sip_uri) { "sip:+15128675309@acme.pstn.example.com;transport=tls" }
         
     | 
| 
       17 
18 
     | 
    
         
             
              let(:sip_username) { "bob" }
         
     | 
| 
       18 
19 
     | 
    
         
             
              let(:sip_password) { "abc123" }
         
     | 
| 
       19 
20 
     | 
    
         
             
              let(:opentok) { OpenTok::OpenTok.new api_key, api_secret }
         
     | 
| 
       20 
21 
     | 
    
         
             
              let(:sip) { opentok.sip }
         
     | 
| 
      
 22 
     | 
    
         
            +
              let(:valid_dtmf_digits) { "0123456789*#p" }
         
     | 
| 
      
 23 
     | 
    
         
            +
              let(:invalid_dtmf_digits) { "0123456789*#pabc" }
         
     | 
| 
       21 
24 
     | 
    
         
             
              subject { sip }
         
     | 
| 
       22 
25 
     | 
    
         | 
| 
       23 
26 
     | 
    
         
             
              it "receives a valid response", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
       24 
27 
     | 
    
         
             
                opts = { "auth" => { "username" => sip_username,
         
     | 
| 
       25 
28 
     | 
    
         
             
                                     "password" => sip_password },
         
     | 
| 
       26 
     | 
    
         
            -
                         "secure" => "true"
         
     | 
| 
      
 29 
     | 
    
         
            +
                         "secure" => "true",
         
     | 
| 
      
 30 
     | 
    
         
            +
                         "video" => "true",
         
     | 
| 
      
 31 
     | 
    
         
            +
                         "observe_force_mute" => "true"
         
     | 
| 
       27 
32 
     | 
    
         
             
                }
         
     | 
| 
       28 
33 
     | 
    
         
             
                response = sip.dial(session_id, expiring_token, sip_uri, opts)
         
     | 
| 
       29 
34 
     | 
    
         
             
                expect(response).not_to be_nil
         
     | 
| 
       30 
35 
     | 
    
         
             
              end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              describe "#play_dtmf_to_connection" do
         
     | 
| 
      
 38 
     | 
    
         
            +
                it "raises an ArgumentError when passed an invalid dtmf digit string" do
         
     | 
| 
      
 39 
     | 
    
         
            +
                  expect {
         
     | 
| 
      
 40 
     | 
    
         
            +
                    sip.play_dtmf_to_connection(session_id, connection_id, invalid_dtmf_digits)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  }.to raise_error(ArgumentError)
         
     | 
| 
      
 42 
     | 
    
         
            +
                end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                it "returns a 200 response code when passed a valid dtmf digit string", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 45 
     | 
    
         
            +
                  response = sip.play_dtmf_to_connection(session_id, connection_id, valid_dtmf_digits)
         
     | 
| 
      
 46 
     | 
    
         
            +
                  expect(response.code).to eq(200)
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
              describe "#play_dtmf_to_session" do
         
     | 
| 
      
 51 
     | 
    
         
            +
                it "raises an ArgumentError when passed an invalid dtmf digit string" do
         
     | 
| 
      
 52 
     | 
    
         
            +
                  expect {
         
     | 
| 
      
 53 
     | 
    
         
            +
                    sip.play_dtmf_to_session(session_id, invalid_dtmf_digits)
         
     | 
| 
      
 54 
     | 
    
         
            +
                  }.to raise_error(ArgumentError)
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                it "returns a 200 response code when passed a valid dtmf digit string", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 58 
     | 
    
         
            +
                  response = sip.play_dtmf_to_session(session_id, valid_dtmf_digits)
         
     | 
| 
      
 59 
     | 
    
         
            +
                  expect(response.code).to eq(200)
         
     | 
| 
      
 60 
     | 
    
         
            +
                end
         
     | 
| 
      
 61 
     | 
    
         
            +
              end
         
     | 
| 
       31 
62 
     | 
    
         
             
            end
         
     | 
| 
         @@ -72,4 +72,24 @@ describe OpenTok::Streams do 
     | 
|
| 
       72 
72 
     | 
    
         
             
                response = streams.layout(session_id, streams_list)
         
     | 
| 
       73 
73 
     | 
    
         
             
                expect(response).not_to be_nil
         
     | 
| 
       74 
74 
     | 
    
         
             
              end
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
              it "forces the specified stream to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 77 
     | 
    
         
            +
                response = streams.force_mute(session_id, stream_id)
         
     | 
| 
      
 78 
     | 
    
         
            +
                expect(response.code).to eq(200)
         
     | 
| 
      
 79 
     | 
    
         
            +
              end
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
              it "forces all current and future streams in a session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 82 
     | 
    
         
            +
                response = streams.force_mute_all(session_id)
         
     | 
| 
      
 83 
     | 
    
         
            +
                expect(response.code).to eq(200)
         
     | 
| 
      
 84 
     | 
    
         
            +
              end
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
              it "forces all current and future streams in a session to be muted except specified excluded streams", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 87 
     | 
    
         
            +
                response = streams.force_mute_all(session_id, { "excludedStreams" => ["b1963d15-537f-459a-be89-e00fc310b82b"] })
         
     | 
| 
      
 88 
     | 
    
         
            +
                expect(response.code).to eq(200)
         
     | 
| 
      
 89 
     | 
    
         
            +
              end
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
              it "disables the 'mute state' of a session", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
         
     | 
| 
      
 92 
     | 
    
         
            +
                response = streams.disable_force_mute(session_id)
         
     | 
| 
      
 93 
     | 
    
         
            +
                expect(response.code).to eq(200)
         
     | 
| 
      
 94 
     | 
    
         
            +
              end
         
     | 
| 
      
 95 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: opentok
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 4. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 4.3.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Stijn Mathysen
         
     | 
| 
         @@ -12,7 +12,7 @@ authors: 
     | 
|
| 
       12 
12 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       14 
14 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       15 
     | 
    
         
            -
            date:  
     | 
| 
      
 15 
     | 
    
         
            +
            date: 2022-02-02 00:00:00.000000000 Z
         
     | 
| 
       16 
16 
     | 
    
         
             
            dependencies:
         
     | 
| 
       17 
17 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       18 
18 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -34,14 +34,14 @@ dependencies: 
     | 
|
| 
       34 
34 
     | 
    
         
             
                requirements:
         
     | 
| 
       35 
35 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       36 
36 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       37 
     | 
    
         
            -
                    version: 12. 
     | 
| 
      
 37 
     | 
    
         
            +
                    version: 12.3.3
         
     | 
| 
       38 
38 
     | 
    
         
             
              type: :development
         
     | 
| 
       39 
39 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       40 
40 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       41 
41 
     | 
    
         
             
                requirements:
         
     | 
| 
       42 
42 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       43 
43 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       44 
     | 
    
         
            -
                    version: 12. 
     | 
| 
      
 44 
     | 
    
         
            +
                    version: 12.3.3
         
     | 
| 
       45 
45 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       46 
46 
     | 
    
         
             
              name: rspec
         
     | 
| 
       47 
47 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -174,6 +174,7 @@ files: 
     | 
|
| 
       174 
174 
     | 
    
         
             
            - ".github/workflows/metrics.yml"
         
     | 
| 
       175 
175 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
       176 
176 
     | 
    
         
             
            - ".yardopts"
         
     | 
| 
      
 177 
     | 
    
         
            +
            - CHANGES.md
         
     | 
| 
       177 
178 
     | 
    
         
             
            - CODE_OF_CONDUCT.md
         
     | 
| 
       178 
179 
     | 
    
         
             
            - CONTRIBUTING.md
         
     | 
| 
       179 
180 
     | 
    
         
             
            - DEVELOPING.md
         
     | 
| 
         @@ -186,6 +187,7 @@ files: 
     | 
|
| 
       186 
187 
     | 
    
         
             
            - lib/opentok/archive_list.rb
         
     | 
| 
       187 
188 
     | 
    
         
             
            - lib/opentok/archives.rb
         
     | 
| 
       188 
189 
     | 
    
         
             
            - lib/opentok/broadcast.rb
         
     | 
| 
      
 190 
     | 
    
         
            +
            - lib/opentok/broadcast_list.rb
         
     | 
| 
       189 
191 
     | 
    
         
             
            - lib/opentok/broadcasts.rb
         
     | 
| 
       190 
192 
     | 
    
         
             
            - lib/opentok/client.rb
         
     | 
| 
       191 
193 
     | 
    
         
             
            - lib/opentok/connections.rb
         
     | 
| 
         @@ -222,6 +224,7 @@ files: 
     | 
|
| 
       222 
224 
     | 
    
         
             
            - sample/Broadcast/public/css/sample.css
         
     | 
| 
       223 
225 
     | 
    
         
             
            - sample/Broadcast/public/js/host.js
         
     | 
| 
       224 
226 
     | 
    
         
             
            - sample/Broadcast/public/js/participant.js
         
     | 
| 
      
 227 
     | 
    
         
            +
            - sample/Broadcast/views/all.erb
         
     | 
| 
       225 
228 
     | 
    
         
             
            - sample/Broadcast/views/host.erb
         
     | 
| 
       226 
229 
     | 
    
         
             
            - sample/Broadcast/views/index.erb
         
     | 
| 
       227 
230 
     | 
    
         
             
            - sample/Broadcast/views/layout.erb
         
     | 
| 
         @@ -231,9 +234,11 @@ files: 
     | 
|
| 
       231 
234 
     | 
    
         
             
            - sample/HelloWorld/hello_world.rb
         
     | 
| 
       232 
235 
     | 
    
         
             
            - sample/HelloWorld/public/js/helloworld.js
         
     | 
| 
       233 
236 
     | 
    
         
             
            - sample/HelloWorld/views/index.erb
         
     | 
| 
      
 237 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml
         
     | 
| 
       234 
238 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/calls_layout_on_archive_object.yml
         
     | 
| 
       235 
239 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/changes_the_layout_of_an_archive.yml
         
     | 
| 
       236 
240 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/http_client_errors/.yml
         
     | 
| 
      
 241 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
         
     | 
| 
       237 
242 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/should_create_archives.yml
         
     | 
| 
       238 
243 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
         
     | 
| 
       239 
244 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/should_create_custom_layout_archives.yml
         
     | 
| 
         @@ -252,10 +257,17 @@ files: 
     | 
|
| 
       252 
257 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
         
     | 
| 
       253 
258 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
         
     | 
| 
       254 
259 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_session_archives.yml
         
     | 
| 
      
 260 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml
         
     | 
| 
       255 
261 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/calls_layout_on_broadcast_object.yml
         
     | 
| 
       256 
262 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/changes_the_layout_of_a_broadcast.yml
         
     | 
| 
       257 
263 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/fetches_a_hls_broadcast_url.yml
         
     | 
| 
       258 
264 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/finds_a_broadcast.yml
         
     | 
| 
      
 265 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml
         
     | 
| 
      
 266 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml
         
     | 
| 
      
 267 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml
         
     | 
| 
      
 268 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml
         
     | 
| 
      
 269 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml
         
     | 
| 
      
 270 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml
         
     | 
| 
       259 
271 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
         
     | 
| 
       260 
272 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
         
     | 
| 
       261 
273 
     | 
    
         
             
            - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
         
     | 
| 
         @@ -270,7 +282,13 @@ files: 
     | 
|
| 
       270 
282 
     | 
    
         
             
            - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/with_an_addendum_to_the_user_agent_string/should_append_the_addendum_to_the_user_agent_header.yml
         
     | 
| 
       271 
283 
     | 
    
         
             
            - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_a_connection.yml
         
     | 
| 
       272 
284 
     | 
    
         
             
            - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_all_connections.yml
         
     | 
| 
      
 285 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
         
     | 
| 
      
 286 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
         
     | 
| 
       273 
287 
     | 
    
         
             
            - spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml
         
     | 
| 
      
 288 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml
         
     | 
| 
      
 289 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml
         
     | 
| 
      
 290 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml
         
     | 
| 
      
 291 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml
         
     | 
| 
       274 
292 
     | 
    
         
             
            - spec/cassettes/OpenTok_Streams/get_all_streams_information.yml
         
     | 
| 
       275 
293 
     | 
    
         
             
            - spec/cassettes/OpenTok_Streams/get_specific_stream_information.yml
         
     | 
| 
       276 
294 
     | 
    
         
             
            - spec/cassettes/OpenTok_Streams/layout_working_on_two_stream_list.yml
         
     | 
| 
         @@ -306,14 +324,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       306 
324 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       307 
325 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       308 
326 
     | 
    
         
             
            requirements: []
         
     | 
| 
       309 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 327 
     | 
    
         
            +
            rubygems_version: 3.3.6
         
     | 
| 
       310 
328 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       311 
329 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       312 
330 
     | 
    
         
             
            summary: Ruby gem for the OpenTok API
         
     | 
| 
       313 
331 
     | 
    
         
             
            test_files:
         
     | 
| 
      
 332 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml
         
     | 
| 
       314 
333 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/calls_layout_on_archive_object.yml
         
     | 
| 
       315 
334 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/changes_the_layout_of_an_archive.yml
         
     | 
| 
       316 
335 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/http_client_errors/.yml
         
     | 
| 
      
 336 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
         
     | 
| 
       317 
337 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/should_create_archives.yml
         
     | 
| 
       318 
338 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
         
     | 
| 
       319 
339 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/should_create_custom_layout_archives.yml
         
     | 
| 
         @@ -332,10 +352,17 @@ test_files: 
     | 
|
| 
       332 
352 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
         
     | 
| 
       333 
353 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
         
     | 
| 
       334 
354 
     | 
    
         
             
            - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_session_archives.yml
         
     | 
| 
      
 355 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml
         
     | 
| 
       335 
356 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/calls_layout_on_broadcast_object.yml
         
     | 
| 
       336 
357 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/changes_the_layout_of_a_broadcast.yml
         
     | 
| 
       337 
358 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/fetches_a_hls_broadcast_url.yml
         
     | 
| 
       338 
359 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/finds_a_broadcast.yml
         
     | 
| 
      
 360 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml
         
     | 
| 
      
 361 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml
         
     | 
| 
      
 362 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml
         
     | 
| 
      
 363 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml
         
     | 
| 
      
 364 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml
         
     | 
| 
      
 365 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml
         
     | 
| 
       339 
366 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
         
     | 
| 
       340 
367 
     | 
    
         
             
            - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
         
     | 
| 
       341 
368 
     | 
    
         
             
            - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
         
     | 
| 
         @@ -350,7 +377,13 @@ test_files: 
     | 
|
| 
       350 
377 
     | 
    
         
             
            - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/with_an_addendum_to_the_user_agent_string/should_append_the_addendum_to_the_user_agent_header.yml
         
     | 
| 
       351 
378 
     | 
    
         
             
            - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_a_connection.yml
         
     | 
| 
       352 
379 
     | 
    
         
             
            - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_all_connections.yml
         
     | 
| 
      
 380 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
         
     | 
| 
      
 381 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
         
     | 
| 
       353 
382 
     | 
    
         
             
            - spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml
         
     | 
| 
      
 383 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml
         
     | 
| 
      
 384 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml
         
     | 
| 
      
 385 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml
         
     | 
| 
      
 386 
     | 
    
         
            +
            - spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml
         
     | 
| 
       354 
387 
     | 
    
         
             
            - spec/cassettes/OpenTok_Streams/get_all_streams_information.yml
         
     | 
| 
       355 
388 
     | 
    
         
             
            - spec/cassettes/OpenTok_Streams/get_specific_stream_information.yml
         
     | 
| 
       356 
389 
     | 
    
         
             
            - spec/cassettes/OpenTok_Streams/layout_working_on_two_stream_list.yml
         
     |