1. Resume – Prashant Desai
Prashant Desai
Email: desaiprashant12@gmail.com Mobile: 9620560828
prashantmdesai12@gmail.com 9900944003
Summary:
• A Technical Lead graduated from VTU University, Belgaum and having overall 8+ years of
extensive experience in design and development of software for telecom and CE products.
• Worked on various telecom products - SONET/SDH Add Drop Multiplexer, GPON ONT (FTTP), Home
Gateway, ADSL modems and CE products DVB-IP Set top Box, Media Server, Media clients, Android
Mobile Devices.
• Core expertise in designing and developing the VoIP Protocol(SIP,SDP,RTP,RTCP) Stack, NAT
Traversal Solutions(STUN/TURN/ICE),IPTV solutions,L2/L3 layer protocols (PPPoE, LCP, NCP, L2TP,
IGMP),multimedia(Gstreamer) streaming solutions, DVB solutions.
• Work experience on Gstreamer framework in writing Gstreamer plugins and developing Gstreamer
applications.
• Experience in developing Multimedia streaming Protocols - Adaptive Streaming (HTTP Live
Streaming), RTSP.
• Work experience on MPEG2 and H264 Decoders.
• Work experience on C, C++, Data Structures, Trees and familiar knowledge on design patterns and
algorithms.
• Work experience with all stages of SDLC including designing, developing, testing and rolling out
complex telecom and CE softwares.
• Result oriented, self driven, highly motivated, smart and hungry to learn new technologies,
methodologies, strategies and processes.
Employment History:
Overall Experience:
• 8+ years in Telecom and Consumer Electronics
• As a Technical Lead in Samsung R&D Bangalore
From Nov-2013 to Till Date
• As a Senior Software Engineer in Pace Micro technology Pvt Ltd Bangalore.
From June-2009 to Nov 2013.
• As a Member of Technical Staff in Xalted Networks (SemIndia Systems) Pvt Ltd Bangalore.
From Nov-2006 to June-2009
Technical Skill Set:
Protocol/Standards : SONET/SDH, VOIP (SIP, SDP), NAT Traversals (STUN, TURN, ICE)
L2TP, IGMP, RTP, RTSP, RTCP, L2&L3 Protocols ( PPPoE, LCP,
NCP) ,Streaming Protocols, MPEG2-TS
Operating Systems : VxWorks, Android, Linux, Windows, Android
Programming Languages : C, C++, gObject Programming, familiar with java
Transaction Languages : CLI
Debuggers : GDB, Windbg
Configuration Management : Perforce, Clear Quest
Multimedia Frameworks : Gstreamer
Academic Qualifications:
M.S in Software Systems BITS, Pilani 2009 with CGPA 6.2.
Page 1
2. Resume – Prashant Desai
B.E in Electronics and communication under VTU, Belgaum in 2005 with Aggregate 76%.
Samsung R&D Bangalore Projects Nov 2013 to Present
Project: Peer to Peer Video Telephony
P2P model is a communication model in which each party may act as a client and a server. Both parties
have the same capabilities and both can initiate the connection. It is the opposite of client/server model in
the sense that there is no central entity that the other parties contact but every single entity is able to
initiate connection directly with all other entities. P2P also makes more efficient use of the limited
bandwidth and there is no need for data to pass through the server. This lets communicating parties use
the fastest line between them.
Team Size : 2
Project Duration : 12 months
Protocols : SIP, SDP, NAT traversals, STUN/TURN, ICE
O.S/Languages used : Linux/C, UDP/TCP Socket Programming
• Involved in high level design and creating sequence diagrams for Peer to Peer video telephony
solution.
• Developed various Test cases for a solution to work with possible combinations of all NAT
types(Full cone, Address Restricted, Port Restricted and Symmetric)
• Implemented the core functionality of the pure P2P model includes.
• Development of STUN/TURN clients to address different NAT traversal issue in SIP signalling and
media path establishment.
• Development of ICE module for establishment of SIP signalling and media path.
• Implementation of SIP connection manager for interacting with SIP core for establishing SIP
signalling path.
• Management of Peer to Peer SDP negotiations.
• Configured Peer to Peer Test setup to test possible combinations of all NAT traversals.
• Media engine interface layer to interact with third party media engine.
• Bug fixes related to file handling, configuration, memory crashes, memory leaks etc
Pace Micro Technology Pvt LTD -Projects July 2009 to 2013
Project: Media Server (A/V streamer)-Media Client System (Proof of Concept)
Media servers act as residential gateways and are able to stream the video/data services across network
home devices (media clients) connected to it. The system employs DLNA (UpNp) stack to establish the
connection between server and clients. The Eco system also provides features like live pause, playback
of recorded streams, Seek, Transcoding of AV data to stream, Adaptive streaming (HLS) etc.
Team Size : 4
Duration : 18 months
Languages Used : C, C++, gObject programming
Role : Developer
Protocols/Framework : HTTP live Streaming protocol, UpNp Protocol Stack/Gstreamer
• Transcoding feature on media server
Transcoding is the direct digital-to-digital conversion of one encoding to another format. Main use
of transcoding in media server is in streaming of AV data to media client.
o Developed Gstreamer plugin for handling encoded media data
o Constructed Gstreamer pipeline for media data flow.
Page 2
3. Resume – Prashant Desai
o Involved in implementation of Gstreamer manager to manage the data and events flow
between DLNA stack and Gstreamer pipeline.
• Adaptive Streaming(HTTP Live Streaming) protocol on Media server
Media server streams the different quality A/V service with the help of transcoding to media client
based on the available bandwidth. Adaptive streaming uses general HTTP for streaming A/V
data.
o Management of transcoded data flow of different resolutions between driver and TS file
handler.
o Implemented handler to periodically update the M3U8 file.
o Implemented HTTP streaming of small chunks of TS transcoded data to media client with
the use of UpNp Protocol Stack.
• Event Scheduler Feature Implementation on Media Server
• Integrated pace middleware on media client successfully.
• Successfully demonstrated PoC in international broadcast conference forum (IBC)
• Fixed bugs for the stable code base.
Project: DVB-IP Solution for Hybrid Set top Box (Proof of Concept)
The Project deals with the use of DVB content over IP network. The DVB-IP Solution is best suited for
multi-room content delivery solutions. DVB-IP uses Pace Multi-dweller unit which takes satellite input
converts to IP stream. The hybrid Set top box receives the IP streams over Ethernet interface which
decodes and renders to the user.
Team Size : 2
Project Duration : 5 months
Protocols/Standard : IGMP/DVB, MPEG2
O.S/Languages used : Linux/C, C++
• Involved in Design of DVB-IP Solution
• Implementated new DVB-IP player in the DVB middleware.
• Developed the EPG event handler to notify all the EPG events to user interface
• Configured DVB-IP Test Setup and developed the test cases.
• Successfully demonstrated Proof of concept to multiple customers.
• Fixed AV synchronization issues, memory crashes memory leaks.
Project: VOD for IP STB
An IP Set top box is network element which receives the A/V (MPEG2/H264) data as part of IP payload,
decodes and renders the data to the user. Unlike traditional set top box, it provides users a two way
communication with the head end. IP Set top box uses IPTV protocol stack for connecting IP based
headend.IPTV protocol stack consists of collection of protocols like IGMP, RTP, RTCP and RTSP for
receiving and controlling on IP media content.
Team Size : 2
Project Duration : 10 months
Role : Developer
Protocols : IGMP, RTP, RTCP, RTSP
O.S/Languages used : Linux/C
• Development of IGMP client Protocol
In IP STB, IGMP is used to join/leave the multicast group, to which each program stream is
mapped with.
o Implemented IGMP message handler for IGMP Query and Request messages
o Implemented IGMP reports handler for group specific or public queries.
Page 3
4. Resume – Prashant Desai
• Development of RTP protocol for media data
The RTP protocol provides facilities for jitter compensation and detection of out of sequence
arrival in data, which are common during transmissions of real time data on an IP network.
o Implementation of RTP message handler and Adaptive jitter buffer for network jitter
compensation.
o Developed RTP packet reordering mechanism based on the RTP sequence numbers.
• Development of RTSP protocol.
Clients of media server’s issue VCR-style RTSP commands, such as play and pause, to facilitate
real-time control of playback of media files from the server.
o Implementation of RTSP methods.
o Worked on Setting up media connection and Media data controller to control (live/pause)
the media data from server.
• Configured VOD Test Setup and guided testing team to test use cases
• Fixed bugs related to memory crashes, memory leaks,RTP packet processing etc
Project: L2TP Client for Home Gateway
Home Gateway provides a private network through which users can share the data internally. However if
remote user in the internet tries to connect to private network, L2TP protocol provides standard way of
establishing connection. An L2TP connection comprises of two components: a tunnel and a session. The
tunnel provides a reliable transport between two L2TP Control Connection Endpoints (LCCEs) and carries
only control packets. The session is logically contained within the tunnel and carries user (PPP) data.
Team Size : 2
Project Duration : 8 months
Role : Developer
Protocols : L2TP, PPP, LCP, NCP
O.S/Languages used : Linux/C
L2TP Client Protocol development includes
• Establishment of L2TP Control Connection:
In this phase LAC sets up the tunnel with the LNS by performing negotiations. Once tunnel is
setup all the L2TP session is passed through the tunnel.
o Involved in Implementation of State machine for LAC Control connection.
o Implemented L2TP message (Address value pairs) handler.
o Implemented Event handler for interacting with the application.
• L2TP Session Establishment:
Once the L2TP tunnel is setup, LAC sets up L2TP session with LNS. Now L2TP session carries
IP data between LAC and LNS.
o Implemented Inbound and outbound call message handler
o Involved in implementation of state machine for L2TP session.
o Developed Interface with L2TP kernel module for handling session data.
Xalted Networks Pvt LTD –Projects Nov 2006 to May 2009
Project: VoIP for ONT (FTTP/GPON)
The Project mainly focuses on providing voip service to ONT.The test setup includes proxy server, that
handles registration and routing of SIP messages and Configuration server which is used to configure
ONT for required class of features.ONT acts as voice gateway and as well as SIP user agent, has a POT
ports connected to analog PSTN phones and provides SIP trunks to communicate with IP world.
Team Size : 8
Page 4
5. Resume – Prashant Desai
Project Duration : 18 months
Protocols : VoIP Protocol Stack (SIP, SDP, RTP, RTCP)
O.S/Languages used : Linux/C
Debug Tools/Transaction Languages : Wireshark/CLI
• Involved in Implementation of proprietary SIP protocol Stack for ONT
SIP protocol stack composed of layers like transport, transaction, dialog, message parser, SIP
core, Timer refresh module etc.
o Designed transaction layer State machine of SIP protocol as per Rfc 3261.
o Accountable for Implementation of Transaction layer of SIP protocol stack.
o Implemented message handler to Interact with different layers of SIP stack
o Fixed development issues and defined SIP test cases.
o Configured VOIP setup and guided the testing team to test defined test cases.
• Involved in SIP Timer refresh module implementation
SIP Refresh timer module consists of timers needed for different SIP transactions.
o Implemented different SIP timers T1, T2, B, F and timer callback handlers.
o Implemented timer event handler for notifying events to registered layers.
• Developed VOIP Call features like “Call Waiting, Call Hold, 3-Way calling" with the use of third
party SIP protocol stack
• Configured VOIP test setup to develop the above use cases.
• Fixed SIP signalling issues, no audio call issues, client errors etc.
Project: Point to Point Protocol over Ethernet Implementation
PPPoE is a Network protocol which encapsulates PPP Payload inside the Ethernet frames. PPPoE is
dialing protocol for connecting two points viz client and server. This protocol is mainly used in DSL
domains and implemented for windows-2000 PC, which dials to ISP provider through ADSL interface.
Team Size : 7
Project Duration : 7 months
Protocols : PPPoE, LCP, NCP
O.S/Languages used : Windows/C
Debug Tools/Windows drivers : WinDbg/NDIS miniport and Protocol drivers
Design and Development of PPPoE client Protocol for windows
PPPoE client protocol consists of two phases namely discovery phase and session phases.In
discovery phase PPPoE client locates the server. Where in session phase, Client does LCP (Link
layer Control Protocol) and NCP (Network Control Protocol) negotiations and acquires IP
address.
• Implemented both discovery and session phases of PPPoE protocol for windows.
• Involved in configuration and customization of NDIS miniport and Protocol drivers.
• Handled LCP negotiations management for establishing PPP link.
• Configured TAPI driver to initiate PAP and other challenge protocols for Authentication.
• Fixed developmental and field issues using windows debug tools.
• Fixed windows Crash, memory leak issues.
Project: STM16 Add Drop Multiplexer
4X transmission equipment is used for the aggregation of PDH (E1/T1, E3/T3) and Data traffic and is a
scalable system designed to be used in STM1 (OC3), STM4 (OC12), STM16 (OC48) configurations. It
also supports both SONET/SDH configurations. It can be used as a Regenerator or Terminal Multiplexer
or Add Drop Multiplexer (ADM).
Team Size : 7
Project Duration : 12 months
Page 5
6. Resume – Prashant Desai
Role : Developer
Protocols : SONET/SDH
O.S/Languages used : VxWorks/C, C++, Data Structures
• Technical Thesis on different trees e.g. B Tree and AVL trees for designing embedded Database
• Involved in the Development of Embedded Database Subsystem.
• Created An abstraction layer which helps to include the new table in the database
• Carried out Performance test between different run time databases.
• Improved the embedded database performance by implementing hash tables with AVL trees.
• Developed database sync module between two System controller cards.
Page 6
7. Resume – Prashant Desai
Role : Developer
Protocols : SONET/SDH
O.S/Languages used : VxWorks/C, C++, Data Structures
• Technical Thesis on different trees e.g. B Tree and AVL trees for designing embedded Database
• Involved in the Development of Embedded Database Subsystem.
• Created An abstraction layer which helps to include the new table in the database
• Carried out Performance test between different run time databases.
• Improved the embedded database performance by implementing hash tables with AVL trees.
• Developed database sync module between two System controller cards.
Page 6