summaryrefslogtreecommitdiff
path: root/res/res_pjsip_t38.c
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2015-11-20 21:07:27 -0600
committerMatt Jordan <mjordan@digium.com>2015-11-21 08:50:53 -0600
commit2b94d9a10d5001ddb2c6a9aee4b66ee92ec3a3c8 (patch)
treeb7bbd2c27405ffaea22defe43de06d92fbae76d2 /res/res_pjsip_t38.c
parent6fcd361540a2b38724d5f49bd193d97f5522616c (diff)
res/res_pjsip_t38: Add debug statements
This patch adds some debug statements to res_pjsip_t38. These statements help to determine which SDP negotiation callbacks are being executed, and, when a particular callback exits, why a callback may not have applied its logic to the local or remote SDP. Change-Id: I61b3fb9183b7ebbb5da8e9f48b59a5d9d7042d77
Diffstat (limited to 'res/res_pjsip_t38.c')
-rw-r--r--res/res_pjsip_t38.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/res/res_pjsip_t38.c b/res/res_pjsip_t38.c
index c867f7f21..0db2e5c37 100644
--- a/res/res_pjsip_t38.c
+++ b/res/res_pjsip_t38.c
@@ -264,6 +264,7 @@ static int t38_initialize_session(struct ast_sip_session *session, struct ast_si
ast_udptl_set_error_correction_scheme(session_media->udptl, session->endpoint->media.t38.error_correction);
ast_udptl_setnat(session_media->udptl, session->endpoint->media.t38.nat);
ast_udptl_set_far_max_datagram(session_media->udptl, session->endpoint->media.t38.maxdatagram);
+ ast_debug(3, "UDPTL initialized on session for %s\n", ast_channel_name(session->channel));
return 0;
}
@@ -630,10 +631,12 @@ static enum ast_sip_session_sdp_stream_defer defer_incoming_sdp_stream(
struct t38_state *state;
if (!session->endpoint->media.t38.enabled) {
+ ast_debug(3, "Not deferring incoming SDP stream: T.38 not enabled on %s\n", ast_channel_name(session->channel));
return AST_SIP_SESSION_SDP_DEFER_NOT_HANDLED;
}
if (t38_initialize_session(session, session_media)) {
+ ast_debug(3, "Not deferring incoming SDP stream: Failed to initialize UDPTL on %s\n", ast_channel_name(session->channel));
return AST_SIP_SESSION_SDP_DEFER_ERROR;
}
@@ -646,6 +649,7 @@ static enum ast_sip_session_sdp_stream_defer defer_incoming_sdp_stream(
/* If they are initiating the re-invite we need to defer responding until later */
if (session->t38state == T38_DISABLED) {
t38_change_state(session, session_media, state, T38_PEER_REINVITE);
+ ast_debug(3, "Deferring incoming SDP stream on %s for peer re-invite\n", ast_channel_name(session->channel));
return AST_SIP_SESSION_SDP_DEFER_NEEDED;
}
@@ -661,6 +665,7 @@ static int negotiate_incoming_sdp_stream(struct ast_sip_session *session, struct
RAII_VAR(struct ast_sockaddr *, addrs, NULL, ast_free);
if (!session->endpoint->media.t38.enabled) {
+ ast_debug(3, "Declining; T.38 not enabled on session\n");
return -1;
}
@@ -669,6 +674,7 @@ static int negotiate_incoming_sdp_stream(struct ast_sip_session *session, struct
}
if ((session->t38state == T38_REJECTED) || (session->t38state == T38_DISABLED)) {
+ ast_debug(3, "Declining; T.38 state is rejected or declined\n");
t38_change_state(session, session_media, state, T38_DISABLED);
return -1;
}
@@ -678,6 +684,7 @@ static int negotiate_incoming_sdp_stream(struct ast_sip_session *session, struct
/* Ensure that the address provided is valid */
if (ast_sockaddr_resolve(&addrs, host, PARSE_PORT_FORBID, AST_AF_INET) <= 0) {
/* The provided host was actually invalid so we error out this negotiation */
+ ast_debug(3, "Declining; provided host is invalid\n");
return -1;
}
@@ -685,6 +692,7 @@ static int negotiate_incoming_sdp_stream(struct ast_sip_session *session, struct
if ((ast_sockaddr_is_ipv6(addrs) && !session->endpoint->media.t38.ipv6) ||
(ast_sockaddr_is_ipv4(addrs) && session->endpoint->media.t38.ipv6)) {
/* The address does not match configured */
+ ast_debug(3, "Declining, provided host does not match configured address family\n");
return -1;
}
@@ -713,13 +721,16 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
pj_str_t stmp;
if (!session->endpoint->media.t38.enabled) {
+ ast_debug(3, "Not creating outgoing SDP stream: T.38 not enabled\n");
return 1;
} else if ((session->t38state != T38_LOCAL_REINVITE) && (session->t38state != T38_PEER_REINVITE) &&
(session->t38state != T38_ENABLED)) {
+ ast_debug(3, "Not creating outgoing SDP stream: T.38 not enabled\n");
return 1;
} else if (!(state = t38_state_get_or_alloc(session))) {
return -1;
} else if (t38_initialize_session(session, session_media)) {
+ ast_debug(3, "Not creating outgoing SDP stream: Failed to initialize T.38 session\n");
return -1;
}
@@ -738,6 +749,7 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
}
if (ast_strlen_zero(hostip)) {
+ ast_debug(3, "Not creating outgoing SDP stream: no known host IP\n");
return -1;
}
@@ -805,6 +817,7 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session, struct a
struct t38_state *state;
if (!session_media->udptl) {
+ ast_debug(3, "Not applying negotiated SDP stream: no UDTPL session\n");
return 0;
}
@@ -817,6 +830,7 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session, struct a
/* Ensure that the address provided is valid */
if (ast_sockaddr_resolve(&addrs, host, PARSE_PORT_FORBID, AST_AF_UNSPEC) <= 0) {
/* The provided host was actually invalid so we error out this negotiation */
+ ast_debug(3, "Not applying negotiated SDP stream: failed to resolve remote stream host\n");
return -1;
}