diff --git a/channels/chan_sip.c b/channels/chan_sip.c index f87697f46a270972a656ad5946c59f0800f9a46f..4373a182177bfe66cf2aacbc1645bd758c3acabe 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2724,17 +2724,16 @@ static inline const char *get_transport_list(struct sip_peer *peer) { return "TCP"; case SIP_TRANSPORT_TLS: return "TLS"; + case SIP_TRANSPORT_UDP | SIP_TRANSPORT_TCP: + return "TCP,UDP"; + case SIP_TRANSPORT_UDP | SIP_TRANSPORT_TLS: + return "TLS,UDP"; + case SIP_TRANSPORT_TCP | SIP_TRANSPORT_TLS: + return "TLS,TCP"; + default: + return peer->transports ? + "TLS,TCP,UDP" : "UNKNOWN"; } - - if (peer->transports & (SIP_TRANSPORT_TLS | SIP_TRANSPORT_TCP)) - return "TLS,TCP"; - if (peer->transports & (SIP_TRANSPORT_TLS | SIP_TRANSPORT_UDP)) - return "TLS,UDP"; - if (peer->transports & (SIP_TRANSPORT_UDP | SIP_TRANSPORT_TCP)) - return "TCP,UDP"; - - return peer->transports ? - "TLS,TCP,UDP" : "UNKNOWN"; } static inline const char *get_transport(enum sip_transport t)