summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2013-02-13 10:19:25 +0000
committerNanang Izzuddin <nanang@teluu.com>2013-02-13 10:19:25 +0000
commitdaf6fa9d2e92d91df192d59540058f5f0f99a477 (patch)
treecd01de82578fc751dfbd623ca8267903a7f492c7 /pjsip-apps
parentc0eaf417c356756c1dee311fdad96c284ec08941 (diff)
Close #1614: Added call redirect option PJSIP_REDIRECT_ACCEPT_REPLACE to accept call redirection with replaced 'To' header.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4347 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index 1f99992e..ac0708e5 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -377,7 +377,8 @@ static void usage(void)
puts (" --use-compact-form Minimize SIP message size");
puts (" --no-force-lr Allow strict-route to be used (i.e. do not force lr)");
puts (" --accept-redirect=N Specify how to handle call redirect (3xx) response.");
- puts (" 0: reject, 1: follow automatically (default), 2: ask");
+ puts (" 0: reject, 1: follow automatically,");
+ puts (" 2: follow + replace To header (default), 3: ask");
puts ("");
puts ("When URL is specified, pjsua will immediately initiate call to that URL");
@@ -404,7 +405,7 @@ static void default_config(struct app_config *cfg)
cfg->udp_cfg.port = 5060;
pjsua_transport_config_default(&cfg->rtp_cfg);
cfg->rtp_cfg.port = 4000;
- cfg->redir_op = PJSIP_REDIRECT_ACCEPT;
+ cfg->redir_op = PJSIP_REDIRECT_ACCEPT_REPLACE;
cfg->duration = NO_LIMIT;
cfg->wav_id = PJSUA_INVALID_ID;
cfg->rec_id = PJSUA_INVALID_ID;
@@ -2241,7 +2242,7 @@ static int write_settings(const struct app_config *config,
}
/* accept-redirect */
- if (config->redir_op != PJSIP_REDIRECT_ACCEPT) {
+ if (config->redir_op != PJSIP_REDIRECT_ACCEPT_REPLACE) {
pj_ansi_sprintf(line, "--accept-redirect %d\n",
config->redir_op);
pj_strcat2(&cfg, line);
@@ -3051,8 +3052,8 @@ static pjsip_redirect_op call_on_redirected(pjsua_call_id call_id,
}
PJ_LOG(3,(THIS_FILE, "Call %d is being redirected to %.*s. "
- "Press 'Ra' to accept, 'Rr' to reject, or 'Rd' to "
- "disconnect.",
+ "Press 'Ra' to accept+replace To header, 'RA' to accept, "
+ "'Rr' to reject, or 'Rd' to disconnect.",
call_id, len, uristr));
}
@@ -5381,6 +5382,9 @@ void console_app_main(const pj_str_t *uri_to_call)
PJ_LOG(1,(THIS_FILE, "Call %d has gone", current_call));
} else if (menuin[1] == 'a') {
pjsua_call_process_redirect(current_call,
+ PJSIP_REDIRECT_ACCEPT_REPLACE);
+ } else if (menuin[1] == 'A') {
+ pjsua_call_process_redirect(current_call,
PJSIP_REDIRECT_ACCEPT);
} else if (menuin[1] == 'r') {
pjsua_call_process_redirect(current_call,