18 | | This is a library which integrates PJSIP, PJMEDIA, and PJNATH libraries into very high level and easy to use API. Due to its nature, it is tightly coupled with all of the libraries. |
19 | | |
20 | | '''SIP Libraries''': |
21 | | This includes PJSIP core library (pjsip-core), SIP user agent library (pjsip-ua), and SIP presence and instant messaging library (pjsip-simple). The SIP user agent library (pjsip-ua) uses the SDP components of PJMEDIA for negotiating offer/answer. |
| 18 | This is a library which integrates [http://www.pjsip.org/pjsip/docs/html/index.htm PJSIP], [http://www.pjsip.org/pjmedia/docs/html/index.htm PJMEDIA], and [http://www.pjsip.org/pjnath/docs/html/index.htm PJNATH] libraries into very high level and easy to use API. Due to its nature, it is tightly coupled with all of the libraries so it is considered unfeasible to detach either of the library component from PJSUA-LIB. |
| 19 | |
| 20 | '''PJSIP Libraries''': |
| 21 | What we normally address as PJSIP itself is a collection of several SIP libraries. |
| 22 | - PJSIP base library (pjsip-core.lib, which includes the [http://www.pjsip.org/pjsip/docs/html/group__PJSIP__CORE.htm pjsip core], the [http://www.pjsip.org/pjsip/docs/html/group__PJSIP__TRANSACT.htm transaction layer], and [http://www.pjsip.org/pjsip/docs/html/group__PJSIP__UA.htm dialog management]), |
| 23 | - SIP user agent library ([http://www.pjsip.org/pjsip/docs/html/group__PJSIP__HIGH__UA.htm pjsip-ua], which includes invite session management, client registration, call features, etc.), and |
| 24 | - SIP presence and instant messaging library ([http://www.pjsip.org/pjsip/docs/html/group__PJSIP__SIMPLE.htm pjsip-simple]). |
| 25 | |
| 26 | The SIP user agent library (pjsip-ua) uses the SDP components of PJMEDIA for negotiating offer/answer. |
24 | | The media stack is PJMEDIA and PJMEDIA-CODEC. Depending on the library packaging, it may contain '''SDP components''' (message representation, parsing, and SDP offer answer negotiation). |
25 | | |
26 | | Although the SDP components (message representation, parsing, and SDP offer answer negotiation) may be packaged with PJMEDIA, actually it is independent from PJMEDIA and it can be (and has been) used independently from PJMEDIA. This is because although media can be optional for some application (for example, a server), SDP and SDP negotiation are needed by the invite session, so it should be able to use these parts without having to use PJMEDIA. |
27 | | |
28 | | ''Note: in Symbian build system, these SDP parts are packaged on separate static library (as '''PJSDP''' library) and removed from PJMEDIA. On GNU build system, both PJMEDIA and PJSDP libraries are built, although only PJMEDIA is linked with the application since unlike the Symbian build system, the PJMEDIA library here also contains PJSDP parts.'' |
| 29 | The media stack includes [http://www.pjsip.org/pjmedia/docs/html/index.htm PJMEDIA and PJMEDIA-CODEC]. Depending on the library packaging, it may contain '''SDP components''' (message representation, parsing, and SDP offer answer negotiation). |
| 30 | |
| 31 | Although the SDP components ([http://www.pjsip.org/pjmedia/docs/html/group__PJMEDIA__SDP.htm message representation, parsing], and SDP [http://www.pjsip.org/pjmedia/docs/html/group__PJMEDIA__SDP__NEG.htm offer answer negotiation]) may be packaged with PJMEDIA, actually it is independent from PJMEDIA and it can be (and has been) used independently from PJMEDIA. This is because although media can be optional for some application (for example, a server), SDP and SDP negotiation are needed by the invite session, so it should be able to use these parts without having to use PJMEDIA. |
| 32 | |
| 33 | ''Note: in Symbian build system, these SDP parts are packaged on separate static library (as '''PJSDP''' library) and removed from PJMEDIA. On GNU build system, both PJMEDIA and PJSDP libraries are built, but the SDP parts are included in PJMEDIA as well, so only PJMEDIA is needed to be linked with the application (since the PJMEDIA library here also contains PJSDP parts).'' |