Added option to perform detailed or summary only dump
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@255 74dad513-b988-da41-8d7b-12977e46ad98
This commit is contained in:
parent
8df5b021c5
commit
1a174142f2
|
@ -356,7 +356,7 @@ void pjsua_call_xfer(int call_index, const char *dest);
|
|||
/**
|
||||
* Terminate all calls.
|
||||
*/
|
||||
void pjsua_inv_shutdown(void);
|
||||
void pjsua_call_hangup_all(void);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
|
@ -401,7 +401,7 @@ void pjsua_pres_shutdown(void);
|
|||
/**
|
||||
* Dump presence subscriptions.
|
||||
*/
|
||||
void pjsua_pres_dump(void);
|
||||
void pjsua_pres_dump(pj_bool_t detail);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
|
@ -460,7 +460,7 @@ pj_status_t pjsua_verify_sip_url(const char *c_url);
|
|||
/*
|
||||
* Dump application states.
|
||||
*/
|
||||
void pjsua_dump(void);
|
||||
void pjsua_dump(pj_bool_t detail);
|
||||
|
||||
|
||||
PJ_END_DECL
|
||||
|
|
|
@ -1048,7 +1048,7 @@ void pjsua_call_xfer(int call_index, const char *dest)
|
|||
/*
|
||||
* Terminate all calls.
|
||||
*/
|
||||
void pjsua_inv_shutdown()
|
||||
void pjsua_call_hangup_all()
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
@ -867,7 +867,7 @@ pj_status_t pjsua_destroy(void)
|
|||
pjsua.quit_flag = 1;
|
||||
|
||||
/* Terminate all calls. */
|
||||
pjsua_inv_shutdown();
|
||||
pjsua_call_hangup_all();
|
||||
|
||||
/* Terminate all presence subscriptions. */
|
||||
pjsua_pres_shutdown();
|
||||
|
|
|
@ -576,7 +576,7 @@ static void dump_media_session(pjmedia_session *session)
|
|||
/*
|
||||
* Dump application states.
|
||||
*/
|
||||
void pjsua_dump(void)
|
||||
void pjsua_dump(pj_bool_t detail)
|
||||
{
|
||||
char buf[128];
|
||||
unsigned old_decor;
|
||||
|
@ -586,37 +586,39 @@ void pjsua_dump(void)
|
|||
old_decor = pj_log_get_decor();
|
||||
pj_log_set_decor(old_decor & (PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_CR));
|
||||
|
||||
pjsip_endpt_dump(pjsua.endpt, 1);
|
||||
pjsip_endpt_dump(pjsua.endpt, detail);
|
||||
pjmedia_endpt_dump(pjsua.med_endpt);
|
||||
pjsip_tsx_layer_dump(1);
|
||||
pjsip_ua_dump(1);
|
||||
pjsip_tsx_layer_dump(detail);
|
||||
pjsip_ua_dump(detail);
|
||||
|
||||
|
||||
/* Dump all invite sessions: */
|
||||
PJ_LOG(3,(THIS_FILE, "Dumping invite sessions:"));
|
||||
if (detail) {
|
||||
PJ_LOG(3,(THIS_FILE, "Dumping invite sessions:"));
|
||||
|
||||
if (pjsua.call_cnt == 0) {
|
||||
if (pjsua.call_cnt == 0) {
|
||||
|
||||
PJ_LOG(3,(THIS_FILE, " - no sessions -"));
|
||||
PJ_LOG(3,(THIS_FILE, " - no sessions -"));
|
||||
|
||||
} else {
|
||||
int i;
|
||||
} else {
|
||||
int i;
|
||||
|
||||
for (i=0; i<pjsua.max_calls; ++i) {
|
||||
for (i=0; i<pjsua.max_calls; ++i) {
|
||||
|
||||
if (pjsua.calls[i].inv == NULL)
|
||||
continue;
|
||||
if (pjsua.calls[i].inv == NULL)
|
||||
continue;
|
||||
|
||||
print_call(" ", i, buf, sizeof(buf));
|
||||
PJ_LOG(3,(THIS_FILE, "%s", buf));
|
||||
print_call(" ", i, buf, sizeof(buf));
|
||||
PJ_LOG(3,(THIS_FILE, "%s", buf));
|
||||
|
||||
if (pjsua.calls[i].session)
|
||||
dump_media_session(pjsua.calls[i].session);
|
||||
if (pjsua.calls[i].session)
|
||||
dump_media_session(pjsua.calls[i].session);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Dump presence status */
|
||||
pjsua_pres_dump();
|
||||
pjsua_pres_dump(detail);
|
||||
|
||||
pj_log_set_decor(old_decor);
|
||||
PJ_LOG(3,(THIS_FILE, "Dump complete"));
|
||||
|
|
|
@ -454,12 +454,55 @@ void pjsua_pres_shutdown(void)
|
|||
/*
|
||||
* Dump presence status.
|
||||
*/
|
||||
void pjsua_pres_dump(void)
|
||||
void pjsua_pres_dump(pj_bool_t detail)
|
||||
{
|
||||
int acc_index;
|
||||
int i;
|
||||
|
||||
|
||||
/*
|
||||
* When no detail is required, just dump number of server and client
|
||||
* subscriptions.
|
||||
*/
|
||||
if (detail == PJ_FALSE) {
|
||||
|
||||
int count = 0;
|
||||
|
||||
for (acc_index=0; acc_index < pjsua.acc_cnt; ++acc_index) {
|
||||
|
||||
if (!pj_list_empty(&pjsua.acc[acc_index].pres_srv_list)) {
|
||||
struct pjsua_srv_pres *uapres;
|
||||
|
||||
uapres = pjsua.acc[acc_index].pres_srv_list.next;
|
||||
while (uapres != &pjsua.acc[acc_index].pres_srv_list) {
|
||||
++count;
|
||||
uapres = uapres->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PJ_LOG(3,(THIS_FILE, "Number of server/UAS subscriptions: %d",
|
||||
count));
|
||||
|
||||
count = 0;
|
||||
|
||||
for (i=0; i<pjsua.buddy_cnt; ++i) {
|
||||
if (pjsua.buddies[i].sub) {
|
||||
++count;
|
||||
}
|
||||
}
|
||||
|
||||
PJ_LOG(3,(THIS_FILE, "Number of client/UAC subscriptions: %d",
|
||||
count));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Dumping all server (UAS) subscriptions
|
||||
*/
|
||||
PJ_LOG(3,(THIS_FILE, "Dumping pjsua server subscriptions:"));
|
||||
|
||||
for (acc_index=0; acc_index < pjsua.acc_cnt; ++acc_index) {
|
||||
|
||||
PJ_LOG(3,(THIS_FILE, " %.*s",
|
||||
|
@ -467,7 +510,9 @@ void pjsua_pres_dump(void)
|
|||
pjsua.acc[acc_index].local_uri.ptr));
|
||||
|
||||
if (pj_list_empty(&pjsua.acc[acc_index].pres_srv_list)) {
|
||||
|
||||
PJ_LOG(3,(THIS_FILE, " - none - "));
|
||||
|
||||
} else {
|
||||
struct pjsua_srv_pres *uapres;
|
||||
|
||||
|
@ -483,9 +528,15 @@ void pjsua_pres_dump(void)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Dumping all client (UAC) subscriptions
|
||||
*/
|
||||
PJ_LOG(3,(THIS_FILE, "Dumping pjsua client subscriptions:"));
|
||||
|
||||
if (pjsua.buddy_cnt == 0) {
|
||||
|
||||
PJ_LOG(3,(THIS_FILE, " - no buddy list - "));
|
||||
|
||||
} else {
|
||||
for (i=0; i<pjsua.buddy_cnt; ++i) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue