summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-10-25 02:51:33 +0000
committerBenny Prijono <bennylp@teluu.com>2007-10-25 02:51:33 +0000
commitcf02ba6c867d0428102a3e6bf0434b8c4b368b04 (patch)
tree40db26fa1ff49ce820b9c13055c0622116746584 /pjsip
parent7863bbf837dbdb499564043ca1a562c19aa8f29a (diff)
Continuing ticket #400: Only process Service-Route header if enable_service_route (--service-route option in pjsua) is set
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1520 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/include/pjsua-lib/pjsua.h5
-rw-r--r--pjsip/src/pjsua-lib/pjsua_acc.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h
index df5aa259..d076c668 100644
--- a/pjsip/include/pjsua-lib/pjsua.h
+++ b/pjsip/include/pjsua-lib/pjsua.h
@@ -1888,6 +1888,11 @@ typedef struct pjsua_acc_config
*/
pj_str_t proxy[PJSUA_ACC_MAX_PROXIES];
+ /**
+ * Enable Service-Route processing for this account.
+ */
+ pj_bool_t enable_service_route;
+
/**
* Optional interval for registration, in seconds. If the value is zero,
* default interval will be used (PJSUA_REG_INTERVAL, 55 seconds).
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index a1cab41a..012832c5 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -541,6 +541,10 @@ void update_service_route(pjsua_acc *acc, pjsip_rx_data *rdata)
pjsip_uri *uri[PJSUA_ACC_MAX_PROXIES];
unsigned i, uri_cnt = 0, rcnt;
+ /* Skip processing is enable_service_route is not set */
+ if (!acc->cfg.enable_service_route)
+ return;
+
/* Find and parse Service-Route headers */
for (;;) {
char saved;