[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
-------------------------------------------------