summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-10-22 13:24:00 +0000
committerMark Spencer <markster@digium.com>2004-10-22 13:24:00 +0000
commit28e37def56b958335db965e94f71a20ed11b6669 (patch)
treebb57cfa65bdb6c5b813e6836c0f0388aa5d8f893 /channels
parent3c8a994aed5b1676b0d8a7ee58c8d284ef5bcb7a (diff)
Fixed in CVS head.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 8c58d20d8..f70cd75f0 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -6824,9 +6824,14 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
if (!p->owner)
p->needdestroy = 1;
} else if ((resp >= 100) && (resp < 200)) {
- /* Unknown 1xx repsonses should be treated as 100 */
if (!strcasecmp(msg, "INVITE")) {
sip_cancel_destroy(p);
+ if (!ast_strlen_zero(get_header(req, "Content-Type")))
+ process_sdp(p, req);
+ if (p->owner) {
+ /* Queue a progress frame */
+ ast_queue_control(p->owner, AST_CONTROL_PROGRESS);
+ }
}
} else
ast_log(LOG_NOTICE, "Dunno anything about a %d %s response from %s\n", resp, rest, p->owner ? p->owner->name : ast_inet_ntoa(iabuf, sizeof(iabuf), p->sa.sin_addr));