From: Mark Spencer Date: Tue, 8 Apr 2003 21:50:32 +0000 (+0000) Subject: Send empty voice frame on 183 session progress X-Git-Tag: 0.4.0~51 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6978d58552fb01ee227bb43cf17774e627e03a97;p=thirdparty%2Fasterisk.git Send empty voice frame on 183 session progress git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@787 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 5ee2eadad9..ad096208ab 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3741,9 +3741,17 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ case 100: break; case 183: /* We don't really need this since we pass in-band audio anyway */ - /* Not important */ - if (strlen(get_header(req, "Content-Type"))) - process_sdp(p, req); + { + /* Send back an empty audio frame to get things moving, (like in the case of + back-to-back 183's, getting audio */ + if (strlen(get_header(req, "Content-Type"))) + process_sdp(p, req); + if (p->owner && p->owner->pvt) { + struct ast_frame af = { AST_FRAME_VOICE, }; + af.subclass = p->owner->pvt->rawreadformat; + ast_queue_frame(p->owner, &af, 0); + } + } break; case 180: if (p->owner) {