Exemplo n.º 1
0
void WaitingFor200OkWithAnswerForPrack::SuccessfulResponse( DialogTracker& impl, SipMessage& response, const char* address, int port ) const
{
   int seqNum;
   UtlString seqMethod;
   
   if( response.getCSeqField( &seqNum, &seqMethod ) )
   {
      if( seqMethod.compareTo( SIP_PRACK_METHOD ) == 0 )
      {
         impl.ProcessMediaAnswer( response, NON_INITIAL_OFFER_ANSWER );
         impl.modifyNonIntialOfferAnswerExchangeDoneFlag( true );
         ChangeState( impl, impl.pWaitingFor200OkforInvite );
      }
      else
      {
         OsSysLog::add(FAC_NAT,PRI_DEBUG,"'%s:%s' - Received unexpected successful response for %s request",
               impl.name(), impl.GetCurrentState()->name(), seqMethod.data() );    
      }
   }
}
Exemplo n.º 2
0
void WaitingFor200OkWithAnswerForPrack::SuccessfulResponse( DialogTracker& impl, SipMessage& response, const char* address, int port ) const
{
   int seqNum;
   UtlString seqMethod;

   if( response.getCSeqField( &seqNum, &seqMethod ) )
   {
      if( seqMethod.compareTo( SIP_PRACK_METHOD ) == 0 )
      {
         impl.ProcessMediaAnswer( response, NON_INITIAL_OFFER_ANSWER );
         impl.modifyNonIntialOfferAnswerExchangeDoneFlag( true );
         ChangeState( impl, impl.pProcessingPrackWaitingForAckforInvite );
      }
      else
      {
         // Not interesting for us but our parent class provides some handling for
         // other successful responses.
         ProcessingPrack::SuccessfulResponse( impl, response, address, port );
      }
   }
}
Exemplo n.º 3
0
void WaitingForInvite::DoEntryAction( DialogTracker& impl ) const
{
   impl.modifyNonIntialOfferAnswerExchangeDoneFlag( false );
}