Send 180 ringing even if we're going to send in-band if we're still in RING state...
authorMark Spencer <markster@digium.com>
Sun, 14 Nov 2004 14:54:54 +0000 (14:54 +0000)
committerMark Spencer <markster@digium.com>
Sun, 14 Nov 2004 14:54:54 +0000 (14:54 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4239 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 80ef568..8bda1dc 100755 (executable)
@@ -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;