chan_sip: Revert r398835 due to failing tests involving originate

(issue ASTERISK-22424)
Reported by: Jonathan Rose
........

Merged revisions 398977 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 398986 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 398991 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/97/197/1
Jonathan Rose 12 years ago
parent 5be186d7c5
commit 039030f245

@ -23250,15 +23250,6 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest
ast_set_flag(&p->flags[0], SIP_PENDINGBYE); ast_set_flag(&p->flags[0], SIP_PENDINGBYE);
} }
ast_rtp_instance_activate(p->rtp); ast_rtp_instance_activate(p->rtp);
} else if (!reinvite) {
struct ast_sockaddr remote_address = {{0,}};
ast_rtp_instance_get_remote_address(p->rtp, &remote_address);
if (ast_sockaddr_isnull(&remote_address) || (!ast_strlen_zero(p->theirprovtag) && strcmp(p->theirtag, p->theirprovtag))) {
ast_log(LOG_WARNING, "Received response: \"200 OK\" from '%s' without SDP\n", p->relatedpeer->name);
ast_set_flag(&p->flags[0], SIP_PENDINGBYE);
ast_rtp_instance_activate(p->rtp);
}
} }
if (!req->ignore && p->owner) { if (!req->ignore && p->owner) {
@ -24209,11 +24200,7 @@ static void handle_response(struct sip_pvt *p, int resp, const char *rest, struc
gettag(req, "To", tag, sizeof(tag)); gettag(req, "To", tag, sizeof(tag));
ast_string_field_set(p, theirtag, tag); ast_string_field_set(p, theirtag, tag);
} else {
/* Store theirtag to track for changes when 200 responses to invites are received without SDP */
ast_string_field_set(p, theirprovtag, p->theirtag);
} }
/* This needs to be configurable on a channel/peer level, /* This needs to be configurable on a channel/peer level,
not mandatory for all communication. Sadly enough, NAT implementations not mandatory for all communication. Sadly enough, NAT implementations
are not so stable so we can always rely on these headers. are not so stable so we can always rely on these headers.

@ -1019,7 +1019,6 @@ struct sip_pvt {
AST_STRING_FIELD(rdnis); /*!< Referring DNIS */ AST_STRING_FIELD(rdnis); /*!< Referring DNIS */
AST_STRING_FIELD(redircause); /*!< Referring cause */ AST_STRING_FIELD(redircause); /*!< Referring cause */
AST_STRING_FIELD(theirtag); /*!< Their tag */ AST_STRING_FIELD(theirtag); /*!< Their tag */
AST_STRING_FIELD(theirprovtag); /*!< Provisional their tag, used when evaluating responses to invites */
AST_STRING_FIELD(tag); /*!< Our tag for this session */ AST_STRING_FIELD(tag); /*!< Our tag for this session */
AST_STRING_FIELD(username); /*!< [user] name */ AST_STRING_FIELD(username); /*!< [user] name */
AST_STRING_FIELD(peername); /*!< [peer] name, not set if [user] */ AST_STRING_FIELD(peername); /*!< [peer] name, not set if [user] */

Loading…
Cancel
Save