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
5 changed files with 76 additions and 23 deletions
|
@ -356,7 +356,7 @@ void pjsua_call_xfer(int call_index, const char *dest);
|
||||||
/**
|
/**
|
||||||
* Terminate all calls.
|
* 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.
|
* 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.
|
* Dump application states.
|
||||||
*/
|
*/
|
||||||
void pjsua_dump(void);
|
void pjsua_dump(pj_bool_t detail);
|
||||||
|
|
||||||
|
|
||||||
PJ_END_DECL
|
PJ_END_DECL
|
||||||
|
|
|
@ -1048,7 +1048,7 @@ void pjsua_call_xfer(int call_index, const char *dest)
|
||||||
/*
|
/*
|
||||||
* Terminate all calls.
|
* Terminate all calls.
|
||||||
*/
|
*/
|
||||||
void pjsua_inv_shutdown()
|
void pjsua_call_hangup_all()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
|
@ -867,7 +867,7 @@ pj_status_t pjsua_destroy(void)
|
||||||
pjsua.quit_flag = 1;
|
pjsua.quit_flag = 1;
|
||||||
|
|
||||||
/* Terminate all calls. */
|
/* Terminate all calls. */
|
||||||
pjsua_inv_shutdown();
|
pjsua_call_hangup_all();
|
||||||
|
|
||||||
/* Terminate all presence subscriptions. */
|
/* Terminate all presence subscriptions. */
|
||||||
pjsua_pres_shutdown();
|
pjsua_pres_shutdown();
|
||||||
|
|
|
@ -576,7 +576,7 @@ static void dump_media_session(pjmedia_session *session)
|
||||||
/*
|
/*
|
||||||
* Dump application states.
|
* Dump application states.
|
||||||
*/
|
*/
|
||||||
void pjsua_dump(void)
|
void pjsua_dump(pj_bool_t detail)
|
||||||
{
|
{
|
||||||
char buf[128];
|
char buf[128];
|
||||||
unsigned old_decor;
|
unsigned old_decor;
|
||||||
|
@ -586,37 +586,39 @@ void pjsua_dump(void)
|
||||||
old_decor = pj_log_get_decor();
|
old_decor = pj_log_get_decor();
|
||||||
pj_log_set_decor(old_decor & (PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_CR));
|
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);
|
pjmedia_endpt_dump(pjsua.med_endpt);
|
||||||
pjsip_tsx_layer_dump(1);
|
pjsip_tsx_layer_dump(detail);
|
||||||
pjsip_ua_dump(1);
|
pjsip_ua_dump(detail);
|
||||||
|
|
||||||
|
|
||||||
/* Dump all invite sessions: */
|
/* 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 {
|
} else {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i=0; i<pjsua.max_calls; ++i) {
|
for (i=0; i<pjsua.max_calls; ++i) {
|
||||||
|
|
||||||
if (pjsua.calls[i].inv == NULL)
|
if (pjsua.calls[i].inv == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
print_call(" ", i, buf, sizeof(buf));
|
print_call(" ", i, buf, sizeof(buf));
|
||||||
PJ_LOG(3,(THIS_FILE, "%s", buf));
|
PJ_LOG(3,(THIS_FILE, "%s", buf));
|
||||||
|
|
||||||
if (pjsua.calls[i].session)
|
if (pjsua.calls[i].session)
|
||||||
dump_media_session(pjsua.calls[i].session);
|
dump_media_session(pjsua.calls[i].session);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dump presence status */
|
/* Dump presence status */
|
||||||
pjsua_pres_dump();
|
pjsua_pres_dump(detail);
|
||||||
|
|
||||||
pj_log_set_decor(old_decor);
|
pj_log_set_decor(old_decor);
|
||||||
PJ_LOG(3,(THIS_FILE, "Dump complete"));
|
PJ_LOG(3,(THIS_FILE, "Dump complete"));
|
||||||
|
|
|
@ -454,12 +454,55 @@ void pjsua_pres_shutdown(void)
|
||||||
/*
|
/*
|
||||||
* Dump presence status.
|
* Dump presence status.
|
||||||
*/
|
*/
|
||||||
void pjsua_pres_dump(void)
|
void pjsua_pres_dump(pj_bool_t detail)
|
||||||
{
|
{
|
||||||
int acc_index;
|
int acc_index;
|
||||||
int i;
|
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:"));
|
PJ_LOG(3,(THIS_FILE, "Dumping pjsua server subscriptions:"));
|
||||||
|
|
||||||
for (acc_index=0; acc_index < pjsua.acc_cnt; ++acc_index) {
|
for (acc_index=0; acc_index < pjsua.acc_cnt; ++acc_index) {
|
||||||
|
|
||||||
PJ_LOG(3,(THIS_FILE, " %.*s",
|
PJ_LOG(3,(THIS_FILE, " %.*s",
|
||||||
|
@ -467,7 +510,9 @@ void pjsua_pres_dump(void)
|
||||||
pjsua.acc[acc_index].local_uri.ptr));
|
pjsua.acc[acc_index].local_uri.ptr));
|
||||||
|
|
||||||
if (pj_list_empty(&pjsua.acc[acc_index].pres_srv_list)) {
|
if (pj_list_empty(&pjsua.acc[acc_index].pres_srv_list)) {
|
||||||
|
|
||||||
PJ_LOG(3,(THIS_FILE, " - none - "));
|
PJ_LOG(3,(THIS_FILE, " - none - "));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
struct pjsua_srv_pres *uapres;
|
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:"));
|
PJ_LOG(3,(THIS_FILE, "Dumping pjsua client subscriptions:"));
|
||||||
|
|
||||||
if (pjsua.buddy_cnt == 0) {
|
if (pjsua.buddy_cnt == 0) {
|
||||||
|
|
||||||
PJ_LOG(3,(THIS_FILE, " - no buddy list - "));
|
PJ_LOG(3,(THIS_FILE, " - no buddy list - "));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
for (i=0; i<pjsua.buddy_cnt; ++i) {
|
for (i=0; i<pjsua.buddy_cnt; ++i) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue