| 1 | {{{ |
| 2 | #!rst |
| 3 | Development Guidelines |
| 4 | ********************** |
| 5 | |
| 6 | Preparation |
| 7 | =========== |
| 8 | * Familiarise yourself with SIP. You don't need to be an expert, but SIP knowledge is essential. |
| 9 | * Check out our features in `Datasheet <http://trac.pjsip.org/repos/wiki/PJSIP-Datasheet>`_. Other features may be provided by our `community <http://trac.pjsip.org/repos/wiki/Projects_Using_PJSIP>`_. |
| 10 | * All PJSIP documentation is indexed in our `Trac site <http://trac.pjsip.org/repos>`_. |
| 11 | |
| 12 | |
| 13 | Development |
| 14 | ================= |
| 15 | * Interactive debugging capability is essential during development |
| 16 | * Start with default settings in `<pj/config_site_sample.h>`. |
| 17 | |
| 18 | Coding Style |
| 19 | ============ |
| 20 | First and foremost: set your editor to use **8 characters** tab size in order to see PJSIP source correctly. |
| 21 | |
| 22 | These below are PJSIP coding style. You don't need to follow it unless you are submitting patches to PJSIP: |
| 23 | |
| 24 | * indentation uses tabs and spaces. Tab size is 8 characters, indentation 4. |
| 25 | * all public API in header file must be documented in Doxygen format. |
| 26 | * other than that, we mostly just use `K & R style<http://en.wikipedia.org/wiki/1_true_brace_style#K.26R_style>`_, which is the only correct style anyway. |
| 27 | |
| 28 | |
| 29 | Deployment |
| 30 | ========== |
| 31 | * Logging is essential when troubleshooting any problems. The application MUST be equipped with logging capability. Enable PJSIP log at level 5. |
| 32 | |
| 33 | }}} |