Juha Heinanen writes:

> There was two commits to AmOffer.cpp by you in November:
> 
> http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sems;a=commitdiff;h=ced657404e04879aa3af3e09d5d7316d4dfc8aac
> 
> http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sems;a=commitdiff;h=2c1668471ee91ccab92da63d26dc1f96b3bf3acb
> 
> Would it be possible that they affected processing of 200 ok when 183
> was received earlier?  Now it appears that 200 ok does not anymore start
> a session if 183 was received before it.

i reverted those two, but it didn't help.  i got session started in the
case when 200 ok (with sdp) is received after earlier 183 (with sdp) by
commenting lines out from AmOfferAnswer.cpp:

int AmOfferAnswer::onReplyIn(const AmSipReply& reply) {
  const char* err_txt  = NULL;
  int         err_code = 0;          
                                                                      
  if((reply.cseq_method == SIP_METH_INVITE ||
      reply.cseq_method == SIP_METH_UPDATE ||
      reply.cseq_method == SIP_METH_PRACK) &&
     !reply.body.empty() ) {

    const AmMimeBody* sdp_body = reply.body.hasContentType(SIP_APPLICATION_SDP);
    if(sdp_body) {

        /*      if(((state == OA_Completed) ||
          (state == OA_OfferRecved)) &&
         (reply.cseq == cseq)) {

        DBG("ignoring subsequent SDP reply within the same transaction\n");
        DBG("this usually happens when 183 and 200 have SDP\n");
      }                                                
      else {
        */  
        saveState();         
        err_code = onRxSdp(reply.cseq,reply.body,&err_txt);
        checkStateChange();
        /*      } */
    }
  }

that is saveState(); ... is always executed if SDP has body.

most likely that is not correct hack but at least it avoids the 200 ok
being totally ignored as it currently is.  perhaps a correct fix would
be just to ignore the sdp of 200 ok, not the whole 200 ok.

i would appreciate if someone who has a glue would properly fix this
problem.

-- juha
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to