diff options
author | Jonathan Rose <jrose@digium.com> | 2014-05-13 18:09:13 +0000 |
---|---|---|
committer | Jonathan Rose <jrose@digium.com> | 2014-05-13 18:09:13 +0000 |
commit | e81b873fa2f23a277194722a00ec445127a68e57 (patch) | |
tree | 9317d38a48d05765de3f2b127f2af1ec0e9a202f | |
parent | 0eda637fc477e32df1346fa4e5fbf0fdce907c8e (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.c | 4 | ||||
-rw-r--r-- | include/asterisk/netsock2.h | 11 | ||||
-rw-r--r-- | main/netsock2.c | 18 |
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); |