summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Rose <jrose@digium.com>2014-05-13 18:09:13 +0000
committerJonathan Rose <jrose@digium.com>2014-05-13 18:09:13 +0000
commite81b873fa2f23a277194722a00ec445127a68e57 (patch)
tree9317d38a48d05765de3f2b127f2af1ec0e9a202f
parent0eda637fc477e32df1346fa4e5fbf0fdce907c8e (diff)
chan_sip: Add TLS and SRTP status to CLI command 'sip show channel'
ASTERISK-23564 #close Reported by: Patrick Laimbock Review: https://reviewboard.asterisk.org/r/3474/ ........ Merged revisions 413876 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 413877 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@413878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-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);