
Bina Patel
Verified Expert in Engineering
Embedded Software Developer
Bina is an experienced embedded software developer who has worked on different phases of product development. She has strong coding experience in C and C++ for embedded systems and is also familiar with Java. Bina has worked on device drivers, different networking protocols, and RTOS-based and bare-metal embedded products.
Portfolio
Experience
Availability
Preferred Environment
C, Real-time Embedded Systems, C++, Firmware
The most amazing...
...thing I've developed is a remote VPN client for H.323-based VoIP phones. I implemented the VPN client using the IPsec suite.
Work Experience
Technical Manager | Embedded Software Engineer
Schneider Electric
- Helped build overall architecture for component-based software engineering, including overall guidelines for component design and exposed interfaces. Led all architecture, design documents, and code reviews for newly developed components.
- Developed different components for IoT gateways as part of the platform team. Contributed to different components, such as BLE, cyber security, user management, role-based access control, authentication, certificate management, and REST services.
- Acted as a technical manager for developing and product verification of various IoT gateways as part of the IoT gateway group. I was in charge of resource and budget management, project tracking, interacting with stakeholders, and process management.
Technical Lead
Avaya India
- Served as the technical lead in the VoIP endpoints group for the development and sustenance of various Avaya IP phones, such as 96x0 SIP, 96x0 H.323, and 1600 series.
- Managed project tracking, technical status reporting, initial evaluation of reported issues, interacting with the customer-facing team for analysis and providing quick turnarounds, design discussions and decisions, and code reviews.
- Made various enhancements for VoIP phones, such as SHA-2 support, dialing rules, and support of SSLv3.
Software Development Group Lead
Matrix Comsec
- Worked in the telecom division as a software group lead for the development of various telecom products, product-level architecture design, new technology development, proof of concepts of new ideas, project planning, and software processes.
- Acted as a technical lead and managed the development of iOS and Android-based SIP soft clients.
- Led a group of team leaders to improve quality and streamline the project processes. Implemented tools like Jira, Crucible, and Fisheye for software processes and defined the lifecycle of projects, review process, and Jira state cycles.
- Worked on the feasibility of porting legacy embedded-based EPABX software to run on OpenServer. The POC was successfully demonstrated: moving to UC server solutions was a major task.
- Led the team of technical leads to design UC server solutions which included competitor analysis for UC solutions, the feasibility of open stacks, server solutions, and proof of concepts.
- Worked on the POC to run existing hardware-based call server software on a generic Linux machine: separated the call management module from call switching and used Linux RPC to communicate between two systems.
- Led the team to develop a VOIP SIP application for Windows desktop and was mainly involved in overall architecture and design/code reviews.
Technical Lead | Architect
Wipro
- Developed a remote VPN client for H.323-based VoIP phones, DSP, and MIPS-based design and programming in C/C++ using VxWorks RTOS. Implemented the VPN client using the IPsec suite and enabled authentication via PSK and certificates.
- Built firmware for digital phones used on Avaya PBX. These digital phones were based on a 16-bit microcontroller design. Used embedded C, NC30 cross compiler, and PD30 emulator.
- Defined and wrote requirements and features specifications—system engineering for digital technology-based Avaya phones, from boot up to user interface requirements. This also included production and factory testing specifications.
- Developed prototypes for IP phones like a mute detector, TTY/TTD, waveform monitoring for audio quality, and Binary certificate support. Some of these are part of product official releases, and the mute detector is filed for patent.
- Worked on the POC for mute detector: worked on feasibility and implemented a proof of concept to detect voice activity when the microphone is muted. This was filed and accepted for a patent.
- Worked on a bootloader for Avaya Digital phones, which supports basic functionality to download main application upgrade and HMI to provide updates on application download. Also implemented the mechanism to update bootloader software.
- Worked in Tier4 team for some time to resolve customer escalations, working on different signaling, networking, audio, and user interface issues.
Embedded Software Lead
Matrix Telecom (now Matrix Comsec)
- Handled design and development of the SOHO application and digital EPABX system. It supported a total of 52 ports of ISDN BRI phones, analog trunks, and digital and analog key phones, and it supported more than 50 call management features.
- Contributed to the firmware development of ISDN BRI and PRI cards for the digital EPABX system. Designed and developed layer 1 (I.431), layer 2 (Q.921), and layer 3 (Q.931) modules and a complete firmware program for these cards.
- Implemented PLCC on digital EPABX to use EPABX in electricity boards using E&M lines between power stations. This was the company's first product launch in the electric field, which helped win the tender from the new business sector.
- Developed an app for debugging and monitoring ISDN messages to and from ISDN PRI and ISDN BRI cards. Designed a communication protocol on the RS-232 COM port between the firmware card and PC. Messages are sent to the monitoring application using XML.
- Developed an windows application to upgrade call server software using VC++, used PC com port to communicate with call server hardware which runs on intel 80386 board.
- Worked on call server software to add call management features (support of new interfaces, issues related to switching, customer escalations) based on Intel 80386 board and C++ programming.
Experience
VPN Client for VoIP Phones
This project required providing configuration for VPN client (both PSK and certificate-based authentications) and integration of VPN stack. The main challenge was to integrate the VPN client into existing phone software using TCP/IP stack and OpenSSL library and tunnel already existing networking applications like HTTP, H.323, and RTP through VPN.
I served as a technical lead for this project, making all technical decisions related to design and development, and was a prime for all the code reviews. I also integrated the VPN stack and implemented certificate management and certificate-based authentication modules.
Skills
Languages
C, Embedded C, Embedded C++, Pascal, Assembly, C++, Java, Objective-C, Python, HTML
Paradigms
Role-based Access Control (RBAC), Agile, Scrum, Waterfall Development, REST
Other
Real-time Embedded Systems, Firmware, Embedded Software, Bootloaders, Device Drivers, Human-machine Interface (HMI), Multithreading, IPC, User Roles, User Management, Software Architecture, Communications Electronics, Microcontrollers, Microcontroller Programming, Networking, Integrated Services Digital Network (ISDN), Telecom Equipment & Solutions, Real-time Operating System (RTOS), Embedded Systems, Session Initiation Protocol (SIP), H.323, TCP/IP, IPsec, Software Development Lifecycle (SDLC), RTP, HTTP, MISRA Compliance, IoT Security, Transport Layer Security (TLS), DSP, ARM, User Authentication, Scrum Master, V-Model, Microprocessors, SNMP, Native Mobile Apps, SIP, Project Budget Management, Resource Management, Resource Allocation, X.509 Certificates, Linux IPC, Windows Desktop Software, Embedded Java, ZigBee, Modbus Protocol, Constrained Application Protocol (CoAP), Libwww, System Requirements, Functional Requirements, GNSS, ESP32, ESP8266, FreeRTOS, Technical Documentation, UML Diagrams, Technical Leadership
Frameworks
JUnit, Google Test, Android SDK
Libraries/APIs
CppUnit, OpenSSL, Mbed TLS, Libcurl, PJSIP
Tools
VPN, Subversion (SVN), Jira, Coverity, IBM Rational ClearQuest, IBM Rational ClearCase, Git, OpenVPN, Keil, Visual Studio
Platforms
VxWorks, Embedded Linux, iOS, Linux, Bluetooth LE, FreeBSD, Intel
Storage
JSON, SQLite, MongoDB
Education
Bachelor of Engineering Degree in Electronics and Communications
Gujarat University - Nadiad, Gujarat, India