Implement ticket #336: custom presence status in NOTIFY/PUBLISH, supporting subset of RPID elements

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@1424 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/build.symbian/pjsip_simpleU.def b/build.symbian/pjsip_simpleU.def
index c3548cf..7e41793 100644
--- a/build.symbian/pjsip_simpleU.def
+++ b/build.symbian/pjsip_simpleU.def
@@ -28,66 +28,69 @@
 	pjpidf_tuple_set_id                      @ 27 NONAME
 	pjpidf_tuple_set_timestamp               @ 28 NONAME
 	pjpidf_tuple_set_timestamp_np            @ 29 NONAME
-	pjsip_allow_events_hdr_create            @ 30 NONAME
-	pjsip_event_hdr_create                   @ 31 NONAME
-	pjsip_evsub_accept                       @ 32 NONAME
-	pjsip_evsub_create_uac                   @ 33 NONAME
-	pjsip_evsub_create_uas                   @ 34 NONAME
-	pjsip_evsub_current_notify               @ 35 NONAME
-	pjsip_evsub_get_allow_events_hdr         @ 36 NONAME
-	pjsip_evsub_get_mod_data                 @ 37 NONAME
-	pjsip_evsub_get_state                    @ 38 NONAME
-	pjsip_evsub_get_state_name               @ 39 NONAME
-	pjsip_evsub_init_module                  @ 40 NONAME
-	pjsip_evsub_init_parser                  @ 41 NONAME
-	pjsip_evsub_initiate                     @ 42 NONAME
-	pjsip_evsub_instance                     @ 43 NONAME
-	pjsip_evsub_notify                       @ 44 NONAME
-	pjsip_evsub_register_pkg                 @ 45 NONAME
-	pjsip_evsub_send_request                 @ 46 NONAME
-	pjsip_evsub_set_mod_data                 @ 47 NONAME
-	pjsip_evsub_terminate                    @ 48 NONAME
-	pjsip_get_notify_method                  @ 49 NONAME
-	pjsip_get_subscribe_method               @ 50 NONAME
-	pjsip_iscomposing_create_body            @ 51 NONAME
-	pjsip_iscomposing_create_xml             @ 52 NONAME
-	pjsip_iscomposing_parse                  @ 53 NONAME
-	pjsip_notify_method                      @ 54 NONAME
-	pjsip_pres_accept                        @ 55 NONAME
-	pjsip_pres_create_pidf                   @ 56 NONAME
-	pjsip_pres_create_uac                    @ 57 NONAME
-	pjsip_pres_create_uas                    @ 58 NONAME
-	pjsip_pres_create_xpidf                  @ 59 NONAME
-	pjsip_pres_current_notify                @ 60 NONAME
-	pjsip_pres_get_status                    @ 61 NONAME
-	pjsip_pres_init_module                   @ 62 NONAME
-	pjsip_pres_initiate                      @ 63 NONAME
-	pjsip_pres_instance                      @ 64 NONAME
-	pjsip_pres_notify                        @ 65 NONAME
-	pjsip_pres_parse_pidf                    @ 66 NONAME
-	pjsip_pres_parse_xpidf                   @ 67 NONAME
-	pjsip_pres_send_request                  @ 68 NONAME
-	pjsip_pres_set_status                    @ 69 NONAME
-	pjsip_pres_terminate                     @ 70 NONAME
-	pjsip_publishc_create                    @ 71 NONAME
-	pjsip_publishc_destroy                   @ 72 NONAME
-	pjsip_publishc_get_pool                  @ 73 NONAME
-	pjsip_publishc_init                      @ 74 NONAME
-	pjsip_publishc_init_module               @ 75 NONAME
-	pjsip_publishc_publish                   @ 76 NONAME
-	pjsip_publishc_send                      @ 77 NONAME
-	pjsip_publishc_set_credentials           @ 78 NONAME
-	pjsip_publishc_set_route_set             @ 79 NONAME
-	pjsip_publishc_unpublish                 @ 80 NONAME
-	pjsip_publishc_update_expires            @ 81 NONAME
-	pjsip_sub_state_hdr_create               @ 82 NONAME
-	pjsip_subscribe_method                   @ 83 NONAME
-	pjsip_tsx_get_evsub                      @ 84 NONAME
-	pjsipsimple_strerror                     @ 85 NONAME
-	pjxpidf_create                           @ 86 NONAME
-	pjxpidf_get_status                       @ 87 NONAME
-	pjxpidf_get_uri                          @ 88 NONAME
-	pjxpidf_parse                            @ 89 NONAME
-	pjxpidf_print                            @ 90 NONAME
-	pjxpidf_set_status                       @ 91 NONAME
-	pjxpidf_set_uri                          @ 92 NONAME
+	pjrpid_add_element                       @ 30 NONAME
+	pjrpid_element_dup                       @ 31 NONAME
+	pjrpid_get_element                       @ 32 NONAME
+	pjsip_allow_events_hdr_create            @ 33 NONAME
+	pjsip_event_hdr_create                   @ 34 NONAME
+	pjsip_evsub_accept                       @ 35 NONAME
+	pjsip_evsub_create_uac                   @ 36 NONAME
+	pjsip_evsub_create_uas                   @ 37 NONAME
+	pjsip_evsub_current_notify               @ 38 NONAME
+	pjsip_evsub_get_allow_events_hdr         @ 39 NONAME
+	pjsip_evsub_get_mod_data                 @ 40 NONAME
+	pjsip_evsub_get_state                    @ 41 NONAME
+	pjsip_evsub_get_state_name               @ 42 NONAME
+	pjsip_evsub_init_module                  @ 43 NONAME
+	pjsip_evsub_init_parser                  @ 44 NONAME
+	pjsip_evsub_initiate                     @ 45 NONAME
+	pjsip_evsub_instance                     @ 46 NONAME
+	pjsip_evsub_notify                       @ 47 NONAME
+	pjsip_evsub_register_pkg                 @ 48 NONAME
+	pjsip_evsub_send_request                 @ 49 NONAME
+	pjsip_evsub_set_mod_data                 @ 50 NONAME
+	pjsip_evsub_terminate                    @ 51 NONAME
+	pjsip_get_notify_method                  @ 52 NONAME
+	pjsip_get_subscribe_method               @ 53 NONAME
+	pjsip_iscomposing_create_body            @ 54 NONAME
+	pjsip_iscomposing_create_xml             @ 55 NONAME
+	pjsip_iscomposing_parse                  @ 56 NONAME
+	pjsip_notify_method                      @ 57 NONAME
+	pjsip_pres_accept                        @ 58 NONAME
+	pjsip_pres_create_pidf                   @ 59 NONAME
+	pjsip_pres_create_uac                    @ 60 NONAME
+	pjsip_pres_create_uas                    @ 61 NONAME
+	pjsip_pres_create_xpidf                  @ 62 NONAME
+	pjsip_pres_current_notify                @ 63 NONAME
+	pjsip_pres_get_status                    @ 64 NONAME
+	pjsip_pres_init_module                   @ 65 NONAME
+	pjsip_pres_initiate                      @ 66 NONAME
+	pjsip_pres_instance                      @ 67 NONAME
+	pjsip_pres_notify                        @ 68 NONAME
+	pjsip_pres_parse_pidf                    @ 69 NONAME
+	pjsip_pres_parse_xpidf                   @ 70 NONAME
+	pjsip_pres_send_request                  @ 71 NONAME
+	pjsip_pres_set_status                    @ 72 NONAME
+	pjsip_pres_terminate                     @ 73 NONAME
+	pjsip_publishc_create                    @ 74 NONAME
+	pjsip_publishc_destroy                   @ 75 NONAME
+	pjsip_publishc_get_pool                  @ 76 NONAME
+	pjsip_publishc_init                      @ 77 NONAME
+	pjsip_publishc_init_module               @ 78 NONAME
+	pjsip_publishc_publish                   @ 79 NONAME
+	pjsip_publishc_send                      @ 80 NONAME
+	pjsip_publishc_set_credentials           @ 81 NONAME
+	pjsip_publishc_set_route_set             @ 82 NONAME
+	pjsip_publishc_unpublish                 @ 83 NONAME
+	pjsip_publishc_update_expires            @ 84 NONAME
+	pjsip_sub_state_hdr_create               @ 85 NONAME
+	pjsip_subscribe_method                   @ 86 NONAME
+	pjsip_tsx_get_evsub                      @ 87 NONAME
+	pjsipsimple_strerror                     @ 88 NONAME
+	pjxpidf_create                           @ 89 NONAME
+	pjxpidf_get_status                       @ 90 NONAME
+	pjxpidf_get_uri                          @ 91 NONAME
+	pjxpidf_parse                            @ 92 NONAME
+	pjxpidf_print                            @ 93 NONAME
+	pjxpidf_set_status                       @ 94 NONAME
+	pjxpidf_set_uri                          @ 95 NONAME