diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 871133f17217ec6bba590e77cc560f0ce19e0531..0afcaf3ebd6ef4a451f75007bc7461c8fa742ef0 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9236,7 +9236,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ __sip_ack(p, seqno, 0, sipmethod); /* Get their tag if we haven't already */ - if (ast_strlen_zero(p->theirtag)) { + if (ast_strlen_zero(p->theirtag) || (resp >= 200)) { to = get_header(req, "To"); to = strcasestr(to, "tag="); if (to) {