Re: Re: PRACK over PROXY dropped -- ReliableResponse not found

"Jeroen van Bemmel" <[email protected]> Sun, 4 Feb 2007 10:21:06 +0100
Newsgroups gmane.comp.voip.nist-sip
Message-ID <004f01c7483d$ccb1ae70$0701a8c0@BEMBUSTER>
Jens,

My development PC is just up again, after a long period of being 
disconnected. Here's an update on what I can tell

First of all, it is easier to have AUTOMATIC_DIALOG_SUPPORT set to "on" (the 
default setting if you don't set it, like the example does). Alternatively, 
you can use sipProvider.getNewDialog for this

Then, as you can see in the PRACK example, it is possible to not use 
'createReliableResponse' and still get things to work. What is important, is 
to use 'dialog.sendReliableProvisionalResponse'. This will do the internal 
bookkeeping needed to match the PRACK

If you say the dialog is null, then that's the problem. You need the dialog 
object to invoke sendReliableProvisionalResponse on. And since you're saying 
that the PRACK example does work, I suppose the dialog is not null in that 
case? Perhaps you meant to say that requestEvent.getServerTransaction 
returns null?

Regards,
Jeroen

Nie Pin wrote:
> Hi, Jens,
> Plz try to set AUTOMATIC_DIALOG_SUPPORT false. It is suggested not to
> use it by Ranga. You can manipulate the dialog by yourself, with
> JainSip1.2.
>
> Btw, if you are not sure about your client application. You can try to
> connect it with a mature SIP proxy (e.g. SER) to see it is a problem
> of jain sip stack or your own code.
>
> BR
>
> niepin
>
> ----- Original Message -----
> From: Jens Tinfors <[email protected]>
> Date: Wednesday, January 31, 2007 11:19 pm
> Subject: Re: [nist-sip] Re: PRACK over PROXY dropped --
> ReliableResponse not found
> To: Jeroen van Bemmel <[email protected]>
> Cc: "M. Rangnathan" <[email protected]>, niepin <[email protected]>,
> [email protected]
>
>> ok, hello again.
>>
>> More questions regarding the handling of reliable provisional
>> responses.You're saying use the createReliableProvisionalResonse()
>> method on the
>> dialog. This is not possible for since the
>> ServerTransaction.getDialogreturns null!
>> Also the prack.Shootme example does not do that, instead it creates
>> theresponse via the messageFactory:
>> Response okResponse = messageFactory.createResponse(183, request);
>>
>> Perhaps I've overlooked something when creating the intial INVITE?
>> My log output:
>> ServerTransaction:
>> gov.nist.javax.sip.stack.SIPServerTransaction@6ede9cc1Orig Request:
>> INVITE sip:[email protected]:5070;transport=udp SIP/2.0
>> ...
>> transaction.getDialog() returns null!
>>
>> regards/jens =)
>>
>> On 1/30/07, Jeroen van Bemmel <[email protected]> wrote:
>>>
>>> Use createReliableResponse instead (see examples, basically you
>> need to
>>> copy what is done there). Call getNewServertransaction for the
>> INVITE, if
>>> event.getServerTransaction returns null.
>>>
>>> Regards,
>>> Jeroen
>>>
>>> -----Oorspronkelijk bericht -----
>>> Van: "Jens Tinfors" <[email protected]>
>>> Aan: "Jeroen van Bemmel" <[email protected]>
>>> CC: "M. Rangnathan" <[email protected]>; "niepin" <[email protected]>;
>>> [email protected]
>>> Verzonden: 30-1-07 17:11
>>> Onderwerp: Re: [nist-sip] Re: PRACK over PROXY dropped --
>>> ReliableResponse> not found
>>>
>>> Ok, lets see.
>>>
>>> The prack.Shootist prack.Shootme examples works just fine!
>>> After minor modifiactions they do over my proxy as well!
>>>
>>> Jeroen, what do you mean by "make sure you are creating  a
>> transaction and
>>> dialog" I have AUTOMATIC_DIALOG_SUPPORT set to true so that would
>> take> care
>>> of the dialog i guess!?
>>> Regarding the transaction i do requestEvent.getServerTransaction();
>>> whenever
>>> i need it.
>>>
>>> Regarding my initial problem of why the PRACK is dropped, i do
>> create the
>>> response using messageFactory.createResponse(statusCode,
>> Request); which
>>> should be ok! So I'll get back to troubleshooting!
>>>
>>> regards/j
>>>
>>> On 1/29/07, Jeroen van Bemmel < [email protected]> wrote:
>>>>
>>>> CSeq, RSeq and RAck are all ok. Make sure you are creating a
>> transaction> > and a dialog upon receiving INVITE, and use the API
>> to create 183.