summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-06-28 07:15:03 +0000
committerBenny Prijono <bennylp@teluu.com>2007-06-28 07:15:03 +0000
commit8be2878b3d9f86b020c2bee4878072a6c05d0cca (patch)
tree943a3dfac2fc11e21c02ba290c8782ce95d87936
parente1257e0d3173a651e5a0cdf24a4c66530c43d981 (diff)
Added command to add new account in pjsua application
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1400 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c30
-rw-r--r--pjsip/src/pjsua-lib/pjsua_acc.c3
2 files changed, 32 insertions, 1 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index 341ab5fd..9aa749ce 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -2420,7 +2420,35 @@ void console_app_main(const pj_str_t *uri_to_call)
} else if (menuin[1] == 'a') {
- printf("Sorry, this command is not supported yet\n");
+ char id[80], registrar[80], realm[80], uname[80], passwd[30];
+ pjsua_acc_config acc_cfg;
+ pj_status_t status;
+
+ if (!simple_input("Your SIP URL:", id, sizeof(id)))
+ break;
+ if (!simple_input("URL of the registrar:", registrar, sizeof(registrar)))
+ break;
+ if (!simple_input("Auth Realm:", realm, sizeof(realm)))
+ break;
+ if (!simple_input("Auth Username:", uname, sizeof(uname)))
+ break;
+ if (!simple_input("Auth Password:", passwd, sizeof(passwd)))
+ break;
+
+ pjsua_acc_config_default(&acc_cfg);
+ acc_cfg.id = pj_str(id);
+ acc_cfg.reg_uri = pj_str(registrar);
+ acc_cfg.cred_count = 1;
+ acc_cfg.cred_info[0].scheme = pj_str("digest");
+ acc_cfg.cred_info[0].realm = pj_str(realm);
+ acc_cfg.cred_info[0].username = pj_str(uname);
+ acc_cfg.cred_info[0].data_type = 0;
+ acc_cfg.cred_info[0].data = pj_str(passwd);
+
+ status = pjsua_acc_add(&acc_cfg, PJ_TRUE, NULL);
+ if (status != PJ_SUCCESS) {
+ pjsua_perror(THIS_FILE, "Error adding new account", status);
+ }
} else {
printf("Invalid input %s\n", menuin);
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index ee506240..3d638c66 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -392,6 +392,9 @@ PJ_DEF(pj_status_t) pjsua_acc_del(pjsua_acc_id acc_id)
* access account once it's created
*/
+ /* Update default account */
+ if (pjsua_var.default_acc == acc_id)
+ pjsua_var.default_acc = 0;
PJSUA_UNLOCK();