summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-08-24 08:28:52 +0000
committerBenny Prijono <bennylp@teluu.com>2007-08-24 08:28:52 +0000
commitbcd742c4466d6cf4e7d465c16e71c17e0e326dc3 (patch)
tree82bfdea2ebaeb8e48ae9d456f9ee482216dc702d /pjsip
parentede2a3f17e33709f625222b041bfe30585d5c244 (diff)
Ticket #365: ability to override generated ttuple ID in PIDF message body (thanks Babon Frederic)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1423 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/include/pjsua-lib/pjsua.h6
-rw-r--r--pjsip/src/pjsua-lib/pjsua_acc.c1
-rw-r--r--pjsip/src/pjsua-lib/pjsua_pres.c2
3 files changed, 9 insertions, 0 deletions
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h
index 73793247..d6af018d 100644
--- a/pjsip/include/pjsua-lib/pjsua.h
+++ b/pjsip/include/pjsua-lib/pjsua.h
@@ -1769,6 +1769,12 @@ typedef struct pjsua_acc_config
*/
pj_bool_t publish_enabled;
+ /**
+ * Optional PIDF tuple ID for outgoing PUBLISH and NOTIFY. If this value
+ * is not specified, a random string will be used.
+ */
+ pj_str_t pidf_tuple_id;
+
/**
* Optional URI to be put as Contact for this account. It is recommended
* that this field is left empty, so that the value will be calculated
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index 3d638c66..b92e3e51 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -75,6 +75,7 @@ static void copy_acc_config(pj_pool_t *pool,
pj_strdup_with_null(pool, &dst->id, &src->id);
pj_strdup_with_null(pool, &dst->reg_uri, &src->reg_uri);
pj_strdup_with_null(pool, &dst->force_contact, &src->force_contact);
+ pj_strdup_with_null(pool, &dst->pidf_tuple_id, &src->pidf_tuple_id);
dst->proxy_cnt = src->proxy_cnt;
for (i=0; i<src->proxy_cnt; ++i)
diff --git a/pjsip/src/pjsua-lib/pjsua_pres.c b/pjsip/src/pjsua-lib/pjsua_pres.c
index 963db29c..d5316959 100644
--- a/pjsip/src/pjsua-lib/pjsua_pres.c
+++ b/pjsip/src/pjsua-lib/pjsua_pres.c
@@ -553,6 +553,7 @@ static pj_bool_t pres_on_rx_request(pjsip_rx_data *rdata)
pj_bzero(&pres_status, sizeof(pres_status));
pres_status.info_cnt = 1;
pres_status.info[0].basic_open = pjsua_var.acc[acc_id].online_status;
+ pres_status.info[0].id = pjsua_var.acc[acc_id].cfg.pidf_tuple_id;
//Both pjsua_var.local_uri and pjsua_var.contact_uri are enclosed in "<" and ">"
//causing XML parsing to fail.
//pres_status.info[0].contact = pjsua_var.local_uri;
@@ -650,6 +651,7 @@ static pj_status_t send_publish(int acc_id, pj_bool_t active)
pj_bzero(&pres_status, sizeof(pres_status));
pres_status.info_cnt = 1;
pres_status.info[0].basic_open = acc->online_status;
+ pres_status.info[0].id = acc->cfg.pidf_tuple_id;
/* Be careful not to send PIDF with presence entity ID containing
* "<" character.