< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] PRACK is not completely supported on the sever side?


hi,
  When I try to suport PRACK on the server side . an assert failure
occured, Does it means that the PRACK method is not completely
supported on the server side?
  the call flow is as following:

Client                           Server
    F1:INVITE(offer),support
       100rel
|--------------------------------->|
|   F2:180 Ring                   |
|<---------------------------------|
|   F3:200 OK (answer)     |
|<---------------------------------|
|.............

   When the server receive an Invite request from client,the state of
ServerInviteSession
will change to UAS_OfferReliable, so after I call the provisional() method.
 An assert failure occured.The code on the server side is like this:
---------------------------------------------
    onNewSession(ServerInviteSessionHandle sis,
InviteSession::OfferAnswerType oat, const SipMessage& msg)
    {
       InfoLog( << name << ": ServerInviteSession-onNewSession - " <<
msg.brief() );
       InfoLog( << name << ": Sending 180 response." );
       sis->provisional(180);
    }
---------------------------------------------

and the Invite message from client is as follows:
-------------------------------------------------
INVITE sip:UAS@xxxxxxxxx:12010 SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-d87543-8832e6776b6ece3f-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:UAC>
To: <sip:UAS@xxxxxxxxx:12010>
From: <sip:UAC@xxxxxxxxx:1205>;tag=774fd977
Call-ID: 1962505c63106b55@Q1ZUMDcwNDA4RDAuc2JlbGwuY29tLmNu
CSeq: 1 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
Content-Type: application/sdp
Supported: 100rel
Content-Length: 266

v=0
o=1900 369696545 369696545 IN IP4 192.168.2.15
s=X-Lite
c=IN IP4 192.168.2.15
t=0 0
m=audio 8000 RTP/AVP 8 3 98 97 101
a=fmtp:101 0-15
a=rtpmap:8 pcma/8000
a=rtpmap:3 gsm/8000
a=rtpmap:98 iLBC
a=rtpmap:97 speex/8000
a=rtpmap:101 telephone-event/8000
-------------------------------------------------