diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 0fcc579d6debc00cfbdc1ade3afbe7f6ba325ac1..61a981abe5ef36a5246f8f4c39cd94413c9564b7 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2770,11 +2770,12 @@ static int __sip_xmit(struct sip_pvt *p, struct ast_str *data, int len) if (res == -1) { switch (errno) { - case EBADF: /* Bad file descriptor - seems like this is generated when the host exist, but doesn't accept the UDP packet */ - case EHOSTUNREACH: /* Host can't be reached */ - case ENETDOWN: /* Interface down */ - case ENETUNREACH: /* Network failure */ - res = XMIT_ERROR; /* Don't bother with trying to transmit again */ + case EBADF: /* Bad file descriptor - seems like this is generated when the host exist, but doesn't accept the UDP packet */ + case EHOSTUNREACH: /* Host can't be reached */ + case ENETDOWN: /* Inteface down */ + case ENETUNREACH: /* Network failure */ + case ECONNREFUSED: /* ICMP port unreachable */ + res = XMIT_ERROR; /* Don't bother with trying to transmit again */ } } if (res != len)