diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-08-24 08:28:52 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-08-24 08:28:52 +0000 |
commit | bcd742c4466d6cf4e7d465c16e71c17e0e326dc3 (patch) | |
tree | 82bfdea2ebaeb8e48ae9d456f9ee482216dc702d | |
parent | ede2a3f17e33709f625222b041bfe30585d5c244 (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
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua.h | 6 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 1 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_pres.c | 2 |
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. |