From 61b70c7f36f17aa65aac7e9e163e11ef75a78ccb Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Sun, 14 Nov 2004 14:54:54 +0000
Subject: [PATCH] Send 180 ringing even if we're going to send in-band if we're
 still in RING state...

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 80ef568957..8bda1dc8df 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1900,13 +1900,16 @@ static int sip_indicate(struct ast_channel *ast, int condition)
 	switch(condition) {
 	case AST_CONTROL_RINGING:
 		if (ast->_state == AST_STATE_RING) {
+			/* Send 180 ringing no matter what */
+			transmit_response(p, "180 Ringing", &p->initreq);
 			if (!p->progress) {
-				transmit_response(p, "180 Ringing", &p->initreq);
 				p->ringing = 1;
 				if (!p->progressinband)
 					break;
 			} else {
-				/* Oops, we've sent progress tones.  Let Asterisk do it instead */
+				/* Oops, we've sent progress tones.  Some devices don't seem to
+				   handle a 180 after a 183, so we'll go ahead and send the
+				   ringback in-band, too. */
 			}
 		}
 		return -1;
-- 
GitLab