diff --git a/channels/chan_sip.c b/channels/chan_sip.c index e8890ebbe865776dd06f598272a2e3fc286bc1e3..f972a5c517f40eee8bb6f41d9a3425af5d6d8cac 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12461,6 +12461,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ } /* Fall through */ case 503: /* Service Unavailable */ + case 504: /* Server Timeout */ if (owner) ast_queue_control(p->owner, AST_CONTROL_CONGESTION); break; @@ -12587,6 +12588,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ case 603: /* Decline */ case 500: /* Server error */ case 503: /* Service Unavailable */ + case 504: /* Server timeout */ if (sipmethod == SIP_INVITE) { /* re-invite failed */ sip_cancel_destroy(p);