- Timestamp:
- Feb 27, 2014 11:48:34 AM (11 years ago)
- Location:
- pjproject/trunk/doc/pjsip-book
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/doc/pjsip-book/Makefile
r4762 r4772 45 45 -rm -rf xml 46 46 -rm -rf html 47 48 install: 49 @if test -z "$(WWWDIR)" ; then \ 50 echo WWWDIR is not set; \ 51 else \ 52 echo Copying html dir to $(WWWDIR)/docs/book-latest/..; \ 53 cp -a -f _build/html $(WWWDIR)/docs/book-latest/; \ 54 echo Copying PJSUA2Doc.pdf to $(WWWDIR)/docs/book-latest/..; \ 55 cp -f _build/latex/PJSUA2Doc.pdf $(WWWDIR)/docs/book-latest/; \ 56 fi 47 57 48 58 xml: Doxyfile ../../pjsip/include/pjsua2 -
pjproject/trunk/doc/pjsip-book/consider.rst
r4763 r4772 1 2 1 3 2 Development Guidelines and Considerations … … 16 15 Development 17 16 ------------- 17 * **Essential:** Follow the `Getting Started <http://trac.pjsip.org/repos/wiki/Getting-Started>`_ instructions to build PJSIP for your platform. 18 18 * **Essential:** Interactive debugging capability is essential during development 19 * Start with default settings in `<pj/config_site_sample.h>`. 19 * Start with default settings in `<pj/config_site_sample.h>`. The default settings should be good to get you started. You can always optimize later after things are running okay. 20 20 21 21 Coding Style … … 73 73 All features except video are expected to work (video is coming soon!). Considerations for Android: 74 74 75 #. You can only use pjsua2 Java binding for this target.75 #. You can only use PJSUA2 Java binding for this target. 76 76 #. It has been reported that Android audio device is not so good in general, so some audio tuning may be needed. Echo cancellation also needs to be checked. 77 77 #. This is also a new platform for us. … … 104 104 Windows Phone 8 105 105 --------------- 106 Windows Phone 8 (WP8) support is being added to PJSIP version 2.2 and is still under development. Specific considerations for this platform are:106 Windows Phone 8 (WP8) support is being added and is still under development on `projects/winphone` branch. Specific considerations for this platform are: 107 107 108 108 #. WP8 governs specific interaction with WP8 GUI and framework that needs to be followed by application in order to make VoIP call work seamlessly on the device. Some lightweight process will be created by WP8 framework in order for background call to work and PJSIP needs to put its background processing in this process' context. Currently this feature is under development. … … 156 156 157 157 158 pjsua2 C++ API158 PJSUA2 C++ API 159 159 -------------- 160 160 pjsua2 is a new, objected oriented, C++ API created on top of PJSUA-LIB. The API is different than PJSUA-LIB, but it should be even easier to use and it should have better documentation too (such as this book). The pjsua2 API removes most cruxes typically associated with PJSIP, such as the pool and pj_str_t, and add new features such as object persistence so you can save your configs to a file, for example. All data structures are rewritten for more clarity. … … 170 170 171 171 172 Some considerations on pjsua2 C++ API are: 172 Some considerations on PJSUA2 C++ API are: 173 173 174 #. Instead of returning error, the API uses exception for error reporting 174 #. pjsua2 uses standard C++ library175 #. It uses standard C++ library (STL) 175 176 #. The performance penalty due to the API abstraction should be negligible on typical modern device 176 177 177 178 178 179 179 pjsua2 API for Java, Python, and Others180 PJSUA2 API for Java, Python, and Others 180 181 --------------------------------------- 181 The pjsua2 API is also available for non-native code via SWIG binding. Configurations for Java and Python are provided with the distribution. Thanks to SWIG, other language bindings may be generated relatively easily.182 The PJSUA2 API is also available for non-native code via SWIG binding. Configurations for Java and Python are provided with the distribution. Thanks to SWIG, other language bindings may be generated relatively easily. 182 183 183 184 The pjsua2 API for non-native code is effectively the same as pjsua2 C++ API. However, unlike C++, you cannot access PJSUA-LIB and the underlying C libraries from the scripting language, hence you are limited to what pjsua2 provides. … … 193 194 NAT Issues 194 195 ---------- 195 196 TBD. 196 197 197 198 TCP Requirement … … 205 206 Latency 206 207 ------- 207 208 TBD. 208 209 209 210 Echo Cancellation 210 211 ----------------- 211 212 213 214 212 TBD. 213 214 215 -
pjproject/trunk/doc/pjsip-book/intro.rst
r4763 r4772 4 4 This documentation is intended for developers looking to develop Session Initiation Protocol (SIP) based client application. Some knowledge on SIP is definitely required, and of course some programming experience. Prior knowledge of PJSUA C API is not needed, although it will probably help. 5 5 6 PJSIP libraries provide multi-level APIs to do SIP calls, presence, and instant messaging, as well as handling media and NAT traversal. Knowledge of SIP protocol details (such as the grammar, transaction, dialog, and whatnot) are not required (but it will help a lot!), however you should know how SIP works in general and particularly how to configure SIP clients to, e.g. register to a SIP provider, specify SIP URI to make call to, and so on, to use the module. 6 PJSIP libraries provide multi-level APIs to do SIP calls, presence, and instant messaging, as well as handling media and NAT traversal. PJSUA2 API is the highest API from PJSIP, on top of PJSUA-LIB API. PJSUA-LIB API itself is a library that unifies SIP, audio/video media, NAT traversal, and client media application best practices into a high level, integrated, and easy to use API. The next chapter will guide you on selecting which API level to use depending on your requirements. 7 8 This documentation can be `viewed online <http://www.pjsip.org/docs/book-latest/html/index.html>`_, or alternatively you can `download the PDF format <http://www.pjsip.org/docs/book-latest/PJSUA2Doc.pdf>`_ for offline viewing. 7 9 8 10 Getting Started with PJSIP 9 11 ============================== 10 Check `PJSIP 's Features List`_ to make sure that it has the features that you require.12 Check `PJSIP Datasheet <http://trac.pjsip.org/repos/wiki/PJSIP-Datasheet>`_ to make sure that it has the features that you require. 11 13 12 .. _`PJSIP's Features List`: http://trac.pjsip.org/repos/wiki/PJSIP-Datasheet 14 To start using PJSIP, the `Getting Started Guide <http://trac.pjsip.org/repos/wiki/Getting-Started>`_ contains instructions to acquire and build PJSIP on various platforms that we support. 13 15 14 To start using PJSIP, the `Getting Started Guide`_ contains instructions to acquire and build PJSIP on various platforms that we support.15 16 .. _`Getting Started Guide`: http://trac.pjsip.org/repos/wiki/Getting-Started17 16 18 17 PJSIP Info and Documentation … … 20 19 To get other relevant info and documentations about PJSIP, you can visit: 21 20 22 - `PJSIP General Wiki`_ 23 - `PJSIP FAQ`_ 24 - `PJSIP Reference Manual`_ - please see Reference Manual section 25 26 .. _`PJSIP General Wiki`: http://trac.pjsip.org/repos/wiki 27 .. _`PJSIP FAQ`: http://trac.pjsip.org/repos/wiki/FAQ 28 .. _`PJSIP Reference Manual`: http://trac.pjsip.org/repos/wiki 21 - `PJSIP General Wiki <http://trac.pjsip.org/repos/wiki>`_ is the home for all documentation 22 - `PJSIP FAQ <http://trac.pjsip.org/repos/wiki/FAQ>`_ 23 - `PJSIP Reference Manual <http://trac.pjsip.org/repos/wiki>`_ - please see Reference Manual section 29 24 30 25 -
pjproject/trunk/doc/pjsip-book/intro_pjsua2.rst
r4763 r4772 51 51 ---------- 52 52 For platforms that require polling, the PJSUA2 module provides its own worker thread to poll PJSIP, so it is not necessary to instantiate own your polling thread. Having said that the application should be prepared to have the callbacks called by different thread than the main thread. The PJSUA2 module itself is thread safe. 53 54 Often though, especially if you use PJSUA2 with high level languages such as Python, it is required to disable PJSUA2 internal worker threads by setting EpConfig.uaConfig.threadCnt to 0, because the high level environment doesn't like to be called by external thread (such as PJSIP's worker thread). 55 53 56 54 57 Problems with Garbage Collection … … 97 100 Building PJSUA2 98 101 ====================== 99 The PJSUA2 C++ library will be built by default by PJSIP build system. 102 The PJSUA2 C++ library will be built by default by PJSIP build system. Standard C++ library is required. 100 103 101 104 Building Python and Java SWIG Modules … … 106 109 ------------ 107 110 111 #. `SWIG <http://www.swig.org>`_ 108 112 #. ``JDK``. 109 113 #. ``Python``, version 2.7 or above is required.
Note: See TracChangeset
for help on using the changeset viewer.