The requirement is for a SIP voice and video client implemented as a platform independent web
client which is controlled thorough API such as php or javascript.
## Deliverables
1 Requirements
1.1 Requirement Overview
The requirement is for a SIP voice and video client implemented as a platform independent web
client which is controlled thorough API such as php or javascript.
The web client may be implemented in the form of plugin/java applet/flash plugin or any other
container which the vendor should specify.
User interface and design is out of the scope of the requirements, the web interface should be
created through the API provided.
The solution must be interoperable with solutions based on SIP RFC 3261. Traces
can be provided on request, and access to a testing server can be provided during the development
cycle.
The solution needs to run on Windows, MAC and Linux devices, all based on CPU of 1 core running at
1GHz with 512 MB of RAM.
The vendor should provide a budgetary proposal, with a full answer set to the requirements, and
timeline for delivery based on the requirements in this document
1.2 Feature Requirements:
1. SIP and RTP stack including RTCP (compatible with any standard VoIP server)
2. Registration Support with authentication
3. Transport Protocol: UDP, TCP, TLS
4. NAT/Firewall Support: stable SIP and RTP ports, rport support, STUN protocol and auto
configuration.
5. QOS Support for TOS byte for voice and video
6. Provide capability to select audio device in, audio device out, video device in, video device
out
7. The vendor should provide the name of the codec libraries used in the solution.
8. Voice Codecs: G711A, G711U, iLBC, the vendor should also provide cost of adding codecs in
the future for voice and video codecs.
9. Voice Features:
a. PLC - Packet Loss Concealment
b. AEC - Acoustic Echo canceller
c. Noise Suppression
d. Silence Suppression
e. AGC - Automatic Gain Control
f. Video Mute
g. Setting Volume
h. Jitter Buffer - Provide depth and algorithm
10. Video Codec's: H264 Baseline
11. Video Features:
a. Full Screen Viewing Support
b. Jitter Buffer
c. Receive:
i. 720p/30 FPS- Up to 3 Mbps
ii. VGA/30 FPS- Up to 1.5 Mbps
iii. CIF/30 FPS - Up to 768 Kbps
d. Transmit:
i. 4CIF/ 30 FPS - Up to 1.2 Mbps
ii. VGA/30 FPS - Up to 1 Mbps
iii. CIF/30 FPS - Up to 768 Mbps
12. DTMF Support: Either [login to view URL], out of band, SIP info, RFC 2833 or any of the combinations.
13. API capabilities through either PHP or Javascript
14. Voice Recording
15. Provide capability to play ring tone
16. Screen Sharing
a. A 2nd video stream capability should be present in SDP's - according to further
description
b. The screen sharing media is not to be sent by default
c. When switching to screen sharing mode an INFO message should be sent to the SIP
server asking for permission to share content. If answered with OK - then a 2nd video
stream with the screen should be sent.
d. If possible provide an option of which "window" within the OS to share.
17. Voice Recording
18. [login to view URL] Support
19. Chat capabilities should be provided by the vendor.
20. The vendor should provide the maximum size of the downloaded plugin.
21. The solution should work in Internet Expolorer 8 and 9, Firefox, Chrome and Safari.
22. SIP is based on RFC
23. Calibration of voice and video inputs.
24. Deployed solution ([login to view URL]) should be minimal less then 2Mb.
1.3 API Requirements:
1. Set SIP server address
2. Set username and password
3. Register/Unregister to SIP server
4. Create outgoing call
5. Answer Incoming call
6. Hangup call
7. Reject Call
8. Voice Mute/UnMute
9. Video Mute/UnMute
10. Hold/UnHold
11. Send DTMF
12. Play Sound
13. Get audio devices
14. Set audio device
15. Get video devices
16. Set video device
17. Set audio parameters
18. Set video parameters
19. Get Status
20. Set Display Name
21. Set video window size
22. Show self video in different window
23. Set volume
24. Set STUN
25. Set transport
26. Set DTMF mode
27. Set AGC, PLC, AEC, Denoise, Silence Suppression
28. Set codec list to use including bitrate and framerate
29. Set TOS values for voice/video
30. Set timeout
31. Set realm
32. Set jitter buffer
33. Provide an API to set the video paramaters such as bitrate, resolution, codec, and framerate.
Deliverable Requirements
Well documented source code including a working sample application, and API documentation.
Licensing Requirements
The solution must be provided with unlimited client license.