Skip to main content
Skip table of contents

nPVR profile management

nPVR Profiles States

The Account object has a field named npvrProfile that points to the nPVR profile applied to the account. An nPVR profile contains the amount of recording hours that will be available for users in the account.

This field can be empty, in which case the Account is not enabled for nPVR service.

The SDP is delivered with a DLM script that is executed when SDP is installed or upgraded, which creates the nPVR profiles in the table below:

Name

Description

Default quota (hours)

NPVR_DISABLED

The Account has not been enabled for nPVR service. This is equivalent to not having any nPVR profile assigned.

The Account cannot access nPVR service.

0
NPVR_SMALL

The Account has been allocated a "SMALL" quota of hours for storing recordings.

SMALL can be defined on a per-operator basis (see below).

1024
NPVR_MEDIUM

The Account has been allocated a "MEDIUM" quota of hours for storing recordings.

MEDIUM can be defined on a per-operator basis (see below).

102400
NPVR_UNLIMITED

The Account has been allocated a "UNLIMITED" quota of hours for storing recordings.

UNLIMITED can be defined on a per-operator basis (see below).

999999
NPVR_SUSPENDED

The Account, which had previously been enabled for nPVR service, cannot currently access it.

Existing recordings cannot be retrieved, nor can further recordings be requested.

An Account in this state can be re-enabled for nPVR service by updating the nPVR profile to any active state (SMALL, MEDIUM, UNLIMITED).

The Account's nPVR data will not be deleted unless it expires.

0
NPVR_CANCELED

The Account, which had been previously enabled for nPVR service, cannot currently access it.

Existing recordings cannot be retrieved, nor can further recordings be requested.

This is a final state. An Account in this state cannot be re-enabled for nPVR service or get assigned any other nPVR profile.

The Account's nPVR data will be deleted at some point in time by a periodic clean-up procedure.

0

Assign an nPVR profile to an account

Once the nPVR profiles have been created, Accounts can get any of those profile assigned, either at creation time or through a later update.

Please refer to SMS Domain – Account Use Cases.

Changing the nPVR profile of an account

The following diagram shows the valid state transitions between nPVR profiles. The operator or SMS service is responsible for changing the profile. SDP will not enforce any validation here.

Modifying an existing nPVR profile

Existing nPVR profiles can be modified, typically to change the size of the quota (recording hours) allocated to the profile.

SDP's VisitorService can be used for this purpose, available from the following end point: ws-gateway/gateway/ws/visitorservice.

The following samples show the requests required to modify an nPVR profile NPVR_MEDIUM to set the quota size from 100 to 500 hours.

The first step is to retrieve the identifiers associated to NPVR_MEDIUM profile in the visitors table:

Retrieve nPVR profile sample request

XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vis="http://quative.tv/VisitorServiceNamespace">
   <soapenv:Header/>
   <soapenv:Body>
      <vis:getValues>       
         <hostName>COR_ACCOUNT</hostName>      
         <hostProperty>NPVR_PROFILE</hostProperty>     
         <spid>22</spid>
         <name>NPVR_MEDIUM</name>
      </vis:getValues>
   </soapenv:Body>
</soapenv:Envelope>

Response including the identifiers:

Retrieve nPVR profile sample response

XML
<env:Envelopexmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
      <rqid:requestIDxmlns:rqid="http://quative.tv/requestId">23706668</rqid:requestID>
   </env:Header>
   <env:Body>
      <ns2:getValuesResponse xmlns:ns2="http://quative.tv/VisitorServiceNamespace">      
         <return>200220</return>     
         <return>200221</return> 
      </ns2:getValuesResponse>
   </env:Body>
</env:Envelope>

The second step is to access the profile name-values using that identifier (200220):

Retrieve name-value identifiers request

XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vis="http://quative.tv/VisitorServiceNamespace">
   <soapenv:Header/>
   <soapenv:Body>
      <vis:getByUID>
         <uid>200220</uid>
      </vis:getByUID>
   </soapenv:Body>
</soapenv:Envelope>

Response including the identifier for the MAX_REC_QUOTA_HRS (201102):

Retrieve name-value pairs response

XML
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">  
   <env:Header>
      <rqid:requestID xmlns:rqid="http://quative.tv/requestId">1449981626</rqid:requestID>
   </env:Header>
   <env:Body>
      <ns2:getByUIDResponsexmlns:ns2="http://quative.tv/VisitorServiceNamespace">       
         <return>          
             <serviceProviderID>22</serviceProviderID>           
             <UID>200220</UID>          
             <description>NPVR</description>          
             <hostName>COR_VISITOR</hostName>          
             <hostProperty>VALUE</hostProperty>          
             <name>MAX_REC_QUOTA_HRS</name>         
             <value>201102</value>    
         </return>
      </ns2:getByUIDResponse>
   </env:Body>
</env:Envelope>

Finally you can retrieve the actual quota value in the profile using the identifier for the MAX_REC_QUOTA_HRS field:

Retrieve name-value identifiers request

XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vis="http://quative.tv/VisitorServiceNamespace">
   <soapenv:Header/>
   <soapenv:Body>
      <vis:getByUID>
         <uid>201102</uid>
      </vis:getByUID>
   </soapenv:Body>
</soapenv:Envelope>

Response including the current quota value (100 h):

Retrieve name-value pairs response

XML
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">  
   <env:Header>
      <rqid:requestID xmlns:rqid="http://quative.tv/requestId">1449981626</rqid:requestID>
   </env:Header>
   <env:Body>
      <ns2:getByUIDResponsexmlns:ns2="http://quative.tv/VisitorServiceNamespace">       
         <return>          
             <serviceProviderID>22</serviceProviderID>           
             <UID>201102</UID>          
             <description>NPVR</description>          
             <hostName>COR_VISITOR</hostName>          
             <hostProperty>VALUE</hostProperty>          
             <name>MAX_REC_QUOTA_HRS_MEDIUM</name>         
             <value>100</value>    
         </return>
      </ns2:getByUIDResponse>
   </env:Body>
</env:Envelope>

Now you can update the value of MAX_REC_QUOTA_HRS_MEDIUM to 500 hours:

Update quota value  request

XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vis="http://quative.tv/VisitorServiceNamespace">
   <soapenv:Header/>
   <soapenv:Body>
      <vis:update>        
         <model>           
            <serviceProviderID>22</serviceProviderID>           
            <UID>201102</UID>          
            <description>NPVR</description>          
            <hostName>COR_VISITOR</hostName>          
            <hostProperty>VALUE</hostProperty>         
            <name>MAX_REC_QUOTA_HRS_MEDIUM</name>        
            <value>500</value>
         </model>
      </vis:update>
   </soapenv:Body>
</soapenv:Envelope>

Successful response returned by SDP:

Update quota value response

XML
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">  
   <env:Header>
      <rqid:requestID xmlns:rqid="http://quative.tv/requestId">1897805169</rqid:requestID>
   </env:Header>
   <env:Body>
      <ns2:updateResponse xmln:ns2="http://quative.tv/VisitorServiceNamespace">       
   </env:Body>
</env:Envelope>

The following request can be used to verify that the change has been applied:

Request host group information

XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vis="http://quative.tv/VisitorServiceNamespace">
   <soapenv:Header/>
   <soapenv:Body>
      <vis:getGroup>     
         <hostName>COR_ACCOUNT</hostName>
         <hostProperty>NPVR_PROFILE</hostProperty>      
         <grp>NPVR_MEDIUM</grp>
         <spid>22</spid>
      </vis:getGroup>
   </soapenv:Body>
</soapenv:Envelope>

And the response confirming the change:

Host group information response

XML
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> 
   <env:Header>
      <rqid:requestID xmlns:rqid="http://quative.tv/requestId">942273287</rqid:requestID>
   </env:Header>
   <env:Body>
      <ns2:getGroupResponse xmlns:ns2="http://quative.tv/VisitorServiceNamespace">  
         <return>           
            <name>MAX_REC_QUOTA_HRS</name>
            <value xsi:type="xs:int" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">500</value>        
         </return>        
         <return>           
            <name>NPVR_STATUS</name>           
            <value xsi:type="xs:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">ENABLED</value>     
         </return>
      </ns2:getGroupResponse>
   </env:Body>
</env:Envelope>

Creating new nPVR profiles

If the nPVR profiles created by default during SDP installation/upgrade are not sufficient, new profiles can be created.

This requires SQL commands to be run against the SDP database, therefore it is recommended that you contact Support for help with this.

As a reference, the following inserts should be triggered to create a new nPVR profile named NPVR_PREMIUM with 350 hours of recording space.

The operator must select the UID that does not clash with existing instances.

VISITOR_UID

HOST_NAME

HOST_PROPERTY

SPID

NAME

VALUE

DESCRIPTION

TYPE

300400COR_ACCOUNTNPVR_PROFILE2NPVR_PREMIUM301020NPVRGROUP
300401COR_ACCOUNTNPVR_PROFILE2NPVR_PREMIUM301021NPVRGROUP








301020COR_VISITORVALUE2MAX_REC_QUOTA_HRS301103NPVRNAME
301021COR_VISITORVALUE2NPVR_STATUS301001NPVRNAME








301103COR_VISITORVALUE2MAX_REC_QUOTA_HRS_PREMIUM350NPVRINTEGER
301001COR_VISITORVALUE2NPVR_STATUS_ENABLEDENABLEDNPVRSTRING
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.