Class: Twilio::REST::Api::V2010::AccountContext::CallContext::RecordingInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/api/v2010/account/call/recording.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, account_sid: nil, call_sid: nil, sid: nil) ⇒ RecordingInstance

Initialize the RecordingInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String) (defaults to: nil)

    The SID of the Account that created this Recording resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 598

def initialize(version, payload , account_sid: nil, call_sid: nil, sid: nil)
    super(version)
    
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'api_version' => payload['api_version'],
        'call_sid' => payload['call_sid'],
        'conference_sid' => payload['conference_sid'],
        'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
        'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
        'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
        'duration' => payload['duration'],
        'sid' => payload['sid'],
        'price' => payload['price'],
        'uri' => payload['uri'],
        'encryption_details' => payload['encryption_details'],
        'price_unit' => payload['price_unit'],
        'status' => payload['status'],
        'channels' => payload['channels'] == nil ? payload['channels'] : payload['channels'].to_i,
        'source' => payload['source'],
        'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
        'track' => payload['track'],
    }

    # Context
    @instance_context = nil
    @params = { 'account_sid' =>   ,'call_sid' => call_sid  || @properties['call_sid']  ,'sid' => sid  || @properties['sid']  , }
end

Instance Method Details

#account_sidString

Returns The SID of the [Account](www.twilio.com/docs/iam/api/account) that created the Recording resource.

Returns:



642
643
644
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 642

def 
    @properties['account_sid']
end

#api_versionString

Returns The API version used to make the recording.

Returns:

  • (String)

    The API version used to make the recording.



648
649
650
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 648

def api_version
    @properties['api_version']
end

#call_sidString

Returns The SID of the [Call](www.twilio.com/docs/voice/api/call-resource) the Recording resource is associated with.

Returns:



654
655
656
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 654

def call_sid
    @properties['call_sid']
end

#channelsString

Returns The number of channels in the final recording file. Can be: 1, or 2. Separating a two leg call into two separate channels of the recording file is supported in [Dial](www.twilio.com/docs/voice/twiml/dial#attributes-record) and [Outbound Rest API](www.twilio.com/docs/voice/make-calls) record options.

Returns:



726
727
728
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 726

def channels
    @properties['channels']
end

#conference_sidString

Returns The Conference SID that identifies the conference associated with the recording, if a conference recording.

Returns:

  • (String)

    The Conference SID that identifies the conference associated with the recording, if a conference recording.



660
661
662
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 660

def conference_sid
    @properties['conference_sid']
end

#contextRecordingContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



633
634
635
636
637
638
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 633

def context
    unless @instance_context
        @instance_context = RecordingContext.new(@version , @params['account_sid'], @params['call_sid'], @params['sid'])
    end
    @instance_context
end

#date_createdTime

Returns The date and time in GMT that the resource was created specified in [RFC 2822](www.ietf.org/rfc/rfc2822.txt) format.

Returns:



666
667
668
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 666

def date_created
    @properties['date_created']
end

#date_updatedTime

Returns The date and time in GMT that the resource was last updated, specified in [RFC 2822](www.ietf.org/rfc/rfc2822.txt) format.

Returns:



672
673
674
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 672

def date_updated
    @properties['date_updated']
end

#deleteBoolean

Delete the RecordingInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



751
752
753
754
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 751

def delete

    context.delete
end

#durationString

Returns The length of the recording in seconds.

Returns:

  • (String)

    The length of the recording in seconds.



684
685
686
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 684

def duration
    @properties['duration']
end

#encryption_detailsHash

Returns How to decrypt the recording if it was encrypted using [Call Recording Encryption](www.twilio.com/docs/voice/tutorials/voice-recording-encryption) feature.

Returns:



708
709
710
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 708

def encryption_details
    @properties['encryption_details']
end

#error_codeString

Returns The error code that describes why the recording is absent. The error code is described in our [Error Dictionary](www.twilio.com/docs/api/errors). This value is null if the recording status is not absent.

Returns:

  • (String)

    The error code that describes why the recording is absent. The error code is described in our [Error Dictionary](www.twilio.com/docs/api/errors). This value is null if the recording status is not absent.



738
739
740
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 738

def error_code
    @properties['error_code']
end

#fetchRecordingInstance

Fetch the RecordingInstance

Returns:



759
760
761
762
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 759

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



789
790
791
792
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 789

def inspect
    values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Api.V2010.RecordingInstance #{values}>"
end

#priceFloat

Returns The one-time cost of creating the recording in the price_unit currency.

Returns:

  • (Float)

    The one-time cost of creating the recording in the price_unit currency.



696
697
698
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 696

def price
    @properties['price']
end

#price_unitString

Returns The currency used in the price property. Example: USD.

Returns:

  • (String)

    The currency used in the price property. Example: USD.



714
715
716
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 714

def price_unit
    @properties['price_unit']
end

#sidString

Returns The unique string that that we created to identify the Recording resource.

Returns:

  • (String)

    The unique string that that we created to identify the Recording resource.



690
691
692
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 690

def sid
    @properties['sid']
end

#sourceSource

Returns:

  • (Source)


732
733
734
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 732

def source
    @properties['source']
end

#start_timeTime

Returns The start time of the recording in GMT and in [RFC 2822](www.php.net/manual/en/class.datetime.php#datetime.constants.rfc2822) format.

Returns:



678
679
680
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 678

def start_time
    @properties['start_time']
end

#statusStatus

Returns:

  • (Status)


720
721
722
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 720

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



782
783
784
785
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 782

def to_s
    values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Api.V2010.RecordingInstance #{values}>"
end

#trackString

Returns The recorded track. Can be: inbound, outbound, or both.

Returns:

  • (String)

    The recorded track. Can be: inbound, outbound, or both.



744
745
746
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 744

def track
    @properties['track']
end

#update(status: nil, pause_behavior: :unset) ⇒ RecordingInstance

Update the RecordingInstance

Parameters:

  • status (Status) (defaults to: nil)
  • pause_behavior (String) (defaults to: :unset)

    Whether to record during a pause. Can be: skip or silence and the default is silence. skip does not record during the pause period, while silence will replace the actual audio of the call with silence during the pause period. This parameter only applies when setting status is set to paused.

Returns:



769
770
771
772
773
774
775
776
777
778
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 769

def update(
    status: nil, 
    pause_behavior: :unset
)

    context.update(
        status: status, 
        pause_behavior: pause_behavior, 
    )
end

#uriString

Returns The URI of the resource, relative to https://api.twilio.com.

Returns:

  • (String)

    The URI of the resource, relative to https://api.twilio.com.



702
703
704
# File 'lib/twilio-ruby/rest/api/v2010/account/call/recording.rb', line 702

def uri
    @properties['uri']
end