From 72549c62dbda8bcdc5afab24c468f701728fb3d7 Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Tue, 7 Sep 2010 05:10:25 +0000 Subject: Fixed #1118: Add last error code to PJSUA-LIB account info structure git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3303 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/include/pjsua-lib/pjsua.h | 8 ++++++++ pjsip/src/pjsua-lib/pjsua_acc.c | 8 +++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'pjsip') diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index 7c770e05..7510a4fc 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -2340,6 +2340,14 @@ typedef struct pjsua_acc_info */ pjsip_status_code status; + /** + * Last registration error code. When the status field contains a SIP + * status code that indicates a registration failure, last registration + * error code contains the error code that causes the failure. In any + * other case, its value is zero. + */ + pj_status_t reg_last_err; + /** * String describing the registration status. */ diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 62c2451a..5597dad1 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -1799,14 +1799,12 @@ PJ_DEF(pj_status_t) pjsua_acc_get_info( pjsua_acc_id acc_id, else info->online_status_text = pj_str("Offline"); - if (acc->reg_last_err) { - info->status = (pjsip_status_code) acc->reg_last_err; - 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->reg_last_code) { if (info->has_registration) { info->status = (pjsip_status_code) acc->reg_last_code; info->status_text = *pjsip_get_status_text(acc->reg_last_code); + if (acc->reg_last_err) + info->reg_last_err = acc->reg_last_err; } else { info->status = (pjsip_status_code) 0; info->status_text = pj_str("not registered"); -- cgit v1.2.3