Fixed couple of bugs in pjsua API: (1) server presence subscription not setting credentials, and (2) incorrect account status is reported when registration failed

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@512 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index b16f5fd..57c6d33 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -568,7 +568,7 @@
 	pj_strerror(acc->reg_last_err, info->buf_, sizeof(info->buf_));
 	info->status_text = pj_str(info->buf_);
     } else if (acc->reg_last_code) {
-	if (acc->regc) {
+	if (info->has_registration) {
 	    info->status = acc->reg_last_code;
 	    info->status_text = *pjsip_get_status_text(acc->reg_last_code);
 	} else {
diff --git a/pjsip/src/pjsua-lib/pjsua_pres.c b/pjsip/src/pjsua-lib/pjsua_pres.c
index b176466..7948a3e 100644
--- a/pjsip/src/pjsua-lib/pjsua_pres.c
+++ b/pjsip/src/pjsua-lib/pjsua_pres.c
@@ -439,7 +439,7 @@
 static pj_bool_t pres_on_rx_request(pjsip_rx_data *rdata)
 {
     int acc_id;
-    pjsua_acc_config *acc_config;
+    pjsua_acc *acc;
     pjsip_method *req_method = &rdata->msg_info.msg->line.req.method;
     pjsua_srv_pres *uapres;
     pjsip_evsub *sub;
@@ -458,11 +458,14 @@
 
     /* Find which account for the incoming request. */
     acc_id = pjsua_acc_find_for_incoming(rdata);
-    acc_config = &pjsua_var.acc[acc_id].cfg;
+    acc = &pjsua_var.acc[acc_id];
 
+    PJ_LOG(4,(THIS_FILE, "Creating server subscription, using account %d",
+	      acc_id));
+    
     /* Create UAS dialog: */
     status = pjsip_dlg_create_uas(pjsip_ua_instance(), rdata, 
-				  &acc_config->contact,
+				  &acc->cfg.contact,
 				  &dlg);
     if (status != PJ_SUCCESS) {
 	pjsua_perror(THIS_FILE, 
@@ -472,6 +475,9 @@
 	return PJ_TRUE;
     }
 
+    /* Set credentials. */
+    pjsip_auth_clt_set_credentials(&dlg->auth_sess, acc->cred_cnt, acc->cred);
+
     /* Init callback: */
     pj_memset(&pres_cb, 0, sizeof(pres_cb));
     pres_cb.on_evsub_state = &pres_evsub_on_srv_state;