chan_sip: Revert r398835 due to failing tests involving originate
authorJonathan Rose <jrose@digium.com>
Thu, 12 Sep 2013 20:27:56 +0000 (20:27 +0000)
committerJonathan Rose <jrose@digium.com>
Thu, 12 Sep 2013 20:27:56 +0000 (20:27 +0000)
(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

channels/chan_sip.c
channels/sip/include/sip.h

index 4210322..bec53b7 100644 (file)
@@ -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_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) {
@@ -24209,11 +24200,7 @@ static void handle_response(struct sip_pvt *p, int resp, const char *rest, struc
 
                gettag(req, "To", tag, sizeof(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,
           not mandatory for all communication. Sadly enough, NAT implementations
           are not so stable so we can always rely on these headers.
index 342c87b..c0704ec 100644 (file)
@@ -1019,7 +1019,6 @@ struct sip_pvt {
                AST_STRING_FIELD(rdnis);        /*!< Referring DNIS */
                AST_STRING_FIELD(redircause);   /*!< Referring cause */
                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(username);     /*!< [user] name */
                AST_STRING_FIELD(peername);     /*!< [peer] name, not set if [user] */