I wish I could write more samples, but for now here are some samples or working applications that are available from the source tree:
- Samples: Stateless SIP Endpoint
This is about the simplest SIP application with PJSIP, all it does is respond all incoming requests with 501 (Not Implemented) response statelessly.
- Samples: Simple UA
This is a very simple SIP User Agent application that only use PJSIP (without PJSIP-UA). It's able to make and receive call, and play media to the sound device.
- Samples: Simple PJSUA
Very simple SIP User Agent with registration, call, and media, using PJSUA-API, all in under 200 lines of code.
This is the reference implementation for PJSIP and PJMEDIA. PJSUA is a console based application, designed to be simple enough to be readble, but powerful enough to demonstrate all features available in PJSIP and PJMEDIA.
Screenshot on WinXP:
pjsua on WinXP
- Samples: Using SIP and Custom RTP/RTCP to Monitor Quality
This is a useful program (integrated with PJSIP) to actively measure the network quality/impairment parameters by making one or more SIP calls (or receiving one or more SIP calls) and display the network impairment of each stream direction at the end of the call. The program is able to measure network quality parameters such as jitter, packet lost/reorder/duplicate, round trip time, etc.
Note that the remote peer MUST support RTCP so that network quality of each direction can be calculated. Using siprtp for both endpoints is recommended.
Screenshots on WinXP:
siprtp screenshot on WinXP
- Samples: SIP Performance Benchmark
This sample contains a complete implementation of a SIP performance measurement tool. Unlike other tool such SIPp, pjsip-perf is geared more towards finding the performance of an endpoint by flooding the endpoint with some requests and time the completion of the requests.
Screenshots on Linux console:
pjsip-perf screenshot on Linux