< Previous by Date | Date Index | Next by Date > |
Thread Index |
Hi Scott,Sorry for addressing you directly and not through the resiprocate mailing list, but no one did reply.But, we do have this burning issue and we need an advice on the subject.Referring to rfc6338, we think that the UAC should ignore any included sdp in the 2xx response(F12)In method ClientInviteSession::dispatchEarlyWithAnswer, we suggest something like this: case On2xxOffer:{if (*offerAnswer == *mCurrentRemoteOfferAnswer){InfoLog (<< "Ignoring illegal offer identical with current remote offer/answer");}else{InfoLog (<< "Ignoring illegal offer identical with current remote offer/answer" << msg.brief());}transition(Connected);sendAck();handleFinalResponse(msg); onConnectedAspect(getHandle(), msg); break;}Thanks in advanceBR/JanneDen torsdag, 26 oktober 2017 11:10 skrev Jan Granqvist <jan_granqvist@xxxxxxxxx>:
Hi all,I have an interop issue towards a sip trunk which requires PRACK.The problem is triggered by the fact that the sip trunk includes a slightly modified sdp in the finalresponse.That is:UAC UAS(Sip trunk)|------------------INVITE(sdpA)-------------->| |<------------------100 Trying----------------||<----------183 Session Progress(sdpB)--------||--------------------PRACK------------------->| |<------------------200 OK--------------------||<---------------180 Ringing(sdpB)------------||--------------------PRACK(sdpA)------------->| |<------------------200 OK(sdpB)--------------||<------------------200 OK(sdpB')-------------| <-- offending sdpThe difference within the sdpB' is that the sip trunk increased its version id.This sdpB' is considered a new offer(ClientInviteSession::dispatchEarlyWithAnswer) and had it not been for the increased version id, DUM would have allowed theoffer(although disregard it) and allowed the connection.I don't know why the SIP trunk keeps increasing the version id.In rfc6337 at the end of section 3.1.1, I found the following:The UAS does not include SDP in responses F9 and F12. However, theUAC should prepare to receive SDP bodies in F9 and/or F12, and justignore them, to handle a peer that does not conform to therecommended implementation.Does the last sentence really mean that DUM actually should ignore the last sdp and not terminate thecall, and thereby overcome 'a peer not conforming to the recommended implementation'?TIA/Janne