mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-27 16:07:15 -07:00
Don't stop RTP on errors on INFO messages.
Disclaimer: This patch was needed for Edvina AstHoloApp and was meant to be included in 1.2, but never made it in time so I felt I could add it now. No, just joking, patching error found while testing T.140 with Omnitor earlier this spring. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@61663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
+11
-8
@@ -10201,13 +10201,15 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
|
||||
if ((resp >= 300) && (resp < 700)) {
|
||||
if ((option_verbose > 2) && (resp != 487))
|
||||
ast_verbose(VERBOSE_PREFIX_3 "Got SIP response %d \"%s\" back from %s\n", resp, rest, ast_inet_ntoa(iabuf, sizeof(iabuf), p->sa.sin_addr));
|
||||
if (p->rtp) {
|
||||
/* Immediately stop RTP */
|
||||
ast_rtp_stop(p->rtp);
|
||||
}
|
||||
if (p->vrtp) {
|
||||
/* Immediately stop VRTP */
|
||||
ast_rtp_stop(p->vrtp);
|
||||
if (sipmethod == SIP_INVITE) {
|
||||
if (p->rtp) {
|
||||
/* Immediately stop RTP */
|
||||
ast_rtp_stop(p->rtp);
|
||||
}
|
||||
if (p->vrtp) {
|
||||
/* Immediately stop VRTP */
|
||||
ast_rtp_stop(p->vrtp);
|
||||
}
|
||||
}
|
||||
/* XXX Locking issues?? XXX */
|
||||
switch(resp) {
|
||||
@@ -10251,7 +10253,8 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
|
||||
/* ACK on invite */
|
||||
if (sipmethod == SIP_INVITE)
|
||||
transmit_request(p, SIP_ACK, seqno, 0, 0);
|
||||
ast_set_flag(p, SIP_ALREADYGONE);
|
||||
if (sipmethod != SIP_MESSAGE && sipmethod != SIP_INFO)
|
||||
ast_set_flag(p, SIP_ALREADYGONE);
|
||||
if (!p->owner)
|
||||
ast_set_flag(p, SIP_NEEDDESTROY);
|
||||
} else if ((resp >= 100) && (resp < 200)) {
|
||||
|
||||
Reference in New Issue
Block a user