Software Requirements Specification Unified ...

7 downloads 285 Views 761KB Size Report
premises using our provided software components including servers ... Collect information from network status and client webrtc stats and sessions DB to show ... Rich set of configurable widgets recording , screen sharing , media control more ...
 

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 end­to­end 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. 2. 3. 4. 5.

Developers  Project managers  Marketing   Users  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_Real­time_Transport_Protocol  http://tools.ietf.org/id/draft­nandakumar­rtcweb­sdp­01.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. 2. 3. 4.

Direct Calls : User should be able to directly call anybody else on his network  Code : Users in a meeting should be able to   Draw :  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 , e­classrooms ,  interviews , presentations etc .  4. To be marketed as SaaS ( Software as a Services ) and PaaS ( Platform as a service )   5. Provided with pre­built 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. on­line 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 client­side solutions to specify rules for various kinds of web  based meetings such as social meetup , classroom , business demo , presenter­viewer 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 client­side solutions to specify rules for various kinds of  web based meetings such as social meetup , classroom , business demo ,  presenter­viewer 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. Presenter­viewer based video Streaming   6. White­board  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 client­side solutions to specify rules for various kinds  of web based meetings such as social meetup , classroom , business demo ,  presenter­viewer 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 client­side solutions to specify rules for various kinds of  web based meetings such as social meetup , classroom , business demo ,  presenter­viewer 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 client­side solutions to specify rules for various kinds  of web based meetings such as social meetup , classroom , business demo ,  presenter­viewer 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 client­side solutions to specify rules for various kinds of  web based meetings such as social meetup , classroom , business demo ,  presenter­viewer scenarios etc called WebRTC sessions .  

 

SRS for UC&C service Suite 

Altanai Bisht  

3.1.2              Sequences 

  3.1.3              Functional Requirements  heartbeat keep­alive 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