summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--channels/chan_sip.c4
-rw-r--r--include/asterisk/netsock2.h11
-rw-r--r--main/netsock2.c18
3 files changed, 33 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 16a8a55e0..a9a13790c 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -21527,6 +21527,10 @@ static char *sip_show_channel(struct ast_cli_entry *e, int cmd, struct ast_cli_a
}
}
+ /* add transport and media types */
+ ast_cli(a->fd, " Transport: %s\n", ast_transport2str(cur->socket.type));
+ ast_cli(a->fd, " Media: %s\n", cur->srtp ? "SRTP" : cur->rtp ? "RTP" : "None");
+
ast_cli(a->fd, "\n\n");
found++;
diff --git a/include/asterisk/netsock2.h b/include/asterisk/netsock2.h
index b4513c604..2db8b8081 100644
--- a/include/asterisk/netsock2.h
+++ b/include/asterisk/netsock2.h
@@ -567,6 +567,17 @@ int ast_sockaddr_is_any(const struct ast_sockaddr *addr);
int ast_sockaddr_hash(const struct ast_sockaddr *addr);
/*!
+ * \since 12.3
+ *
+ * \brief
+ * Returns a string representation of an ast_transport
+ *
+ * \retval Name of the tranpsort if it is defined
+ * \retval Undefined if the transport is undefined
+ */
+const char *ast_transport2str(enum ast_transport transport);
+
+/*!
* \since 1.8
*
* \brief
diff --git a/main/netsock2.c b/main/netsock2.c
index bee88c2f8..bd682b17d 100644
--- a/main/netsock2.c
+++ b/main/netsock2.c
@@ -489,6 +489,24 @@ int ast_sockaddr_hash(const struct ast_sockaddr *addr)
}
}
+const char *ast_transport2str(enum ast_transport transport)
+{
+ switch (transport) {
+ case AST_TRANSPORT_TLS:
+ return "TLS";
+ case AST_TRANSPORT_UDP:
+ return "UDP";
+ case AST_TRANSPORT_TCP:
+ return "TCP";
+ case AST_TRANSPORT_WS:
+ return "WS";
+ case AST_TRANSPORT_WSS:
+ return "WSS";
+ }
+
+ return "Undefined";
+}
+
int ast_accept(int sockfd, struct ast_sockaddr *addr)
{
addr->len = sizeof(addr->ss);