Changeset 3208


Ignore:
Timestamp:
Jun 16, 2010 3:26:18 PM (14 years ago)
Author:
nanang
Message:

Fix #1045:

  • Fixed invite module to reset SDP negotiator state after incomplete SDP offer-answer in re-INVITE/UPDATE.
  • Added some SIPp test scenarios.
Location:
pjproject/trunk
Files:
6 added
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip-ua/sip_inv.c

    r3190 r3208  
    459459            if (inv->state < PJSIP_INV_STATE_DISCONNECTED) { 
    460460                inv_check_sdp_in_incoming_msg(inv, inv->invite_tsx, rdata); 
     461 
     462                /* Check if local offer got no SDP answer and INVITE session 
     463                 * is in CONFIRMED state. 
     464                 */ 
     465                if (pjmedia_sdp_neg_get_state(inv->neg)== 
     466                    PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER && 
     467                    inv->state==PJSIP_INV_STATE_CONFIRMED) 
     468                { 
     469                    pjmedia_sdp_neg_cancel_offer(inv->neg); 
     470                } 
    461471            } 
    462472 
     
    39763986                inv_check_sdp_in_incoming_msg(inv, tsx, 
    39773987                                              e->body.tsx_state.src.rdata); 
     3988 
     3989                /* Check if local offer got no SDP answer */ 
     3990                if (pjmedia_sdp_neg_get_state(inv->neg)== 
     3991                    PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER) 
     3992                { 
     3993                    pjmedia_sdp_neg_cancel_offer(inv->neg); 
     3994                } 
    39783995            } 
    39793996 
     
    40134030            inv_check_sdp_in_incoming_msg(inv, tsx,  
    40144031                                          e->body.tsx_state.src.rdata); 
     4032 
     4033            /* Check if local offer got no SDP answer */ 
     4034            if (pjmedia_sdp_neg_get_state(inv->neg)== 
     4035                PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER) 
     4036            { 
     4037                pjmedia_sdp_neg_cancel_offer(inv->neg); 
     4038            } 
    40154039 
    40164040            /* Send ACK */ 
Note: See TracChangeset for help on using the changeset viewer.