bigbluebutton-Github/build/packages-template/bbb-freeswitch-core/log-fix.patch
2021-08-13 12:53:18 +02:00

214 lines
8.0 KiB
Diff

diff --git a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c
index 9b2e295..572f5f7 100644
--- a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c
+++ b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c
@@ -7841,6 +7841,8 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
tagi_t const *t;
tport_t *override_tport = NULL;
+ SU_DEBUG_1(("nta: outgoing_create: ======= START ========= \n" VA_NONE));
+
if (!agent->sa_tport_ip6)
res_order = nta_res_ip4_only;
else if (!agent->sa_tport_ip4)
@@ -7935,6 +7937,8 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
if (cc)
orq->orq_cc = nta_compartment_ref(cc);
+ SU_DEBUG_3(("nta: outgoing_create: outgoing_features\n" VA_NONE));
+
/* Add supported features */
outgoing_features(agent, orq, msg, sip, ta_args(ta));
@@ -8014,7 +8018,10 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
orq->orq_branch = branch;
orq->orq_via_branch = branch;
+ SU_DEBUG_3(("nta: outgoing_create: orq_method\n" VA_NONE));
+
if (orq->orq_method == sip_method_ack) {
+ SU_DEBUG_3(("nta: outgoing_create: orq_method == sip_method_ack \n" VA_NONE));
/* Find the original INVITE which we are ACKing */
if (ack_branch != NULL && ack_branch != NONE) {
if (su_casenmatch(ack_branch, "branch=", 7))
@@ -8046,7 +8053,7 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
}
}
else {
- SU_DEBUG_1(("outgoing_create: ACK without INVITE\n" VA_NONE));
+ SU_DEBUG_1(("nta: outgoing_create: ACK without INVITE\n" VA_NONE));
assert(!"INVITE found for ACK");
}
}
@@ -8062,13 +8069,15 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
orq->orq_sips = su_casematch(scheme, "sips");
if (invalid < 0 || !orq->orq_branch || msg_serialize(msg, (void *)sip) < 0) {
- SU_DEBUG_3(("nta outgoing create: %s\n",
+ SU_DEBUG_3(("nta: outgoing_create: %s\n",
invalid < 0 ? "invalid URI" :
!orq->orq_branch ? "no branch" : "invalid message"));
outgoing_free(orq);
return NULL;
}
+ SU_DEBUG_1(("nta: outgoing_create: committed in sending the transaction \n" VA_NONE));
+
/* Now we are committed in sending the transaction */
orq->orq_request = msg;
agent->sa_stats->as_client_tr++;
@@ -8098,10 +8107,19 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
return retval;
}
+ SU_DEBUG_1(("nta: outgoing_create:checking orq_queue \n" VA_NONE));
+
+ if (!orq->orq_queue)
+ SU_DEBUG_5(("nta: outgoing_create: orq->orq_queue NULL.\n" VA_NONE));
+ else
+ SU_DEBUG_5(("nta: outgoing_create: orq->orq_queue NOT NULL.\n" VA_NONE));
+
assert(orq->orq_queue);
outgoing_insert(agent, orq);
+ SU_DEBUG_1(("nta: outgoing_create: ======= END ========= \n" VA_NONE));
+
return orq;
}
@@ -8604,6 +8622,11 @@ outgoing_queue_adjust(nta_agent_t *sa,
su_inline int
outgoing_is_queued(nta_outgoing_t const *orq)
{
+ if (!orq->orq_queue)
+ SU_DEBUG_5(("outgoing_is_queued: orq->orq_queue is NULL.\n" VA_NONE));
+ else
+ SU_DEBUG_5(("outgoing_is_queued: orq->orq_queue is NOT NULL.\n" VA_NONE));
+
return orq && orq->orq_queue;
}
@@ -8618,6 +8641,7 @@ outgoing_queue(outgoing_queue_t *queue,
nta_outgoing_t *orq)
{
if (orq->orq_queue == queue) {
+ SU_DEBUG_5(("outgoing_queue: orq->orq_queue == queue.\n" VA_NONE));
//assert(queue->q_timeout == 0);
return;
}
@@ -8629,6 +8653,8 @@ outgoing_queue(outgoing_queue_t *queue,
orq->orq_timeout = set_timeout(orq->orq_agent, queue->q_timeout);
+ SU_DEBUG_5(("outgoing_queue: orq->orq_queue = queue.\n" VA_NONE));
+
orq->orq_queue = queue;
orq->orq_prev = queue->q_tail;
*queue->q_tail = orq;
@@ -8642,14 +8668,19 @@ outgoing_queue(outgoing_queue_t *queue,
su_inline
void outgoing_remove(nta_outgoing_t *orq)
{
+ SU_DEBUG_5(("outgoing_remove: orq->orq_queue = queue.\n" VA_NONE));
assert(outgoing_is_queued(orq));
assert(orq->orq_queue->q_length > 0);
+ SU_DEBUG_5(("outgoing_remove: orq->orq_queue queued and gt 0 \n" VA_NONE));
+
if ((*orq->orq_prev = orq->orq_next))
orq->orq_next->orq_prev = orq->orq_prev;
else
orq->orq_queue->q_tail = orq->orq_prev;
+ SU_DEBUG_5(("outgoing_remove: orq->orq_queue NULLing \n" VA_NONE));
+
orq->orq_queue->q_length--;
orq->orq_next = NULL;
orq->orq_prev = NULL;
@@ -9077,10 +9108,15 @@ outgoing_complete(nta_outgoing_t *orq)
}
if (orq->orq_method == sip_method_invite) {
- if (orq->orq_queue != orq->orq_agent->sa_out.inv_completed)
+ SU_DEBUG_5(("outgoing_complete: orq->orq_method == sip_method_invite \n" VA_NONE));
+
+ if (orq->orq_queue != orq->orq_agent->sa_out.inv_completed) {
+ SU_DEBUG_5(("outgoing_complete: orq->orq_queue != orq->orq_agent->sa_out.inv_completed \n" VA_NONE));
outgoing_queue(orq->orq_agent->sa_out.inv_completed, orq); /* Timer D */
+ }
}
else {
+ SU_DEBUG_5(("outgoing_complete: orq->orq_agent->sa_out.completed \n" VA_NONE));
outgoing_queue(orq->orq_agent->sa_out.completed, orq); /* Timer K */
}
@@ -9383,9 +9419,11 @@ int outgoing_recv(nta_outgoing_t *_orq,
orq->orq_status = status;
if (original->orq_queue == sa->sa_out.inv_calling) {
+ SU_DEBUG_5(("outgoing_recv: original->orq_queue == sa->sa_out.inv_calling.\n" VA_NONE));
outgoing_queue(sa->sa_out.inv_proceeding, original);
}
else if (original->orq_queue == sa->sa_out.inv_proceeding) {
+ SU_DEBUG_5(("outgoing_recv: original->orq_queue == sa->sa_out.inv_proceeding \n" VA_NONE));
if (sa->sa_out.inv_proceeding->q_timeout) {
outgoing_remove(original);
outgoing_queue(sa->sa_out.inv_proceeding, original);
@@ -9442,6 +9480,7 @@ int outgoing_recv(nta_outgoing_t *_orq,
/* Non-INVITE */
if (orq->orq_queue == sa->sa_out.trying ||
orq->orq_queue == sa->sa_out.resolving) {
+ SU_DEBUG_5(("outgoing_recv: sa->sa_out.trying || sa->sa_out.resolving\n" VA_NONE));
/* hacked by freeswitch, this is being hit by options 404 status with 404 orq->orq_status and orq_destroyed = 1, orq_completed = 1 */
/* assert(orq->orq_status < 200); */
if (orq->orq_status >= 200) {msg_destroy(msg); return 0;}
@@ -9468,6 +9507,7 @@ int outgoing_recv(nta_outgoing_t *_orq,
}
}
else {
+ SU_DEBUG_5(("outgoing_recv: Already completed or terminated \n" VA_NONE));
/* Already completed or terminated */
assert(orq->orq_queue == sa->sa_out.completed ||
orq->orq_queue == sa->sa_out.terminated);
@@ -9752,8 +9792,10 @@ int outgoing_reply(nta_outgoing_t *orq, int status, char const *phrase,
SU_DEBUG_3(("nta(%p): responding %u %s to ACK!\n",
(void *)orq, status, phrase));
orq->orq_status = status;
- if (orq->orq_queue == NULL)
+ if (orq->orq_queue == NULL) {
+ SU_DEBUG_5(("outgoing_reply: orq->orq_queue == NULL.\n" VA_NONE));
outgoing_trying(orq); /* Timer F */
+ }
return 0;
}
@@ -9768,8 +9810,10 @@ int outgoing_reply(nta_outgoing_t *orq, int status, char const *phrase,
;
else if (orq->orq_queue == NULL ||
orq->orq_queue == orq->orq_agent->sa_out.resolving ||
- orq->orq_queue == orq->orq_agent->sa_out.delayed)
+ orq->orq_queue == orq->orq_agent->sa_out.delayed) {
+ SU_DEBUG_5(("outgoing_reply: orq->orq_queue == NULL || sa_out.resolving || sa_out.delayed.\n" VA_NONE));
outgoing_trying(orq);
+ }
/** Insert a dummy Via header */
if (!orq->orq_prepared) {
diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_ws.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_ws.c
index 7e1dc76..8b27378 100644
--- a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_ws.c
+++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_ws.c
@@ -328,8 +328,8 @@ ssize_t tport_send_stream_ws(tport_t const *self, msg_t *msg,
if (wrote < 0) {
int err = su_errno();
- SU_DEBUG_3(("ws_write_frame: %s\n", strerror(err)));
- size = wrote;
+ SU_DEBUG_3(("ws_write_frame: %s (%ld, %s, wstp_buflen: %ld)\n", strerror(err), (long)wrote, ((wstp->ws.down) ? "DOWN" : "NOT_DOWN"), (long)wstp->wstp_buflen));
+ return -1;
} else {
size = wstp->wstp_buflen;