150 likes | 282 Views
This guide provides an in-depth look at the development of Voice over Internet Protocol (VoIP) on Linux systems. It covers the fundamentals of VoIP, the tools and standards involved (such as H.323 and SIP), and key development issues to consider. Discussing everything from call signaling to media negotiation, this resource is equipped to help developers navigate through technical challenges, ensuring compatibility and performance in their VoIP solutions. Ideal for developers seeking to implement effective VoIP systems on an open-source platform.
E N D
Developing VoIP on Linux Samyeer Metrani Encore Software Limited
Agenda • Introduction to VoIP • Tools • Stack Organisation • Development Issues • Questions
Introduction to VoIP • Can we use the internet for voice? • Will it reduce the cost of communication? • Can I get a better than telephone experience?
VoIP Issues • Call Signalling • Media Negotiation • Media Traffic • Interoperability
VoIP Standards • Peer Protocols • H.323/SIP • Master Slave Protocols • MGCP/MEGACO • Media Negotiation - SDP • Media Traffic – RTP
Development Objectives • Embeddable Code • OS Independence • Portability • Testable.
Tools • Kdevelop • CVS • Gcc & gcov • doxygen • Lex and Yacc
Tools – contd • Bugzilla • Ethereal • Python • Others…
VoIP Stack Organisation • VoIP Stack • RTP Stack • Support Libraries • Socket Manager • Media Manager • Handset Manager
Development Issues • Blocking vs Non-blocking • State Machines and Free States • Product organisation • Development Mode vs Product Mode
Development Issues • Static Allocation • A source for Random Numbers • Operating System Threads • There are approx 60 – 10ms slots in a second • Audio Drivers
Advantage Linux • Low cost per development seat • The ability to try “anything” • Platform Acceptance