aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-14 14:54:54 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-14 14:54:54 +0000
commit65d1490a0c1db4a2f6fd2ef7b9fcc78f6ce8e61f (patch)
tree21e5bb21930aa43c3a815c512d5985c9e8549a7a /channels
parent85a72bc5f75933eb7a3c894d5b3a92299ae66162 (diff)
Send 180 ringing even if we're going to send in-band if we're still in RING state...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4239 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 80ef56895..8bda1dc8d 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;