add the 'sip debug' options to the set of global flags and fix some compiler warnings

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Russell Bryant 20 years ago
parent 357c38d177
commit 8af65a8a25

@ -409,9 +409,6 @@ static struct in_addr __ourip;
static struct sockaddr_in outboundproxyip; static struct sockaddr_in outboundproxyip;
static int ourport; static int ourport;
#define SIP_DEBUG_CONFIG 1 << 0
#define SIP_DEBUG_CONSOLE 1 << 1
static int sipdebug = 0;
static struct sockaddr_in debugaddr; static struct sockaddr_in debugaddr;
static int tos = 0; static int tos = 0;
@ -571,11 +568,18 @@ struct sip_auth {
#define SIP_PAGE2_RTAUTOCLEAR (1 << 2) #define SIP_PAGE2_RTAUTOCLEAR (1 << 2)
#define SIP_PAGE2_IGNOREREGEXPIRE (1 << 3) #define SIP_PAGE2_IGNOREREGEXPIRE (1 << 3)
#define SIP_PAGE2_RT_FROMCONTACT (1 << 4) #define SIP_PAGE2_RT_FROMCONTACT (1 << 4)
#define SIP_PAGE2_DEBUG (3 << 5)
#define SIP_PAGE2_DEBUG_CONFIG (1 << 5)
#define SIP_PAGE2_DEBUG_CONSOLE (1 << 6)
/* SIP packet flags */ /* SIP packet flags */
#define SIP_PKT_DEBUG (1 << 0) /*!< Debug this packet */ #define SIP_PKT_DEBUG (1 << 0) /*!< Debug this packet */
#define SIP_PKT_WITH_TOTAG (1 << 1) /*!< This packet has a to-tag */ #define SIP_PKT_WITH_TOTAG (1 << 1) /*!< This packet has a to-tag */
#define SIP_DEBUG ast_test_flag(&global_flags_page2, SIP_PAGE2_DEBUG)
#define SIP_DEBUG_CONFIG ast_test_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONFIG)
#define SIP_DEBUG_CONSOLE ast_test_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONSOLE)
static int global_rtautoclear = 120; static int global_rtautoclear = 120;
/*! \brief sip_pvt: PVT structures are used for each SIP conversation, ie. a call */ /*! \brief sip_pvt: PVT structures are used for each SIP conversation, ie. a call */
@ -991,7 +995,7 @@ unsigned int parse_sip_options(struct sip_pvt *pvt, char *supported)
if (ast_strlen_zero(supported) ) if (ast_strlen_zero(supported) )
return 0; return 0;
if (option_debug > 2 && sipdebug) if (option_debug > 2 && SIP_DEBUG)
ast_log(LOG_DEBUG, "Begin: parsing SIP \"Supported: %s\"\n", supported); ast_log(LOG_DEBUG, "Begin: parsing SIP \"Supported: %s\"\n", supported);
next = temp; next = temp;
@ -1003,18 +1007,18 @@ unsigned int parse_sip_options(struct sip_pvt *pvt, char *supported)
} }
while (*next == ' ') /* Skip spaces */ while (*next == ' ') /* Skip spaces */
next++; next++;
if (option_debug > 2 && sipdebug) if (option_debug > 2 && SIP_DEBUG)
ast_log(LOG_DEBUG, "Found SIP option: -%s-\n", next); ast_log(LOG_DEBUG, "Found SIP option: -%s-\n", next);
for (i=0; (i < (sizeof(sip_options) / sizeof(sip_options[0]))) && !res; i++) { for (i=0; (i < (sizeof(sip_options) / sizeof(sip_options[0]))) && !res; i++) {
if (!strcasecmp(next, sip_options[i].text)) { if (!strcasecmp(next, sip_options[i].text)) {
profile |= sip_options[i].id; profile |= sip_options[i].id;
res = 1; res = 1;
if (option_debug > 2 && sipdebug) if (option_debug > 2 && SIP_DEBUG)
ast_log(LOG_DEBUG, "Matched SIP option: %s\n", next); ast_log(LOG_DEBUG, "Matched SIP option: %s\n", next);
} }
} }
if (!res) if (!res)
if (option_debug > 2 && sipdebug) if (option_debug > 2 && SIP_DEBUG)
ast_log(LOG_DEBUG, "Found no match for SIP option: %s (Please file bug report!)\n", next); ast_log(LOG_DEBUG, "Found no match for SIP option: %s (Please file bug report!)\n", next);
next = sep; next = sep;
} }
@ -1029,7 +1033,7 @@ unsigned int parse_sip_options(struct sip_pvt *pvt, char *supported)
/*! \brief sip_debug_test_addr: See if we pass debug IP filter */ /*! \brief sip_debug_test_addr: See if we pass debug IP filter */
static inline int sip_debug_test_addr(struct sockaddr_in *addr) static inline int sip_debug_test_addr(struct sockaddr_in *addr)
{ {
if (sipdebug == 0) if (!SIP_DEBUG)
return 0; return 0;
if (debugaddr.sin_addr.s_addr) { if (debugaddr.sin_addr.s_addr) {
if (((ntohs(debugaddr.sin_port) != 0) if (((ntohs(debugaddr.sin_port) != 0)
@ -1043,7 +1047,7 @@ static inline int sip_debug_test_addr(struct sockaddr_in *addr)
/*! \brief sip_debug_test_pvt: Test PVT for debugging output */ /*! \brief sip_debug_test_pvt: Test PVT for debugging output */
static inline int sip_debug_test_pvt(struct sip_pvt *p) static inline int sip_debug_test_pvt(struct sip_pvt *p)
{ {
if (sipdebug == 0) if (!SIP_DEBUG)
return 0; return 0;
return sip_debug_test_addr(((ast_test_flag(p, SIP_NAT) & SIP_NAT_ROUTE) ? &p->recv : &p->sa)); return sip_debug_test_addr(((ast_test_flag(p, SIP_NAT) & SIP_NAT_ROUTE) ? &p->recv : &p->sa));
} }
@ -1166,12 +1170,12 @@ static int retrans_pkt(void *data)
pkt->retrans++; pkt->retrans++;
if (!pkt->timer_t1) { /* Re-schedule using timer_a and timer_t1 */ if (!pkt->timer_t1) { /* Re-schedule using timer_a and timer_t1 */
if (sipdebug && option_debug > 3) if (SIP_DEBUG && option_debug > 3)
ast_log(LOG_DEBUG, "SIP TIMER: Not rescheduling id #%d:%s (Method %d) (No timer T1)\n", pkt->retransid, sip_methods[pkt->method].text, pkt->method); ast_log(LOG_DEBUG, "SIP TIMER: Not rescheduling id #%d:%s (Method %d) (No timer T1)\n", pkt->retransid, sip_methods[pkt->method].text, pkt->method);
} else { } else {
int siptimer_a; int siptimer_a;
if (sipdebug && option_debug > 3) if (SIP_DEBUG && option_debug > 3)
ast_log(LOG_DEBUG, "SIP TIMER: Rescheduling retransmission #%d (%d) %s - %d\n", pkt->retransid, pkt->retrans, sip_methods[pkt->method].text, pkt->method); ast_log(LOG_DEBUG, "SIP TIMER: Rescheduling retransmission #%d (%d) %s - %d\n", pkt->retransid, pkt->retrans, sip_methods[pkt->method].text, pkt->method);
if (!pkt->timer_a) if (!pkt->timer_a)
pkt->timer_a = 2 ; pkt->timer_a = 2 ;
@ -1204,10 +1208,8 @@ static int retrans_pkt(void *data)
} }
/* Too many retries */ /* Too many retries */
if (pkt->owner && pkt->method != SIP_OPTIONS) { if (pkt->owner && pkt->method != SIP_OPTIONS) {
if (ast_test_flag(pkt, FLAG_FATAL) || sipdebug) /* Tell us if it's critical or if we're debugging */ if (ast_test_flag(pkt, FLAG_FATAL) || SIP_DEBUG) /* Tell us if it's critical or if we're debugging */ ast_log(LOG_WARNING, "Maximum retries exceeded on transmission %s for seqno %d (%s %s)\n", pkt->owner->callid, pkt->seqno, (ast_test_flag(pkt, FLAG_FATAL)) ? "Critical" : "Non-critical", (ast_test_flag(pkt, FLAG_RESPONSE)) ? "Response" : "Request"); } else {
ast_log(LOG_WARNING, "Maximum retries exceeded on transmission %s for seqno %d (%s %s)\n", pkt->owner->callid, pkt->seqno, (ast_test_flag(pkt, FLAG_FATAL)) ? "Critical" : "Non-critical", (ast_test_flag(pkt, FLAG_RESPONSE)) ? "Response" : "Request"); if ((pkt->method == SIP_OPTIONS) && SIP_DEBUG)
} else {
if (pkt->method == SIP_OPTIONS && sipdebug)
ast_log(LOG_WARNING, "Cancelling retransmit of OPTIONs (call id %s) \n", pkt->owner->callid); ast_log(LOG_WARNING, "Cancelling retransmit of OPTIONs (call id %s) \n", pkt->owner->callid);
} }
append_history(pkt->owner, "MaxRetries", (ast_test_flag(pkt, FLAG_FATAL)) ? "(Critical)" : "(Non-critical)"); append_history(pkt->owner, "MaxRetries", (ast_test_flag(pkt, FLAG_FATAL)) ? "(Critical)" : "(Non-critical)");
@ -1280,7 +1282,7 @@ static int __sip_reliable_xmit(struct sip_pvt *p, int seqno, int resp, char *dat
/* Schedule retransmission */ /* Schedule retransmission */
pkt->retransid = ast_sched_add_variable(sched, siptimer_a, retrans_pkt, pkt, 1); pkt->retransid = ast_sched_add_variable(sched, siptimer_a, retrans_pkt, pkt, 1);
if (option_debug > 3 && sipdebug) if (option_debug > 3 && SIP_DEBUG)
ast_log(LOG_DEBUG, "*** SIP TIMER: Initalizing retransmit timer on packet: Id #%d\n", pkt->retransid); ast_log(LOG_DEBUG, "*** SIP TIMER: Initalizing retransmit timer on packet: Id #%d\n", pkt->retransid);
pkt->next = p->packets; pkt->next = p->packets;
p->packets = pkt; p->packets = pkt;
@ -1374,7 +1376,7 @@ static int __sip_ack(struct sip_pvt *p, int seqno, int resp, int sipmethod)
else else
p->packets = cur->next; p->packets = cur->next;
if (cur->retransid > -1) { if (cur->retransid > -1) {
if (sipdebug && option_debug > 3) if (SIP_DEBUG && option_debug > 3)
ast_log(LOG_DEBUG, "** SIP TIMER: Cancelling retransmit of packet (reply received) Retransid #%d\n", cur->retransid); ast_log(LOG_DEBUG, "** SIP TIMER: Cancelling retransmit of packet (reply received) Retransid #%d\n", cur->retransid);
ast_sched_del(sched, cur->retransid); ast_sched_del(sched, cur->retransid);
} }
@ -1429,7 +1431,7 @@ static int __sip_semi_ack(struct sip_pvt *p, int seqno, int resp, int sipmethod)
(!strncasecmp(msg, cur->data, strlen(msg)) && (cur->data[strlen(msg)] < 33)))) { (!strncasecmp(msg, cur->data, strlen(msg)) && (cur->data[strlen(msg)] < 33)))) {
/* this is our baby */ /* this is our baby */
if (cur->retransid > -1) { if (cur->retransid > -1) {
if (option_debug > 3 && sipdebug) if (option_debug > 3 && SIP_DEBUG)
ast_log(LOG_DEBUG, "*** SIP TIMER: Cancelling retransmission #%d - %s (got response)\n", cur->retransid, msg); ast_log(LOG_DEBUG, "*** SIP TIMER: Cancelling retransmission #%d - %s (got response)\n", cur->retransid, msg);
ast_sched_del(sched, cur->retransid); ast_sched_del(sched, cur->retransid);
} }
@ -2228,7 +2230,7 @@ static int update_call_counter(struct sip_pvt *fup, int event)
} else { } else {
*inuse = 0; *inuse = 0;
} }
if (option_debug > 1 || sipdebug) { if (option_debug > 1 || SIP_DEBUG) {
ast_log(LOG_DEBUG, "Call %s %s '%s' removed from call limit %d\n", outgoing ? "to" : "from", u ? "user":"peer", name, *call_limit); ast_log(LOG_DEBUG, "Call %s %s '%s' removed from call limit %d\n", outgoing ? "to" : "from", u ? "user":"peer", name, *call_limit);
} }
break; break;
@ -2244,7 +2246,7 @@ static int update_call_counter(struct sip_pvt *fup, int event)
} }
} }
(*inuse)++; (*inuse)++;
if (option_debug > 1 || sipdebug) { if (option_debug > 1 || SIP_DEBUG) {
ast_log(LOG_DEBUG, "Call %s %s '%s' is %d out of %d\n", outgoing ? "to" : "from", u ? "user":"peer", name, *inuse, *call_limit); ast_log(LOG_DEBUG, "Call %s %s '%s' is %d out of %d\n", outgoing ? "to" : "from", u ? "user":"peer", name, *inuse, *call_limit);
} }
break; break;
@ -2676,12 +2678,12 @@ static int sip_indicate(struct ast_channel *ast, int condition)
res = -1; res = -1;
break; break;
case AST_CONTROL_HOLD: /* The other part of the bridge are put on hold */ case AST_CONTROL_HOLD: /* The other part of the bridge are put on hold */
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_DEBUG, "Bridged channel now on hold%s\n", p->callid); ast_log(LOG_DEBUG, "Bridged channel now on hold%s\n", p->callid);
res = -1; res = -1;
break; break;
case AST_CONTROL_UNHOLD: /* The other part of the bridge are back from hold */ case AST_CONTROL_UNHOLD: /* The other part of the bridge are back from hold */
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_DEBUG, "Bridged channel is back from hold, let's talk! : %s\n", p->callid); ast_log(LOG_DEBUG, "Bridged channel is back from hold, let's talk! : %s\n", p->callid);
res = -1; res = -1;
break; break;
@ -3313,7 +3315,7 @@ static void parse_request(struct sip_request *req)
/* We've got a new header */ /* We've got a new header */
*c = 0; *c = 0;
if (sipdebug && option_debug > 3) if (SIP_DEBUG && option_debug > 3)
ast_log(LOG_DEBUG, "Header %d: %s (%d)\n", f, req->header[f], (int) strlen(req->header[f])); ast_log(LOG_DEBUG, "Header %d: %s (%d)\n", f, req->header[f], (int) strlen(req->header[f]));
if (ast_strlen_zero(req->header[f])) { if (ast_strlen_zero(req->header[f])) {
/* Line by itself means we're now in content */ /* Line by itself means we're now in content */
@ -3333,7 +3335,7 @@ static void parse_request(struct sip_request *req)
} }
/* Check for last header */ /* Check for last header */
if (!ast_strlen_zero(req->header[f])) { if (!ast_strlen_zero(req->header[f])) {
if (sipdebug && option_debug > 3) if (SIP_DEBUG && option_debug > 3)
ast_log(LOG_DEBUG, "Header %d: %s (%d)\n", f, req->header[f], (int) strlen(req->header[f])); ast_log(LOG_DEBUG, "Header %d: %s (%d)\n", f, req->header[f], (int) strlen(req->header[f]));
f++; f++;
} }
@ -3345,7 +3347,7 @@ static void parse_request(struct sip_request *req)
if (*c == '\n') { if (*c == '\n') {
/* We've got a new line */ /* We've got a new line */
*c = 0; *c = 0;
if (sipdebug && option_debug > 3) if (SIP_DEBUG && option_debug > 3)
ast_log(LOG_DEBUG, "Line: %s (%d)\n", req->line[f], (int) strlen(req->line[f])); ast_log(LOG_DEBUG, "Line: %s (%d)\n", req->line[f], (int) strlen(req->line[f]));
if (f >= SIP_MAX_LINES - 1) { if (f >= SIP_MAX_LINES - 1) {
ast_log(LOG_WARNING, "Too many SDP lines. Ignoring.\n"); ast_log(LOG_WARNING, "Too many SDP lines. Ignoring.\n");
@ -4578,7 +4580,7 @@ static int transmit_reinvite_with_sdp(struct sip_pvt *p)
reqprep(&req, p, SIP_INVITE, 0, 1); reqprep(&req, p, SIP_INVITE, 0, 1);
add_header(&req, "Allow", ALLOWED_METHODS); add_header(&req, "Allow", ALLOWED_METHODS);
if (sipdebug) if (SIP_DEBUG)
add_header(&req, "X-asterisk-info", "SIP re-invite (RTP bridge)"); add_header(&req, "X-asterisk-info", "SIP re-invite (RTP bridge)");
ast_rtp_offered_from_local(p->rtp, 1); ast_rtp_offered_from_local(p->rtp, 1);
add_sdp(&req, p); add_sdp(&req, p);
@ -4879,11 +4881,11 @@ static int transmit_invite(struct sip_pvt *p, int sipmethod, int sdp, int init)
add_header(&req, "Allow", ALLOWED_METHODS); add_header(&req, "Allow", ALLOWED_METHODS);
if (p->options && p->options->addsipheaders ) { if (p->options && p->options->addsipheaders ) {
struct ast_channel *ast; struct ast_channel *ast;
char *header = (char *) NULL; const char *header = (char *) NULL;
char *content = (char *) NULL; char *content = (char *) NULL;
char *end = (char *) NULL; char *end = (char *) NULL;
struct varshead *headp = (struct varshead *) NULL; struct varshead *headp = (struct varshead *) NULL;
struct ast_var_t *current; const struct ast_var_t *current;
ast = p->owner; /* The owner channel */ ast = p->owner; /* The owner channel */
if (ast) { if (ast) {
@ -4912,7 +4914,7 @@ static int transmit_invite(struct sip_pvt *p, int sipmethod, int sdp, int init)
*end = '\0'; *end = '\0';
add_header(&req, headdup, content); add_header(&req, headdup, content);
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_DEBUG, "Adding SIP Header \"%s\" with content :%s: \n", headdup, content); ast_log(LOG_DEBUG, "Adding SIP Header \"%s\" with content :%s: \n", headdup, content);
} }
} }
@ -5233,7 +5235,7 @@ static int sip_reregister(void *data)
} }
/* Since registry's are only added/removed by the the monitor thread, this /* Since registry's are only added/removed by the the monitor thread, this
may be overkill to reference/dereference at all here */ may be overkill to reference/dereference at all here */
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_NOTICE, " -- Re-registration for %s@%s\n", r->username, r->hostname); ast_log(LOG_NOTICE, " -- Re-registration for %s@%s\n", r->username, r->hostname);
r->expire = -1; r->expire = -1;
@ -5447,7 +5449,7 @@ static int transmit_register(struct sip_registry *r, int sipmethod, char *auth,
char digest[1024]; char digest[1024];
/* We have auth data to reuse, build a digest header! */ /* We have auth data to reuse, build a digest header! */
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_DEBUG, " >>> Re-using Auth data for %s@%s\n", r->username, r->hostname); ast_log(LOG_DEBUG, " >>> Re-using Auth data for %s@%s\n", r->username, r->hostname);
ast_copy_string(p->realm, r->realm, sizeof(p->realm)); ast_copy_string(p->realm, r->realm, sizeof(p->realm));
ast_copy_string(p->nonce, r->nonce, sizeof(p->nonce)); ast_copy_string(p->nonce, r->nonce, sizeof(p->nonce));
@ -6271,13 +6273,13 @@ static int check_auth(struct sip_pvt *p, struct sip_request *req, char *randdata
snprintf(randdata, randlen, "%08x", thread_safe_rand()); snprintf(randdata, randlen, "%08x", thread_safe_rand());
if (ua_hash && !strncasecmp(ua_hash, resp_hash, strlen(resp_hash))) { if (ua_hash && !strncasecmp(ua_hash, resp_hash, strlen(resp_hash))) {
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_NOTICE, "stale nonce received from '%s'\n", get_header(req, "To")); ast_log(LOG_NOTICE, "stale nonce received from '%s'\n", get_header(req, "To"));
/* We got working auth token, based on stale nonce . */ /* We got working auth token, based on stale nonce . */
transmit_response_with_auth(p, response, req, randdata, reliable, respheader, 1); transmit_response_with_auth(p, response, req, randdata, reliable, respheader, 1);
} else { } else {
/* Everything was wrong, so give the device one more try with a new challenge */ /* Everything was wrong, so give the device one more try with a new challenge */
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_NOTICE, "Bad authentication received from '%s'\n", get_header(req, "To")); ast_log(LOG_NOTICE, "Bad authentication received from '%s'\n", get_header(req, "To"));
transmit_response_with_auth(p, response, req, randdata, reliable, respheader, 0); transmit_response_with_auth(p, response, req, randdata, reliable, respheader, 0);
} }
@ -8616,7 +8618,7 @@ static void handle_request_info(struct sip_pvt *p, struct sip_request *req)
/* send a FLASH event */ /* send a FLASH event */
struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_FLASH, }; struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_FLASH, };
ast_queue_frame(p->owner, &f); ast_queue_frame(p->owner, &f);
if (sipdebug) if (SIP_DEBUG)
ast_verbose("* DTMF-relay event received: FLASH\n"); ast_verbose("* DTMF-relay event received: FLASH\n");
} else { } else {
/* send a DTMF event */ /* send a DTMF event */
@ -8631,7 +8633,7 @@ static void handle_request_info(struct sip_pvt *p, struct sip_request *req)
f.subclass = 'A' + (event - 12); f.subclass = 'A' + (event - 12);
} }
ast_queue_frame(p->owner, &f); ast_queue_frame(p->owner, &f);
if (sipdebug) if (SIP_DEBUG)
ast_verbose("* DTMF-relay event received: %c\n", f.subclass); ast_verbose("* DTMF-relay event received: %c\n", f.subclass);
} }
transmit_response(p, "200 OK", req); transmit_response(p, "200 OK", req);
@ -8692,7 +8694,9 @@ static int sip_do_debug_ip(int fd, int argc, char *argv[])
ast_cli(fd, "SIP Debugging Enabled for IP: %s\n", ast_inet_ntoa(iabuf, sizeof(iabuf), debugaddr.sin_addr)); ast_cli(fd, "SIP Debugging Enabled for IP: %s\n", ast_inet_ntoa(iabuf, sizeof(iabuf), debugaddr.sin_addr));
else else
ast_cli(fd, "SIP Debugging Enabled for IP: %s:%d\n", ast_inet_ntoa(iabuf, sizeof(iabuf), debugaddr.sin_addr), port); ast_cli(fd, "SIP Debugging Enabled for IP: %s:%d\n", ast_inet_ntoa(iabuf, sizeof(iabuf), debugaddr.sin_addr), port);
sipdebug |= SIP_DEBUG_CONSOLE;
ast_set_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONSOLE);
return RESULT_SUCCESS; return RESULT_SUCCESS;
} }
@ -8710,7 +8714,7 @@ static int sip_do_debug_peer(int fd, int argc, char *argv[])
memcpy(&debugaddr.sin_addr, &peer->addr.sin_addr, sizeof(debugaddr.sin_addr)); memcpy(&debugaddr.sin_addr, &peer->addr.sin_addr, sizeof(debugaddr.sin_addr));
debugaddr.sin_port = peer->addr.sin_port; debugaddr.sin_port = peer->addr.sin_port;
ast_cli(fd, "SIP Debugging Enabled for IP: %s:%d\n", ast_inet_ntoa(iabuf, sizeof(iabuf), debugaddr.sin_addr), ntohs(debugaddr.sin_port)); ast_cli(fd, "SIP Debugging Enabled for IP: %s:%d\n", ast_inet_ntoa(iabuf, sizeof(iabuf), debugaddr.sin_addr), ntohs(debugaddr.sin_port));
sipdebug |= SIP_DEBUG_CONSOLE; ast_set_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONSOLE);
} else } else
ast_cli(fd, "Unable to get IP address of peer '%s'\n", argv[3]); ast_cli(fd, "Unable to get IP address of peer '%s'\n", argv[3]);
ASTOBJ_UNREF(peer,sip_destroy_peer); ASTOBJ_UNREF(peer,sip_destroy_peer);
@ -8722,7 +8726,7 @@ static int sip_do_debug_peer(int fd, int argc, char *argv[])
/*! \brief sip_do_debug: Turn on SIP debugging (CLI command) */ /*! \brief sip_do_debug: Turn on SIP debugging (CLI command) */
static int sip_do_debug(int fd, int argc, char *argv[]) static int sip_do_debug(int fd, int argc, char *argv[])
{ {
int oldsipdebug = sipdebug & SIP_DEBUG_CONSOLE; int oldsipdebug = SIP_DEBUG_CONSOLE;
if (argc != 2) { if (argc != 2) {
if (argc != 4) if (argc != 4)
return RESULT_SHOWUSAGE; return RESULT_SHOWUSAGE;
@ -8732,7 +8736,7 @@ static int sip_do_debug(int fd, int argc, char *argv[])
return sip_do_debug_peer(fd, argc, argv); return sip_do_debug_peer(fd, argc, argv);
else return RESULT_SHOWUSAGE; else return RESULT_SHOWUSAGE;
} }
sipdebug |= SIP_DEBUG_CONSOLE; ast_set_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONSOLE);
memset(&debugaddr, 0, sizeof(debugaddr)); memset(&debugaddr, 0, sizeof(debugaddr));
if (oldsipdebug) if (oldsipdebug)
ast_cli(fd, "SIP Debugging re-enabled\n"); ast_cli(fd, "SIP Debugging re-enabled\n");
@ -8826,7 +8830,7 @@ static int sip_no_debug(int fd, int argc, char *argv[])
{ {
if (argc != 3) if (argc != 3)
return RESULT_SHOWUSAGE; return RESULT_SHOWUSAGE;
sipdebug &= ~SIP_DEBUG_CONSOLE; ast_clear_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONSOLE);
ast_cli(fd, "SIP Debugging Disabled\n"); ast_cli(fd, "SIP Debugging Disabled\n");
return RESULT_SUCCESS; return RESULT_SUCCESS;
} }
@ -8995,7 +8999,7 @@ static int build_reply_digest(struct sip_pvt *p, int method, char* digest, int d
username = auth->username; username = auth->username;
secret = auth->secret; secret = auth->secret;
md5secret = auth->md5secret; md5secret = auth->md5secret;
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_DEBUG,"Using realm %s authentication for call %s\n", p->realm, p->callid); ast_log(LOG_DEBUG,"Using realm %s authentication for call %s\n", p->realm, p->callid);
} else { } else {
/* No authentication, use peer or register= config */ /* No authentication, use peer or register= config */
@ -9657,7 +9661,7 @@ static int handle_response_register(struct sip_pvt *p, int resp, char *rest, str
expires_ms -= MAX((expires_ms * EXPIRY_GUARD_PCT),EXPIRY_GUARD_MIN); expires_ms -= MAX((expires_ms * EXPIRY_GUARD_PCT),EXPIRY_GUARD_MIN);
else else
expires_ms -= EXPIRY_GUARD_SECS * 1000; expires_ms -= EXPIRY_GUARD_SECS * 1000;
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_NOTICE, "Outbound Registration: Expiry for %s is %d sec (Scheduling reregistration in %d s)\n", r->hostname, expires, expires_ms/1000); ast_log(LOG_NOTICE, "Outbound Registration: Expiry for %s is %d sec (Scheduling reregistration in %d s)\n", r->hostname, expires, expires_ms/1000);
r->refresh= (int) expires_ms / 1000; r->refresh= (int) expires_ms / 1000;
@ -10372,7 +10376,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
} }
} else { } else {
if (option_debug > 1 && sipdebug) if (option_debug > 1 && SIP_DEBUG)
ast_log(LOG_DEBUG, "Got a SIP re-invite for call %s\n", p->callid); ast_log(LOG_DEBUG, "Got a SIP re-invite for call %s\n", p->callid);
c = p->owner; c = p->owner;
} }
@ -10780,7 +10784,7 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req,
if (p->expiry > max_expiry) if (p->expiry > max_expiry)
p->expiry = max_expiry; p->expiry = max_expiry;
} }
if (sipdebug || option_debug > 1) if (SIP_DEBUG || option_debug > 1)
ast_log(LOG_DEBUG, "Adding subscription for extension %s context %s for peer %s\n", p->exten, p->context, p->username); ast_log(LOG_DEBUG, "Adding subscription for extension %s context %s for peer %s\n", p->exten, p->context, p->username);
if (p->autokillid > -1) if (p->autokillid > -1)
sip_cancel_destroy(p); /* Remove subscription expiry for renewals */ sip_cancel_destroy(p); /* Remove subscription expiry for renewals */
@ -11355,7 +11359,7 @@ static int sip_poke_peer(struct sip_peer *peer)
return 0; return 0;
} }
if (peer->call > 0) { if (peer->call > 0) {
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_NOTICE, "Still have a QUALIFY dialog active, deleting\n"); ast_log(LOG_NOTICE, "Still have a QUALIFY dialog active, deleting\n");
sip_destroy(peer->call); sip_destroy(peer->call);
} }
@ -11682,7 +11686,7 @@ static int add_sip_domain(const char *domain, const enum domain_mode mode, const
AST_LIST_INSERT_TAIL(&domain_list, d, list); AST_LIST_INSERT_TAIL(&domain_list, d, list);
AST_LIST_UNLOCK(&domain_list); AST_LIST_UNLOCK(&domain_list);
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_DEBUG, "Added local SIP domain '%s'\n", domain); ast_log(LOG_DEBUG, "Added local SIP domain '%s'\n", domain);
return 1; return 1;
@ -12252,7 +12256,7 @@ static int reload_config(void)
memset(&localaddr, 0, sizeof(localaddr)); memset(&localaddr, 0, sizeof(localaddr));
memset(&externip, 0, sizeof(externip)); memset(&externip, 0, sizeof(externip));
memset(&prefs, 0 , sizeof(prefs)); memset(&prefs, 0 , sizeof(prefs));
sipdebug &= ~SIP_DEBUG_CONFIG; ast_clear_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONFIG);
/* Initialize some reasonable defaults at SIP reload */ /* Initialize some reasonable defaults at SIP reload */
ast_copy_string(default_context, DEFAULT_CONTEXT, sizeof(default_context)); ast_copy_string(default_context, DEFAULT_CONTEXT, sizeof(default_context));
@ -12400,7 +12404,7 @@ static int reload_config(void)
default_expiry = DEFAULT_DEFAULT_EXPIRY; default_expiry = DEFAULT_DEFAULT_EXPIRY;
} else if (!strcasecmp(v->name, "sipdebug")) { } else if (!strcasecmp(v->name, "sipdebug")) {
if (ast_true(v->value)) if (ast_true(v->value))
sipdebug |= SIP_DEBUG_CONFIG; ast_set_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONFIG);
} else if (!strcasecmp(v->name, "dumphistory")) { } else if (!strcasecmp(v->name, "dumphistory")) {
dumphistory = ast_true(v->value); dumphistory = ast_true(v->value);
} else if (!strcasecmp(v->name, "recordhistory")) { } else if (!strcasecmp(v->name, "recordhistory")) {
@ -12770,7 +12774,7 @@ static int sip_addheader(struct ast_channel *chan, void *data)
int arglen; int arglen;
int no = 0; int no = 0;
int ok = 0; int ok = 0;
char *content = (char *) NULL; const char *content = (char *) NULL;
char varbuf[128]; char varbuf[128];
arglen = strlen(data); arglen = strlen(data);
@ -12791,7 +12795,7 @@ static int sip_addheader(struct ast_channel *chan, void *data)
} }
if (ok) { if (ok) {
pbx_builtin_setvar_helper (chan, varbuf, data); pbx_builtin_setvar_helper (chan, varbuf, data);
if (sipdebug) if (SIP_DEBUG)
ast_log(LOG_DEBUG,"SIP Header added \"%s\" as %s\n", (char *) data, varbuf); ast_log(LOG_DEBUG,"SIP Header added \"%s\" as %s\n", (char *) data, varbuf);
} else { } else {
ast_log(LOG_WARNING, "Too many SIP headers added, max 50\n"); ast_log(LOG_WARNING, "Too many SIP headers added, max 50\n");

Loading…
Cancel
Save