Transcript
API GUIDE
Software 1.0 | Date July 2013 | 3725-69899-001Rev A
Polycom® RealPresence® Capture Server Appliance Edition
Copyright ©2013, Polycom, Inc. All rights reserved. 6001 America Center Drive San Jose, CA 95002 USA No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Polycom, Inc. Under the law, reproducing includes translating into another language or format. As between the parties, Polycom, Inc., retains title to and ownership of all proprietary rights with respect to the software contained within its products. The software is protected by United States copyright laws and international treaty provision. Therefore, you must treat the software like any other copyrighted material (e.g., a book or sound recording). Every effort has been made to ensure that the information in this manual is accurate. Polycom, Inc., is not responsible for printing or clerical errors. Information in this document is subject to change without notice.
Trademarks POLYCOM®, the Polycom logo and the names and marks associated with Polycom products are trademarks and/or service marks of Polycom, Inc. and are registered and/or common law marks in the United States and various other countries. All other trademarks are property of their respective owners. No portion hereof may be reproduced or transmitted in any form or by any means, for any purpose other than the recipient's personal use, without the express written permission of Polycom.
Disclaimer While Polycom uses reasonable efforts to include accurate and up-to-date information in this document, Polycom makes no warranties or representations as to its accuracy. Polycom assumes no liability or responsibility for any typographical or other errors or omissions in the content of this document.
Limitation of Liability Polycom and/or its respective suppliers make no representations about the suitability of the information contained in this document for any purpose. Information is provided “as is” without warranty of any kind and is subject to change without notice. The entire risk arising out of its use remains with the recipient. In no event shall Polycom and/or its respective suppliers be liable for any direct, consequential, incidental, special, punitive or other damages whatsoever (including without limitation, damages for loss of business profits, business interruption, or loss of business information), even if Polycom has been advised of the possibility of such damages.
End User License Agreement Use of this software constitutes acceptance of the terms and conditions of the Polycom RealPresence Capture Server - Appliance Edition end-use license agreement (EULA). The EULA for your version is available on the Polycom Support page for the Polycom RealPresence Capture Server Appliance Edition.
Customer Feedback We are striving to improve our documentation quality and we appreciate your feedback. Email your opinions and comments to
[email protected].
Visit the Polycom Voice Support Center for software downloads, product documents, product licenses, troubleshooting tips, service requests, and more.
ii
Contents About This Guide ........................................................................ 1 Communicating with API ................................................................................................................. 1
1: API Operations ........................................................................ 2 Template Operations ................................................................................................ 3 createTemplate ................................................................................................................................. 3 deleteTemplate.................................................................................................................................. 4 updateTemplate ................................................................................................................................ 4 getTemplates ..................................................................................................................................... 5 getTemplate ....................................................................................................................................... 5
VRR Operations ........................................................................................................ 6 createVRR .......................................................................................................................................... 6 deleteVRR .......................................................................................................................................... 6 updateVRR ........................................................................................................................................ 7 getAllVRRs ........................................................................................................................................ 7 getVRR ............................................................................................................................................... 7
System Operations ................................................................................................... 8 getVersion ......................................................................................................................................... 8 getDownloadToken........................................................................................................................... 8 getEncryptedWords.......................................................................................................................... 8 enableUserPortal .............................................................................................................................. 8 disableUserPortal ............................................................................................................................. 9 getUserPortalStatus ......................................................................................................................... 9
Media Operations ...................................................................................................... 9 getArchives ....................................................................................................................................... 9 getArchiveByID ............................................................................................................................... 10 getArchivesCount ........................................................................................................................... 10 getArchivesByIndex ....................................................................................................................... 10 getArchivesByTime ........................................................................................................................ 11 getArchivesByIDs ........................................................................................................................... 11 getArchiveIDsByTime..................................................................................................................... 12 getArchiveIDsByVrrID .................................................................................................................... 12 getArchiveByCallID ........................................................................................................................ 12 updateArchive ................................................................................................................................. 13 deleteArchive .................................................................................................................................. 13 getLiveStreams ............................................................................................................................... 13
getLiveStreamingByCallID ............................................................................................................. 14 getCalls ............................................................................................................................................ 14 getCallsByStatus ............................................................................................................................ 14 getCallByID ...................................................................................................................................... 15
Recording Operations ............................................................................................ 15 startCall ........................................................................................................................................... 15 startRecording ................................................................................................................................ 15 pauseRecording.............................................................................................................................. 16 resumeRecording ........................................................................................................................... 16 stopRecording ................................................................................................................................ 16 stopCall ............................................................................................................................................ 17 startCallWithNotify ......................................................................................................................... 17
Transcoding ............................................................................................................ 17 startTranscode ................................................................................................................................ 17 restartTranscode ............................................................................................................................ 18 stopTranscode ................................................................................................................................ 18
Playback Operation ................................................................................................ 19 startPlayback .................................................................................................................................. 19 pause................................................................................................................................................ 19 play ................................................................................................................................................... 19 getCurrentPosition ......................................................................................................................... 20 seek .................................................................................................................................................. 20
2: Data Objects of API ............................................................... 21 Object Tables .......................................................................................................... 21 Template .......................................................................................................................................... 21 VRR .................................................................................................................................................. 22 Archive ............................................................................................................................................. 23 ArchiveFile ...................................................................................................................................... 23 LiveStreaming ................................................................................................................................. 24 StreamingInfo.................................................................................................................................. 25 StreamingAddress .......................................................................................................................... 25 MediaServerType ............................................................................................................................ 25 StreamProtocolType....................................................................................................................... 26 Call ................................................................................................................................................... 26 CallStatus ........................................................................................................................................ 26 TranscodeForm............................................................................................................................... 27 PlaybackInfo .................................................................................................................................... 28
Enumeration Table .................................................................................................. 28 Layout List ....................................................................................................................................... 28 Rate List ........................................................................................................................................... 29
Transcoding Configuration ........................................................................................................... 29
3: FAQs ...................................................................................... 30 How to get WSDL .................................................................................................... 30 SOAP Request Example ......................................................................................... 30 SOAP Response Example ...................................................................................... 31 How to download media file ................................................................................... 31 How to use Pin-code ............................................................................................... 31
Appendix A – APIs in old version ............................................ 32 API Operations ........................................................................................................ 32 getVersion ....................................................................................................................................... 33 getTemplates ................................................................................................................................... 33 getTemplate ..................................................................................................................................... 33 createChannel ................................................................................................................................. 33 editChannel ..................................................................................................................................... 34 deleteChannel ................................................................................................................................. 34 getChannels .................................................................................................................................... 34 createVRR ........................................................................................................................................ 35 editVRR ............................................................................................................................................ 35 deleteVRR ........................................................................................................................................ 35 getVRRs ........................................................................................................................................... 35 getVRR ............................................................................................................................................. 36 startCall ........................................................................................................................................... 36 endCall ............................................................................................................................................. 37 getCalls ............................................................................................................................................ 37 getCallsByStatus ............................................................................................................................ 37 getCall .............................................................................................................................................. 38 getNumberOfarchives .................................................................................................................... 38 getarchives ...................................................................................................................................... 38 getarchivesByCallIds ..................................................................................................................... 38 getLiveStreamings.......................................................................................................................... 39 getDownloadToken......................................................................................................................... 39 getHashedPassword ...................................................................................................................... 39
API Data Objects ..................................................................................................... 39 Template .......................................................................................................................................... 39 TemplateStreamConfig .................................................................................................................. 40 Channel ............................................................................................................................................ 40
VRR .................................................................................................................................................. 40 Call ................................................................................................................................................... 41 Media ................................................................................................................................................ 41 MediaStream ................................................................................................................................... 42
Appendix B WSDL Files ........................................................... 43 CaptureServer_Media.wsdl .................................................................................................... 43 RPCaptureServer_Playback.wsdl.......................................................................................... 79 CaptureServer_Profile.wsdl .................................................................................................... 85
About This Guide The RealPresence Capture Server Web Service API enables you to programmatically manage the Capture Server. This document assumes that you are familiar with the Capture Server and the functionality available on the Capture Server’s Web UI. (The API provides a subset of that functionality.) This document also assumes familiarity with web services in general, and with the programming language you will be using. To follow the last version device (RSS™ 4000). There are two version API services in the RealPresence Capture Server. The old version’s API point to the one in RSS 4000 version 7.0 or below, please refer to Appendix A. The other is point to API in RSS 4000 V8.0 or higher, we recommend you to use API Operations depicted in this document.
Communicating with API The core messaging technology for the Capture Server API is Simple Object Access Protocol (SOAP), which is an XML- and HTTP-based protocol with wide support in the industry. The Capture Server API uses document/literal style SOAP 1.1. To use the API, write a client program in the programming language that you are familiar with. We have tested Java. Write your client program to send a request to one of the operations, such as the startCall or getarchives. The relevant operation will process the request and send back a response, which your client program needs to parse. The only software you need to install to use the API is the software for the programming language and toolkit that you will be using to write your client programs. For example, if you intend to write your client programs in Java, you will need to install the Java Development Kit and also a SOAP toolkit such as Apache CXF. The operations provided by a web service are defined in a WSDL (Web Services Definition Language) file which is posted on the web service's website. To connect to a web service, you need to know the URL for the WSDL. For the Capture Server API services, the URL for the WSDL is: https://[SERVER_HOST]:8443/rss/services/ProfileExtService?wsdl https://[SERVER_HOST]:8443/rss/services/MediaExtService?wsdl https://[SERVER_HOST]:8443/rss/services/ PlaybackService?wsdl.
1: API Operations Service
URL
Operation
Profile Service
https://[SERVER_HOST]: createTemplate; 8443/rss/services/Profile deleteTemplate; ExtService updateTemplate; getTemplates; getTemplate; createVRR; deleteVRR; updateVRR; getAllVRRs; getVRR;
Media manager
https://[SERVER_HOST]: getVersion; 8443/rss/services/Media getArchives; ExtService getArchiveByID; getArchivesByTime; getArchivesCount; getArchivesByIndex; updateArchive; deleteArchive; getLiveStreams; getAllCalls; startCall; startRecording; resumeRecording; pauseRecording; stopRecording; stopCall;
startTranscode; restartTranscode; stopTranscode; getDownloadToken; getEncryptedWords; startCallWithNotify; enableUserPortal; disableUserPortal; getUserPortalStatus; Playback manager
https://[SERVER_HOST]: 8443/rss/services/Playba ckService
startPlayback; pause; play; getCurrentPosition; seek;
Template Operations createTemplate Create a new template. Parameters template
Template Template object
Response long
template ID.
Exception RssExceptio n
NULL_VALUE_ERROR
Template object is NULL.
TEMPLATE_NAME_DUPLICA TE
The template name is duplicated with other.
TEMPLATE_NAME_NULL
Template name is empty.
TEMPLATE_RATE_INVALID
Invalid rate value: max rate must be equal or
greater than primary rate; primary rate must be greater than second rate. TEMPLATE_ADD_FAIL
Server internal error occurred.
deleteTemplate delete a template by template ID Parameters templateID long
Template id
Response boolean
Delete result. If true, it means delete successfully.
Exception RssException
TEMPLATE_NOT_FOUND
Template is not found.
TEMPLATE_DELETE_FAIL
Server internal error occurred.
updateTemplate Update a template. Parameters template
Template Template object
Response boolean
Update result. If true, it means update successfully.
Exception RssException
NULL_VALUE_ERROR
Template object is NULL.
TEMPLATE_NAME_NUL L
Template name is empty.
TEMPLATE_RATE_INVA LID
Invalid rate value: max rate must be equal or greater than primary rate; primary rate must be greater
than second rate. TEMPLATE_NAME_DUP LICATE
The template name is duplicated with other.
TEMPLATE_NOT_FOUN D
Template is not found.
TEMPLATE_UPDATE_F AIL
Server internal error occurred.
getTemplates Get all templates. Parameters (none) Response List
Template objects. Exception RssException
TEMPLATE_SEARCH_ FAIL
Server internal error occurred.
getTemplate Get one template by ID. Parameters templateID long
Template ID.
Response Template
A template object.
Exception RssException
TEMPLATE_SEARCH_F AIL
Server internal error occurred.
VRR Operations createVRR Create a new VRR object. Parameters vrr
VRR
Vrr object
Response long
VRR id.
Exception RssException
NULL_VALUE_ERROR
VRR object is NULL.
VRR_NAME_DUPLICAT E
The VRR name is duplicated with other.
VRR_ALIAS_DUPLICAT E
The VRR number is duplicated with other.
VRR_NAME_NULL
The name of VRR is null.
VRR_NUMBER_NULL
The VRR number is null.
VRR_NUMBER_INVALI D
Invalid VRR number:
VRR_ADD_FAIL
Server internal error occurred.
It should be numeric and its length is between 4 and 8.
deleteVRR Delete a VRR by ID. Parameters vrrID
long
Vrr ID.
Response boolean
Delete result. If true, it means delete successfully.
Exception RssException
VRR_NOT_FOUND
VRR is not found.
VRR_USED_BY_ARCHIVE
The vrr is used by other archives and cannot be deleted.
VRR_USED_BY_CALL
The vrr is used by calls and
cannot be deleted. VRR_DELETE_FAIL
Server internal error occurred.
updateVRR Update a VRR. Parameters vrr
VRR
The VRR that needs to be updated.
Response boolean
Update result. If true, it means update successfully.
Exception RssException
NULL_VALUE_ERROR
VRR object is NULL.
VRR_NAME_DUPLICA TE
The VRR name is duplicated with other.
VRR_ALIAS_DUPLICA TE
The VRR number is duplicated with other.
VRR_NOT_FOUND
VRR is not found.
VRR_UPDATE_FAIL
Server internal error occurred.
getAllVRRs Get all VRR objects. Parameters (none) Response List VRR objects. Exception RssException
VRR_SEARCH_FAIL
getVRR Get a VRR by VRR ID. Parameters vrrID Response
long
VRR id.
Server internal error occurred.
VRR
A VRR object.
Exception RssException
VRR_SEARCH_FAIL
Server internal error occurred.
System Operations getVersion Get Capture Server’s version. Parameters (none) Response String
Capture Server’s version.
getDownloadToken Get a token for downloading media files. Parameters (none) Response String
A token.
getEncryptedWords Encrypt a string with SHA1 and return the encrypted. Parameters value
String
A string to encrypt
Response String
An encrypted string.
enableUserPortal Enabled RP Capture Server’s portal for show. Parameters
(none) Response (none) Exception RssException
SERVER_INTERNAL_ ERROR
Server internal error occurred. Option failed.
disableUserPortal Disabled RP Capture Server’s portal for show. Parameters (none) Response (none) Exception RssException
SERVER_INTERNAL_ ERROR
Server internal error occurred. Option failed.
getUserPortalStatus Get the RP Capture Server’s portal On/Off status right now. Parameters (none) Response Boolean
PRCS’s portal enabled or not.
Media Operations getArchives Get all archives. Parameters (none) Response
List Archive objects. Exception RssException
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
getArchiveByID Get an archive by ID. Parameters archiveId
long
Archive ID
Response Archive
An archive object.
Exception RssException
VRR_SEARCH_FAIL
Server internal error occurred.
getArchivesCount Get the quantity of all archives. Parameters (none) Response int
The quantity of all archives.
Exception RssException
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
getArchivesByIndex Get a number of archives from start index to end index. Parameters startIdx
int
The start index
endIdx
int
The end index. It must be greater than startIdx and the interval should be not more than 100. (To avoid a too large SOAP
message for one request) Response List Archive objects. Exception RssException
INVALID_INDEX
StartIdx is more than endIdx or endIdx is over 100 more than StartIdx.
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
getArchivesByTime Get archives created between from time and to time. Parameters createTimeFrom long
The archive created time start with.
createTimeTo
The archive created time end.
long
Response List Archive objects. Exception RssException
INVALID_SEARCH_TI ME
Invalid time: createFromTime should be later than now. the end time should be later than start time.
getArchivesByIDs Get archives by an archive id list. Parameters archiveIdList List Archive id list Response List Archive objects. Exception
RssException
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
getArchiveIDsByTime Get ids of archives created between from time and to time. Parameters createTimeFrom long
The archive created time start with.
createTimeTo
The archive created time end.
long
Response List
Archive id list.
Exception RssException
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
getArchiveIDsByVrrID Get archive id list by VRR id. Parameters vrrId
long
VRR id.
Response List
Archive id list.
Exception RssException
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
getArchiveByCallID Get archive list by call id. Parameters callId
long
call id.
Response List Archive list. Exception RssException
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
updateArchive Update an archive. Parameters archive
Archive
Archive object
Response boolean
Update result. If true, it means update successfully.
Exception RssExceptio n
NULL_VALUE_ERROR
Archive object is NULL.
ARCHIVE_NAME_DUPLICATE
The archive name is duplicated with other.
ARCHIVE_NOT_FOUND
Archive is not found.
ARCHIVE_UPDATE_FAIL
Server internal error occurred.
deleteArchive delete an archive by ID. Parameters archiveId
long
The archive that needs to be deleted.
Response boolean
Delete result. If true, it means delete successfully.
Exception RssExceptio n
ARCHIVE_NOT_FOUND
Archive is not found.
ARCHIVE_DELETE_FAIL
Server internal error occurred.
getLiveStreams Get all live streamings. Parameters (none) Response
List Live streaming objects. Exception RssException
LIVESTREAMING_SEARCH_FAIL
Server internal error occurred.
getLiveStreamingByCallID Get a live streaming by call id. Parameters callId
long
call id.
Response LiveStreaming A live streaming Exception RssException
ARCHIVE_SEARCH_FAIL
Server internal error occurred.
getCalls Get all calls. Parameters (none) Response List
call objects.
Exception RssException
CALL_SEARCH_FAIL
Server internal error occurred.
getCallsByStatus Get calls by call status list. Parameters status
List
Response List
Call objects
Exception RssException
CALL_SEARCH_FAIL
Server internal error occurred.
getCallByID Get a call by call id. Parameters callId
long
Response Call
Call object
Exception RssException
CALL_SEARCH_FAIL
Server internal error occurred.
Recording Operations startCall Start a call. Parameters call
Call
Call object.
Response long
Call id
Exception RssException
NULL_VALUE_ERROR
Call object is NULL.
VRR_NOT_FOUND
The vrr is not found.
SERVER_INTERNAL_ERR OR
Server internal error.
CALL_CREATE_FAIL
Server internal error occurred.
startRecording Start recording. Parameters callId
long
Call id.
Response (none)
If no exception, it means recording successfully.
Exception RssException
SERVER_INTERNAL_ERROR
Server internal error.
pauseRecording Pause the recording. Parameters callId
long
Call id
Response (none) Exception RssException
SERVER_INTERNAL_ERROR
Server internal error.
resumeRecording Resume a paused recording. Parameters callId
long
Call id.
Response (none) Exception RssException
SERVER_INTERNAL_ERROR
Server internal error.
stopRecording Stop a recording. Parameters callId
long
Call id.
Response (none) Exception RssException
SERVER_INTERNAL_ERROR
Server internal error.
stopCall Stop a Call. Parameters callId
long
Call id.
Response (none) Exception RssException
SERVER_INTERNAL_ERROR
Server internal error.
startCallWithNotify Start a call and then send notify to special address. Parameters call
Call
Call object.
email
String
Email receiver address.
Response long
Call id
Exception RssException
NULL_VALUE_ERROR
Call object is NULL.
VRR_NOT_FOUND
The vrr is not found.
SERVER_INTERNAL_ERR OR
Server internal error.
CALL_CREATE_FAIL
Server internal error occurred.
Transcoding startTranscode Start to create a new media file. Parameters transcodeForm TranscodeForm TranscodeForm object. Response (none)
Exception RssException
NULL_VALUE_ERROR
Transcode Form object is NULL.
TRANSCODE_DISPLAYNA ME_NONE
Display name is empty.
TRANSCODE_DUPLICATE
The media file exists.
restartTranscode Re-create a media file. Parameters TranscodeForm TranscodeForm TranscodeForm object. Response (none) Exception RssException
NULL_VALUE_ERROR
Transcode Form object is null
stopTranscode Stop creating a media file. Parameters TranscodeForm TranscodeForm TranscodeForm object. Response (none) Exception RssException
NULL_VALUE_ERROR
Transcode Form object is null
SERVER_INTERNAL_ERR OR
Server internal error occurred.
ARCHIVE_NOT_FOUND
The Archive is not found.
TRANSCODE_STOP_WRO NG_STATUS
The transcoding can’t be stopped now.
Playback Operation startPlayback Dial to RP Capture Server self and playback an archive on it. Protocol support both of SIP and H323 Parameters playbackInfo PlaybackInfo Playback info object. Response long
ID of the call dial in PR Capture Server
Exception RssException
NULL_VALUE_ERROR
Properties in playbackinfo is EMPTY.
INVALID_ID
Get none archives by the id in playback info object.
SERVER_INTERNAL_ERROR
Server internal error occurred.
pause Pause a playback option Parameters archiveName String
Archive name to pause playback
Response boolean
Pause operation successfully or not.
Exception (none)
play Resume playback from pause. Parameters archiveName String
Archive name to resume playback from pause
Response boolean Exception
Pause operation successfully or not.
(none)
getCurrentPosition Get current time position of archive vedio play. Parameters archiveName String
Archive name for playback
Response long
Current playing time position right now
Exception (none)
seek Jump time line to special position for playbacking. Parameters archiveName String
Archive name for playback
position
Jump time position.(unit : second)
long
Response boolean Exception (none)
Time jump operation successfully or not.
2: Data Objects of API Object Tables Template Data object for a template. Type
Name
Description
long
templateID
Template id
String
templateName
Unique template name.
int
maxCallRate
The max call rate. For its value, please refer to Rate in Enumeration Table.
int
primaryStreamingRate The primary stream call rate. For its value, please refer to Rate in Enumeration Table.
int
secondStreamingRate
The second stream call rate. For its value, please refer to Rate in Enumeration Table.
int
layoutType
Video layout for Live Streaming video. For its value, please refer to Layout in Enumeration Table.
int
videoQuality
Video quality. [0: Motion ; 1: Sharpness]
int
streamingType
Live streaming type. [1: ASF ; 2:MP4]
boolean autoLivestreaming
Support live streaming or not.
boolean mp3Enabled
Generate MP3 file or not.
boolean restrictCifSif
Enable restricted CIF and SIF or not. If it is enabled, maxCallRate should be lower than 1024.
boolean hpEnabled
Enable H.264 High Profile or not.
boolean lprEnabled
Enable Lost Packet Recovery or not.
String
The media file’s backup path when server launch FTP media backup.
mediaBackupPath
boolean vodEnabled
Enable VOD media file or not.
int
The call rate of VOD.
vodRate
For its value, please refer to Rate in Enumeration Table. int
vodLayout
The layout of VOD. For its value, please refer to Layout in Enumeration Table.
boolean presentationEnabled
Enable generating zip file for Media Editor or not.
int
The interval of snapshots in zip file.
snapshotInterval
It should be between 1 and 300. Unit is second.
VRR Data object for a VRR. Type
Name
Description
long
vrrID
VRR id.
String
vrrName
Unique VRR name
String
vrrNumber
Unique VRR number, for dial out. Number format, length must be between 4 and 8.
boolean recordingImmediately Enable auto start to record when call starts or not. boolean customPrefixEnabled
Enable custom media file prefix words or not.
String
mediaFilePrefix
Define custom media file prefix words.
String
keyWord
Meta data for media
String
pinCode
Pin-code for protected video playback. It should be encrypted by SHA1.
String
description
Vrr description.
long
templateID
Template ID.
Archive Data object for an archive. Type
Name
Description
long
archiveID
Archive id
String
archiveName Archive name
long
userID
Archive owner ID
long
vrrID
Relate Object VRR ID
long
callId
Call id
int
duration
Video duration
String
videoType
Video type for show. It cannot be updated.
String
audioType
Audio type for show. It cannot be updated.
String
contentType
Content type for show. It cannot be updated.
long
createTime
Archive created time. It cannot be updated.
String
pinCode
Pin code. It should be encrypted by SHA1.
String
keyWord
Meta data for media, by default it extends from VRR’s key words.
String
description
Archive description
List archiveFiles
Media files objects
ArchiveFile Data object for an archive file. Type
Name
Description
long
archiveFileID
Archive id.
String
fileName
Media file name. It cannot be updated.
String
fileAlias
Media file alias for display. It cannot be updated.
int
mediaType
Media file type. [0: original raw file; 1: ASF file ; 2: MP4 file ; 3: MP3 file; 4: new raw file; 5: zip file]. It cannot be updated.
long
createTime
Media file created time. It cannot be updated.
int
size
Media file size. It cannot be updated.
int
status
Archive file status. [0: Waiting for transcoding; 1: Transcoding; 2: Ready; 3: Error; 4: Stopped]. It cannot be updated.
int
rate
Video rate. It cannot be updated.
int
width
Video width. It cannot be updated.
int
height
Video height. It cannot be updated.
int
convertPercent
Transcoding percentage. It cannot be updated.
String
downloadURL
URL for downloading URL. For more details, please refer to FAQs.
String
flashPlayUrl
Media file play URL. It cannot be updated. Worked if the media type is ASF. The whole useable URL is “mms://SERVER_HOST/ flashPlayUrl”
String
rssPlayerUrl
URL to playback archive file
List
streamingAddress es
Streaming address objects for this archive file.
LiveStreaming Data object for a live streaming. Type
Name
Description
long
liveStreamingid
Live streaming id
String
liveStreamingName Live streaming name
long
startTime
Live streaming started time.
String
pinCode
Archive Pin-code, by default it extends from VRR’s Pin-code. Encrypted by SHA1
String
description
Live streaming description
long
userID
Owner ID
long
vrrID
VRR ID
long
callID
Call ID.
int
streamingType
Live streaming type.[ 1: ASF ; 2: MP4]
List
streamings
Streaming objects for primary stream
and second stream.
StreamingInfo Data object for one stream of live streaming(Primary rate stream or second rate stream). Type
Name
Description
String
streamingName
The stream name, single in a live streaming.
int
rate
The stream video rate.
int
width
The stream video width.
int
height
The stream video height.
List streamingAddresses Streaming address objects for this stream. String
Rss PlayerUrl
URL to playback the stream
StreamingAddress Data object for a live streaming URL. Type
Name
Description
String
streamingURL
Live streaming URL.
String
serverIP
The IP address of this live streaming URL resource.
int
serverPort
The port of this live streaming URL resource.
MediaServerType
serverType
Media server type enums.[RSS ; WOWZA ; QTSS ; IIS]
StreamProtocolType
playerType
Stream protocol enums.[RTSP ; SSTR ; AHLS ; MMS]
MediaServerType Media server type enum object Name
Description
RSS
RP Capture Server
WOWZA
WOWZA media server
QTSS
QuickTime Streaming Server
IIS
IIS Smooth Streaming Server
WMS
Windows Media Server
StreamProtocolType Streaming protocol type enum object Name
Description
RTSP
RTSP protocol
SSTR
Microsoft Smooth Streaming protocol
AHLS
Apple HTTP Live Streaming protocol
MMS
Microsoft MMS protocol
Call Data object for a call. Type
Name
Description
long
id
Call id.
String
name
Call name for display.
String
description
Call description.
int
aliasType
Address Content type for this call. [0: IPV4, 1:IPV6, 2: SIP, 3: E164, 4: H323]
String
aliasValue
IP address or E164 number
CallStatus
status
CallStatus enum object
long
vrrID
VRR ID
CallStatus Call status enum object Name
Description
UNKNOWN
Unknow status
INITIATING
Call is initiating.
CONNECTED_IDLE
Call is connected.
CONNECTED_RECORDING
Call is in recording
CONNECTED_PLAYBACKING
Call is in playback from a terminal
DISCONNECTED
Call is disconnected
CONNECTING
Call is connecting
FAILED
Call is failed
TranscodeForm TranscodeForm object for creating archive file. Type
Name
Description
long
archiveFileID
Archive file id. It is empty for creating a new media file.
long
archiveID
Archive id
int
mediaType
Media type. [1: ASF format; 2: MP4 format; 3: MP3 format].
int
rate
Video rate. For its value, please refer to rate and transcoding in Enumeration Table.
int
width
Media file screen width. For its value, please refer to transcoding in Enumeration Table.
int
height
Media file screen height. For its value, please refer to transcoding in Enumeration Table.
int
layoutType
Video layout for Live Streaming media type file. For its value, please refer to layout in Enumeration Table.
int
videoType
Video encoding type. [0: H261, 1: H263, 2: H263+, 3: H264, 4: VC1.]
String
displayName
Unique attribute in an archive. Not null.
PlaybackInfo PlaybackInfo object for dial and playback from RP Capture Server. Type
Name
Description
long
archiveID
Archive id.
Integer
aliasType
Alias type for dial RP Capture Server. [0: IPV4, 1:IPV6, 2: SIP, 3: E164, 4: H323]
String
aliasValue
IP address or E164 number for dial
Enumeration Table In object tables, some fields need to follow these tables’ value. If you don’t follow this, we can’t sure your API will work correctly.
Layout List In template and transcodeForm object, custom maybe edit this column. It must be numeric Type and is between 0 and 5. Value Label
Valid video Type
0 ASF
Video and content have single window each other
ASF、MP4
In a window, video and content place a half space.
ASF、MP4
In a window, video places a little more than a half space.
ASF、MP4
In a window, video places much more than a half space.
1
2
3
4
Description
ASF
In a window, No content in it.
5 ASF
In a window, video and content place a half space. They can switch place.
Rate List Video rate list. The unit is Kbps. 128
192
256
320
384
512
768
832
1024
1152
1280
1472
1536
1728
1920
2048
2560
3072
4096
Transcoding Configuration The below is a list of configure combination for transcoding operations. Media Type
Video type
Bit rate(Kbps)
Width-Height Ratios
WMV(ASF)
VC1
128K, 256K, 384K
352x288, 320x240, 352x240 640x480, 800×480, 704x576
512K, 768K, 1024K 1280K, 1920K, 2048K, 4096K MP4
H264
352x288, 640x480, 800× 480, 704x576, 1024x768, 1280x720
128k, 256K, 384K
320X240, 640x480, 800× 480
512k, 768k, 1024k, 1280K, 1920K, 2048K , 4096K
320X240, 640x480, 800× 480, 1024x768, 1280x720
3: FAQs How to get WSDL Capture Server will support the WSDL files with the package. And you can get the WSDL by URL which refer to Communicating with API. Because there are two services support to use. Maybe it will appear something duplicate and lead any problem. You need to clean duplicate object, for example in Java , there are double RSSException, ObjectFactory and package-info Objects. See Appendix B WSDL Files for the WSDL files to use.
SOAP Request Example The following code is a SOAP request to getVersion. The header sets the security authentication identity. The body of the message is a request to get system version. admin admin
SOAP Response Example The following code is a SOAP response to the previous getVersion request. The body includes the system version "1.0.0.0 rev 36880". 1.0.0.0 rev 36880
How to download media file There is a field downloadURL in ArchiveFile. User would download a media file by a downloading URL which consists of Server Host, DownloadURL and a token string obtained by getDownloadToken API. The downloading URL format is as follows: https://[SERVER_HOST]:8443/[DownloadURL]&downloadToken=[The Token String] For example, “https://172.21.124.111:8443/rss/RSSServlet?filetype=type_media&extra=172.2 1.97.194_110901030748bfd8478hi.asf&downloadToken=e03233d12bd5e011bd3b95d662 a804a7” Server Host is “172.21.124.111”. DownloadURL is “rss/RSSServlet?filetype=type_media&extra=172.21.97.194_110901030748bfd8478hi .asf”. Download token is “e03233d12bd5e011bd3b95d662a804a7”.
How to use Pin-code The pin-code is designed to protect the playback of vod and live and downloading a media file. The pincode in Capture Server is encrypted with SHA1(This is asymmetric encryption algorithm). If the caller of CAPTURE SERVER web service APIs would like to validate the pin-code when his clients play vod/live or download a media file, the API “getEncryptedWords” may assist the caller to encrypt the entered pincode. The encrypted string can be used to validate against the pin-code of archive. The pin-code must be numeric. The length of pin-code must be greater than 1 and less than 16.
Appendix A – APIs in old version API Operations Service
Operation
MediaService
getVersion
https://[SERVER_HOST]:8443/rss/services/ MediaService
getTemplates getTemplate createChannel editChannel deleteChannel getChannels createVRR editVRR deleteVRR getVRRs getVRR startCall endCall getCalls getCallsByStatus getCall getNumberOfarchives getarchives getarchivesByCallIds getLiveStreamings getDownloadToken getHashedPassword
getVersion Get PR CAPTURE SERVER system version. Parameters (none) Response String
The system version of Capture Server.
getTemplates Get all template data. Parameters (none) Response Template[]
An array of template objects.
getTemplate Get the template data associated with a template ID. Parameters templateId
String
A template ID.
Response Template
A template object.
createChannel Create a new channel. Parameters channel
Channel
Information about the new channel. Channel.channelId is ignored in this data object.
Response Channel
A new channel object with Channel.channelId filled in.
Errors CHANNELNAME_DUPLICATE If a channel with the same name already exists. /* Channel function have removed */
editChannel Update information for a channel. Parameters channel
Channel
The channel that needs to be updated.
Response Channel
The updated channel object.
Errors CHANNELNAME_DUPLICATE If a channel with the same name already exists. /* Channel function have removed */
deleteChannel Delete a channel. Parameters channelId
String
A channel ID for a channel that should be deleted.
Response (none) /* Channel function have removed */
getChannels Get all channel data. Parameters (none) Response Channel[]
An array of channel objects.
/* Channel function have removed */
createVRR Create a new vrr. Parameters vrr
VRR
Information about the new vrr. VRR.vrrId is ignored in this data object.
Response VRR
A new vrr object with VRR.vrrId filled in.
Errors VRRNAME_DUPLICATE
If a vrr with the same name already exists.
VRRALIAS_DUPLICATE
If a vrr with the same alias already exists.
editVRR Update information for a vrr. Parameters vrr
VRR
The vrr that needs to be updated.
Response VRR
The updated vrr object.
Errors VRRNAME_DUPLICATE
If a vrr with the same name already exists.
VRRALIAS_DUPLICATE
If a vrr with the same alias already exists.
deleteVRR Delete a vrr. Parameters vrrId Response (none)
getVRRs Get all vrr data.
String
A vrr ID for a vrr that should be deleted.
Parameters owner
String
The user name of vrr’s user.
Response VRR[]
An array of vrr objects.
getVRR Get the vrr data associated with a vrr ID. Parameters vrrId
String
A vrr ID.
Response VRR
A vrr object.
startCall Start a call for dialing out to record. Parameters vrrId
String
A vrr ID.
aliasType
String
The type of alias. Values are: IPV4 E164 H323
aliasValue
String
The value of alias.
name
String
The name of call. (optional)
description
String
The description of call. (optional)
referenceId String
The referenceId of call. (optional)
Response Call
A call object.
Errors VRRID_INVALID
If vrrId is not valid.
endCall End the call associated with a call ID. Parameters callId
String
A call ID.
Response (none)
getCalls Get the call data for the provided status. Parameters callStatus
String
The status of call. Values are: INITIATING CONNECTING CONNECTED_IDLE CONNECTED_RECORDING CONNECTED_PLAYBACKING DISCONNECTED FAILED
Response Call[]
An array of call objects.
getCallsByStatus Get the call data for the provided status list Parameters callStatus
List The status of call. Values are: INITIATING CONNECTING CONNECTED_IDLE CONNECTED_RECORDING
CONNECTED_PLAYBACKING DISCONNECTED FAILED Response Call[]
An array of call objects.
getCall Get the call data for the provided call id Parameters callId
String
A call ID.
Response Call
A call object.
getNumberOfarchives Get count number of archives. Parameters (none) Response int
The count number of archives.
getarchives Get the archive data for the provided index range. Parameters startIdx
int
The start index.
endIdx
Int
The end index.
Response Media[]
An array of media objects.
getarchivesByCallIds Get the archive data for an array of call IDs. Parameters
callIds
String[]
An array of call IDs.
Response Media[]
An array of media objects.
getLiveStreamings Get all live streaming data. Parameters (none) Response Media[]
An array of media objects.
getDownloadToken Get the download token. Parameters (none) Response String
The download token that is used for download media file.
getHashedPassword Get the hashed password. Parameters (none) Response String
The hashed password.
API Data Objects Template Data object for a template. templateID
String
templateName
String
layoutType
String
DUAL SMALL MEDIUM LARGE
streams
TemplateStreamConfig[]
autoLiveStreaming boolean
TemplateStreamConfig Data object for a template stream config. Fields format
String
ASF MP4
bitrate
int
Kbps
Channel Data object for a channel. channelId
String
Name
String
description String /* Channel function have removed */
VRR Data object for a vrr. vrrId
String
vrrName
String
vrrAlias
String
pinCode
String
owner
String
description
String
recordingImmediately boolean
channelId
String
templateId
String
Call Data object for a call. callId
String
vrrId
String
name
String
description
String
aliasType
String
IPV4 E164 H323
aliasValue
String
status
String
INITIATING CONNECTING CONNECTED_IDLE CONNECTED_RECORDING CONNECTED_PLAYBACKING DISCONNECTED FAILED
referenceId String
Media Data object for a media. Fields mediaId
String
catalog
String
ARCHIVED STREAMING
name
String
description
String
recordingDate String duration
String
Second(s)
pin
String
meetingId
String
occurrenceId
String
streams
MediaStream[]
call
Call
channelName
String
MediaStream Data object for a media stream. Fields streamId
String
type
String
ASF MP4 LIVE
status
String
Waiting Transcoding Ready Error
size
long
KB
bitrate
int
Kbps
height
int
width
int
downlaodUrl String
Only for ASF and MP4
playUrl
Only for ASF and Live
String
Appendix B WSDL Files You can choose to use file or URL to get WSDLs. Here are the sample WSDL files: CaptureServer_Media.wsdl RPCaptureServer_Playback.wsdl CaptureServer_Profile.wsdl
CaptureServer_Media.wsdl
RPCaptureServer_Playback.wsdl
CaptureServer_Profile.wsdl