summaryrefslogtreecommitdiff
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r--channels/chan_sip.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index d7d46f54a..f226b1c56 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -20147,7 +20147,11 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest
"Channel: %s\r\nChanneltype: %s\r\nUniqueid: %s\r\nSIPcallid: %s\r\nSIPfullcontact: %s\r\nPeername: %s\r\n",
p->owner->name, "SIP", p->owner->uniqueid, p->callid, p->fullcontact, p->peername);
} else { /* RE-invite */
- ast_queue_control(p->owner, AST_CONTROL_UPDATE_RTP_PEER);
+ if (p->t38.state == T38_DISABLED || p->t38.state == T38_REJECTED) {
+ ast_queue_control(p->owner, AST_CONTROL_UPDATE_RTP_PEER);
+ } else {
+ ast_queue_frame(p->owner, &ast_null_frame);
+ }
}
} else {
/* It's possible we're getting an 200 OK after we've tried to disconnect