{{{ #!html

Welcome to PJSIP Wiki!

First thing first:

Getting Started with PJSIP
If you're new to PJSIP, this will guide you to get PJSIP up and running in all platforms that we support.

}}} == General Information == {{{ #!html
}}} * [wiki:FAQ PJSIP Frequently Asked Questions (FAQ)]. Please read this first for any questions. * [/repos/roadmap PJSIP Roadmap] shows the development plans. * [wiki:PJSIP-Datasheet PJSIP Datasheet] lists all the supported features. {{{ #!html
}}} == Tutorials == {{{ #!html
}}} General: * [wiki:Getting_Started_Using Getting Started Part II: Building Your Own Application using PJSIP]. This is the continuation of the [wiki:Getting-Started Getting Started] document, and is particularly useful for those who are stucked with Makefiles for their development. Symbian: * [wiki:DevelopingSymbianAppWithCarbide Developing, Building and Debugging PJSIP for Symbian S60 3rd Edition Device using Carbide C++]. This is a complete tutorial on how to setup Carbide, your device, and PJSIP for your development. Python: * [wiki:Python_SIP_Tutorial Python SIP Tutorial]. A thorough tutorial on how to use Python to develop your PJSIP application. This article is also useful as introduction to PJSIP features. Windows 95/98: * [wiki:Windows98_Support Building the Software for Windows 95/98 (win95/98)] explains things to tweak to make PJSIP works on Windows 95 and Windows 98. {{{ #!html
}}} == Features Configuration and Integration == {{{ #!html
}}} Common: * [wiki:QoS Support for QoS (TOS/DSCP, WMM, 802.1p)] explains how QoS is supported throughout the libraries. * [wiki:AutomatedTesting PJSIP Automated Testing] - PJSIP distribution has been equipped with automated testing scripts, and this article describes how to configure it. Media related: * '''New: ''' [wiki:Video_Users_Guide Video User's Guide] describes how to use the video feature with PJSIP. * '''New: ''' [wiki:Media_Transport_Adapter Media Transport Adapter] is the primary mean to integrate RTP/RTCP processing into the media flow, get full access to SDP, and be involved in SDP negotiation. * [wiki:Intel_IPP_Codecs Using IntelĀ® Integrated Performance Primitive (IPP) with PJMEDIA] explains how to setup the development in order to use IntelĀ® IPP libraries and reap various goodies from it such as AMR NB, AMR WB, G.722.1, G.723.1, G.726, G.728, and G.729 codecs. * [wiki:SRTP SRTP Support in PJSIP]. This article explains how to setup and configure Secure RTP (SRTP) support as well as a technical implementation notes. Could be useful for anyone looking to implement other media transport types as well. * [wiki:3rd_Party_Media Integrating Third Party Media Stack with PJSIP]. This article explains several strategies that can be used if one wants to integrate third party media codecs with PJSIP. * [wiki:Audio_Dev_API Audio Device API]. New audio device abstraction API introduced in version 1.1. NAT traversal/PJNATH: * [wiki:Using_Standalone_ICE Using Standalone PJNATH's ICE in (non-SIP) Applications]. This article describes how to use the ICE stream transport of PJNATH directly without PJSIP/PJMEDIA in (probably non-SIP/SDP) applications. * [wiki:PJNATH_Memory_Usage PJNATH RAM Usage Analysis and Optimization] Symbian: * [wiki:APS Using Audio Proxy Server (APS) in PJSIP] describes how to setup PJSIP to use APS. * [wiki:VAS Using VoIP Audio Services (VAS) in PJSIP] describes how to setup PJSIP to use VAS. * [wiki:Nokia_APS_VAS_Direct Using APS-Direct and VAS-Direct in PJMEDIA] describes how to setup the application to use the handset/hardware codecs such as G.729 and AMR-NB provided by Nokia S60 Audio Proxy Server/APS and VoIP Audio Services/VAS API. SIP related: * [wiki:TLS Configuring PJSIP with TLS] describes how to setup and configure PJSIP to use Transport Layer Security (TLS) transport. * [wiki:SIP_Redirection Handling SIP Redirection] describes how to make UAC invite session/call follow SIP redirect (3xx) responses. Other: * [wiki:IPv6 Detailed explanation of IPv6 changes] explains technical details on what have been changed to support IPv6 throughout the libraries. * [wiki:new_changes Major Changes since Version 0.5] {{{ #!html
}}} {{{ #!html
}}} == Troubleshooting == {{{ #!html
}}} Media related: * [wiki:sound-problems Sound Problems]. This is a good place to start for troubleshooting everything related to audio/media problems. * [wiki:Testing_Audio_Device_with_pjsystest Testing and Optimizing Your Audio Device with pjsystest]. ICE related: * [wiki:IceNegotiationFailure ICE Negotiation Failure]. A short article explaining how to read the log file to find out information related to ICE negotiation results, and potential reasons of the failure. Other: * [wiki:crash-problem Crash Problem on Win32] S60 Supported phones: * [wiki:S60-Phones-Supported Supported and Unsupported Symbian 9.x, S60 Nokia phones] {{{ #!html
}}} == Technical Articles == {{{ #!html
}}} General: * [wiki:IPAddressChange Handling of IP address change and/or access point disconnection and reconnection in mobile applications]. This article describes some issues and their corresponding solutions related to access point disconnection, reconnection, and change in your PJSIP applications. The general issues related to the discussion will be explained, along with some specific issues to Symbian applications. Media related: * [wiki:Tone_Generator Analyzing the PJMEDIA Tone Generator Algorithms Performance]. This article explains the speed and frequency accuracy characteristics of the various tone generator back-end algorithms that are supported by PJMEDIA. * [wiki:PJMEDIA-MIPS PJMEDIA Performance Measurement]. This article is a '''must read''' for anyone looking to use PJMEDIA in performance constrained platforms (such as embedded or mobile devices), as it lists the performance requirements for each and all features in PJMEDIA. One can then tailor the features to meet both the functional and technical requirements of the development. * [wiki:MeasuringSoundLatency Measuring Sound Latency] explains some tips to measure audio/sound latencies. * [wiki:media-flow Media Flow Explained]. This short article explains how the media flows between various PJMEDIA components. PJNATH: * [wiki:PJNATH_Memory_Usage PJNATH RAM Usage Analysis and Optimization] * [wiki:get-around-nat-blocked-traffic-filtering Getting Around Blocked, Filtered, or Mangled VoIP Network] Other: * [wiki:PJSUA_Locks Standard Mutex Lock Ordering with PJSUA-LIB to Avoid Deadlock]. This article is a '''must read''' for anyone working with PJSUA-API. {{{ #!html
}}} == Misc == {{{ #!html
}}} * [wiki:PJSIP-1.x-documentation PJSIP 1.x documentation list] * [wiki:Using_Eclipse_with_PJSIP] * ContributionAgreement * GoogleSummerofCode * [wiki:SIP-Media-NAT-Traversal-Features PJSIP features including list of supported RFCs] (old doc) {{{ #!html
}}} {{{ #!html
}}}