Google Summer of Code 2008
Introduction to PJSIP
PJSIP provides open source multimedia communication stack based on standard based protocols such as SIP, SDP, RTP, and ICE. PJSIP enables the creation of peer to peer multimedia communication endpoint on many types of platorms (desktops, embedded, and mobile devices).
Project Ideas
Open Source SIP User Agent Client on Mobile Devices
PJSIP is capable of running on wide range of mobile devices, such as:
- Symbian mobile phones,
- Windows Mobile PDAs and smartphones,
- Linux tablets,
- Apple iPods,
- Apple iPhones, and
- Nintendo DS.
as well as the usual desktop systems.
With ICE support in PJSIP, it is possible to create peer to peer multimedia communication client to get around various types of Network Address Translation (NAT) devices, thus it's very interesting to have a standard based SIP client on these mobile devices.
Open Source TURN server
Currently there is no open source TURN server available. With TURN being an important part of ICE, and TURN standard is getting matured, it will be beneficial for the VoIP community to have an open source TURN server implementation. PJNATH provides the framework and support for STUNbis and TURN protocol, which can be used as the base library for the TURN server implementation. To make the server more useful, it will be better to provide integration with existing SIP proxy server deployment such as SER or OpenSER (for example, by sharing the credential database between SIP server and TURN server).
Other Ideas
- Python softphone
- Video support (PC/desktop, mobile/PDA, or both)
- SOCKS support
- MSRP support (Message session relay protocol)
- SIP file transfer
- Bindings for other languages (Ruby, C#, PHP, Perl, and so on)