Software Requirements Specification
for
Unified Communication & Collaboration (UC&C)
Version 1.0
Prepared by Altanai ( [email protected] )
8 July 2015
SRS for UC&C service Suite Altanai Bisht
Table of Contents 1. Introduction
1.1 Purpose 1.2 Document Conventions 1.3 Intended Audience 1.4 Project Scope 1.5 References
2. Overall Description 2.1 Product Perspective 2.2 Product Features 2.3 Classes and Characteristics 2.4 Operating Environment 2.5 Design and Implementation Constraints 2.6 User Documentation 2.7 Assumptions and Dependencies 2.8 Timelines 2.9 Future Road Map
3. System Features 3.1 Session and Policy controller
3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
3.2 Widget and widget's Dev API 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements 3.1.2 Sequences 3.1.3 Functional Requirements
3.4 Calendar 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
3.5 Authentication
SRS for UC&C service Suite Altanai Bisht
3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
3.6 Presence 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
3.7 Real Time Analytics 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements 3.1.1 Description and Priority 3.1.2 Sequences 3.1.3 Functional Requirements
4. External Interface Requirements 4.1 User Interfaces 4.2 Hardware Interfaces 4.3 Software Interfaces 4.4 Communications Interfaces
5. Other Nonfunctional Requirements 5.1 Performance Requirements 5.2 Security Requirements 5.3 Software Quality Attributes 6.1 Legal , Copyright and other notices
Revision History
Name Date Changes Version
TFX service suite 11 May 2015 First design 1.0
TFX service suite 8 July 2015 Advanced controls 2.0
SRS for UC&C service Suite Altanai Bisht
1. Introduction
1.1 Purpose
TFX service suite is set of components required to build an endtoend efficient and powerful communication solution. It encompses of the followinng : Signalling layer 1. Signalling server
2. Sessions database
Core components : 1. TFX conf webpage
2. Embeddable TFX Conf iframe
Widget Layer Components :
1. Real Time analytics
2. Code
3. Draw
4. context share
5. Screensharing
6. File sharing
7. Recording
8. Rich group / private Messaging
9. Auto Notes
10. Slideshare widget
Session Layer components : 1. Policy controller
2. Calendar
3. Notifications
4. Authentications
5. Address Book
6. Presence
SRS for UC&C service Suite Altanai Bisht
7. Session analytics
1.2 Document Conventions
The document describes the software requirements for the process of building TFX suite . TFX is the brand name and suite refers to the suite of services that it contains .
All components described as part of suite in this document are modular in nature and need not be necessarily integrated to overall platform for it to work .
1.3 Intended Audience
1. Developers 2. Project managers 3. Marketing 4. Users 5. Testers
1.4 Project Scope
A unified communication , collaboration , conferencing solution . It should be marketed as WebRTC SaaS ( software as a solution ). Enterprises should be able to host the solution in their premises using our provided software components including servers . gateways and clients that might be made as part of TFXconf.
1.5 References
http://socket.io/ http://www.webrtc.org/ https://simplewebrtc.com/ http://redis.io/ https://cisco.webex.com http://www.webex.com/ciscospark/ http://en.wikipedia.org/wiki/Secure_Realtime_Transport_Protocol http://tools.ietf.org/id/draftnandakumarrtcwebsdp01.html
2. Overall Description
SRS for UC&C service Suite Altanai Bisht
2.1 Product Perspective
This product is composed of the following components : Signalling layer 1. Signalling server :
Provided socketio based signalling . Handles offer , answer and SDP transactions between peers .
2. Sessions database : Stores the mapping of users to sessions and their privileges and services . Core components 1. TFX conf : Client product which actually enables users to join a session 2. embeddable TFX Conf iframe : lightweight client embeddable like an iframe
Widget Layer Components
1. Direct Calls : User should be able to directly call anybody else on his network 2. Code : Users in a meeting should be able to 3. Draw : 4. Context Awareness : Use techniques like Text to speech , Message sniffing , page
detection , public profile of members etc to find out the context of communication and share with admin .
5. Screensharing 6. File sharing 7. Recording with save option 8. Group Messaging : n : n messaging 9. Private Messaging : 1 to 1 messaging 10. Auto Notes : Store session summary 11. Real Time Analytics : Use webrtc stats , network 12. Slideshare widget
Session Layer components :
SRS for UC&C service Suite Altanai Bisht
1. Session analytics :
Collect information from network status and client webrtc stats and sessions DB to show , currents number of sessions and their quality .
2. Policy controller :
Controls the policies for sessions . Admin portal is used to manage the services , sessions and users .
3. Calendar :
Based on authentication Third party API to control the session dates and timings
4. Notifications :
Based on authentication Third party API to control the process of sending notifications to users either in form of Email or message on social networking platforms.
5. Authentications :
Third party API to control the user authentication process to join a session
6. Address Book :
Keep a list of contacts for user . Can also import through other social networking accounts using XMPP .
7. Presence :
Keepalive heartbeat signals to facilitate publish , subscribe and notify automatically .
2.2 Product Features
1. Easy to manage and schedule web calls 2. Admin , host , guest privileges control 3. Generic platform to fit for all scenarios like group discussions , webinars , eclassrooms ,
interviews , presentations etc . 4. To be marketed as SaaS ( Software as a Services ) and PaaS ( Platform as a service ) 5. Provided with prebuilt features like screen sharing , recording ,Whiteboard ,
collaborative programming , multi language chat . More services can be also be added . 6. Session and Policy Management 7. Extra Security 8. Rich set of configurable widgets recording , screen sharing , media control more .. 9. Browser to Browser / Browser to Device / Device to Device communication 10. Layered and Modular setup of components 11. Context Enabled , Immersive Experience 12. Developer friendly APIs and SDK
SRS for UC&C service Suite Altanai Bisht
2.3 Classes and Characteristics
Sessions id ,date, time , purpose , admin , host , guests
2.4 Operating Environment
All WebRTC supported desktop and mobile browsers
2.5 Design and Implementation Constraints
1. Anti webrtc corporate or regulatory policies 2. hardware limitations ie no mic or camera 3. software limitations ie no or unsuitable chrome browser 4. RAM and memory requirements 5. organization has blocked access to TFX signalling server or TURN server
2.6 User Documentation
1. user manuals 2. online help 3. dev API tutorials 4. delivery formats and standards
2.7 Assumptions and Dependencies
● The users should have webrtc supported browser and allow VOIP communication in enterprise policies .
● User must gave media permission for the camera and microphone access for video sessions .
● Permissions should be given to share screen when asked by screen sharing widget.
2.8 Timelines
Milestone 1 : Signalling server , Sessions database , TFX conf
SRS for UC&C service Suite Altanai Bisht
Milestone 2 : Authentication, Policy controller , calendar , Real time Analytics , more widgets
SRS for UC&C service Suite Altanai Bisht
Milestone 3 : Presence Notification , Context sharing
2.9 Future Road Map
Road Map : Telco SIP Integration through protocol adapters
SRS for UC&C service Suite Altanai Bisht
3. System Features
3.1 Session and Policy controllers
3.1.1 Description and Priority
A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions . Sample screens for Admin console as part of Session and Policy controller : Sample Output JSON file to be shared among all peers: { "meeting" : {
"meeting_esssential":{ "meeting_name" : "officemeeting" , "description" : " offical meeting to discuss next year goals" , "password" : "kjwsgdkx"
},
"date_time": { "date" : "12may2015", "start": "16:00", "end" : "21:00"
SRS for UC&C service Suite Altanai Bisht
}, "meeting_settings":{
"meeting_type": "n:n audio only" },
"invite_attendees":{ "host": "[email protected]", “aletrnative_host”:””, "attendees":"[email protected]"
}, "meeting_options":{
"chat_private": "y", "chat_group": "y", "video_hd":"y", "file_transfer":"n", "screen_sharig":"n", "context_aware":"n"
}, "attendees_privileges":{
"save_print_chat":"n", "view_participants_list":"y", "record_session":"n" }
} }
3.1.2 Sequences
SRS for UC&C service Suite Altanai Bisht
3.1.3 Functional Requirements
Policy controller will control the behaviour , privileges and properties of every session created on WebRTC communication platform. Client side session controller Roles and Privileges are maintained in JSON format Sessions parameters can also change dynamically
3.2 Widget and widget's Dev API
3.1.1 Description and Priority
A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements
Following types of widgets are required 1. Unique URL based session management 2. Direct Calls 3. Instant messaging ( public chat and private chat ) 4. Audio Conferencing 5. Presenterviewer based video Streaming 6. Whiteboard 7. filesharing 8. screen sharing 9. calendar 10. Invitation alarms and notifications 11. Meeting Recorder 12. slideshare widget
3.3 TFX conf Web/Mobile Page and Embeddable iframe
3.1.1 Description and Priority
SRS for UC&C service Suite Altanai Bisht
A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
3.1.2 Sequences
3.1.3 Functional Requirements unified communication , collaboration , conferencing , calling solution.
3.4 Calendar
3.1.1 Description and Priority
A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements
Hold Scheduled and past calls for every authenticated user sync with work calendar
3.5 Authentication
3.1.1 Description and Priority
A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements
Oauth 2.0 based Open ID support for third party authentication like google , Linkedin
3.6 Presence
3.1.1 Description and Priority
A lightweight , very customizable clientside solutions to specify rules for various kinds of web based meetings such as social meetup , classroom , business demo , presenterviewer scenarios etc called WebRTC sessions .
SRS for UC&C service Suite Altanai Bisht
3.1.2 Sequences
3.1.3 Functional Requirements
heartbeat keepalive signals followed by answer by clients till they are in session
3.7 Real Time Analytics
3.1.1 Description and Priority
Collects data to represent based on WebRTC stats of peers , sessions DB , network report user connecting , disconnecting a session , location etc .
3.1.2 Sequences
3.1.3 Functional Requirements
Use webrtc stats to get real time stats
Store vital stats in DB for every session for future reference Algorithm to calculate other graphs based on values stored in session DB
SRS for UC&C service Suite Altanai Bisht
3.8 Context Awareness
3.1.1 Description and Priority
Use algorithms and pattern to deduce context of communication from ongoing sessions and share with admin in real time .
3.1.2 Sequences
3.1.3 Functional Requirements
Use frequently used words , location , user profile , session description etc to share the context of communication with Admin .
3.9 User Profile Management
3.1.1 Description and Priority
3.1.2 Sequences
3.1.3 Functional Requirements
SRS for UC&C service Suite Altanai Bisht
3.9 Contacts
3.1.1 Description and Priority
3.1.2 Sequences
3.1.3 Functional Requirements
4. External Interface Requirements
4.1 User Interfaces
Admin portal Manage users Manage Widgets and Session Modules Check Sessions Analytics
SRS for UC&C service Suite Altanai Bisht
User TFX conf
Login screen
SRS for UC&C service Suite Altanai Bisht
Meeting screen as a Host Create a meeting Add purpose Add date , time , duration Add email for host and guests Set alarm / notification settings
SRS for UC&C service Suite Altanai Bisht
SRS for UC&C service Suite Altanai Bisht
Meeting screen as an Attendee
Join a Meeting with email and password
SRS for UC&C service Suite Altanai Bisht
Call screen Meeting screen
4.2 Hardware Interfaces
microphone access to web page camera access to web page
4.3 Software Interfaces
4.4 Communications Interfaces
1. Signalling server communications protocol socketo.io 2. Media transmission protocol SRTP
5. Other Nonfunctional Requirements
5.1 Performance Requirements
1. User Accounts Management 2. Peer to peer communication 3. Plugins / external resources required 4. Contacts Management
SRS for UC&C service Suite Altanai Bisht
5. Calendar and Event Management 6. Third party integration 7. Conferencing 8. Customization 9. Embedding and Compressibility 10. Pushing updates 11. Device Dependence 12. Standards compliance 13. Developer support 14. Bandwidth Quality Adaption 15. Page load Time ( irrespective of time to login ) 16. Time between Call initiation and connection Browsers supported 17. OS Compatibility
5.2 Security Requirements
1. session security and privacy 2. user identity authentication 3. policies or regulations infringement 4. security or privacy certifications
5.3 Software Quality Attributes
1. adaptability 2. availability 3. correctness 4. flexibility 5. interoperability 6. maintainability 7. portability 8. reliability 9. reusability 10. robustness 11. testability 12. usability
SRS for UC&C service Suite Altanai Bisht
6. Licensing
6.1 Legal , Copyright and other notices
All products under TFX suite will be property of Above Solutions .
Appendix A: Glossary
WSC WebRTC Session Controller
IP Internet protocol
VOIP Voice over IP
WebRTC Web based Real Time Communication .
Appendix B: Analysis Models
Appendix C: Issues List
SRS for UC&C service Suite Altanai Bisht