Re: Redirection with TCP
Verena Kahmann <[email protected]>
| Newsgroups | gmane.comp.voip.nist-sip |
|---|---|
| Message-ID | <[email protected]> |
Hi Ranga,
thanks for the code work, I've tried it, but got the following issue
with the Shootist in the example I've sent you:
...
Sending ACK
javax.sip.SipException: No listening point for this provider registered
at 127.0.0.1:5070/udp
at gov.nist.javax.sip.stack.SIPDialog.sendAck(SIPDialog.java:1228)
at gov.nist.javax.sip.stack.SIPDialog.sendAck(SIPDialog.java:1161)
at Shootist.processResponse(Shootist.java:107)
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:244)
at gov.nist.javax.sip.EventScanner.run(EventScanner.java:416)
at java.lang.Thread.run(Thread.java:595)
Somehow, the stack tries to get the next hop for the ACK as a UDP
transport, but there is no listener available, since I want to have TCP
listeners only.
Maybe you can help me on with that.
Regards,
Verena
M. Rangnathan wrote:
> Verena,
>
> This problem has been fixed and the cvs repository has been updated.
> Give it a spin and let me know if it bombs.
>
> Ranga
>
> Verena Kahmann wrote:
>
>> Ranga,
>> I've made up the example with shootist/shootme, actually it has the
>> same problems, using UDP works but TCP does not. I give you the code
>> (it's just a quick hack, sorry, but I think you'll get the meaning
>> out of it) and all traces with udp/tcp. Maybe you can give it a try
>> yourself or you'll see what is getting wrong. It's a little difficult
>> to exactly mark where the problem is, since nothing happens for the
>> second INVITE with TCP whereas with UDP things just work.
>>
>> Thanks and Regards,
>> Verena
>>
>>
>> M. Rangnathan wrote:
>>
>>> Verena,
>>>
>>> I am afraid I dont understand the scenario. Are you saying you
>>> cannot see second invite via TCP? Can you perhaps make up a really
>>> simple example along the lines of examples.busy.Shootist.java /
>>> Shootme.java (should be realively simple to modify and would save
>>> me some time) so I can debug the problem and revert back to you
>>> quickly. Please annotate the problem as comments in your code.
>>>
>>> Thanks
>>>
>>> Regards
>>>
>>> Ranga
>>>
>>> Verena Kahmann wrote:
>>>
>>>> Hi,
>>>>
>>>> I've made up a little conferencing service which issues a 302 Moved
>>>> Temporarily to a certain conferencing URI after being invited. The
>>>> client then sends an INVITE to this URI. This works if UDP is used,
>>>> and also worked with TCP using the "old" 1.1, but with the new
>>>> version from CVS it doesn't work with TCP. The new INVITE packet
>>>> arrives at the conferencing host and is acked by TCP, but it
>>>> doesn't seem to arrive at the stack.
>>>>
>>>> Below is an excerpt from the debug log. The client stack has sent
>>>> an ACK to the 302 Moved (which is correct behavior, I think). The
>>>> server stack seems to fire a timer, but I cannot make more out of
>>>> the debug log, sorry..
>>>>
>>>> Maybe you can help me out of this. Should the new INVITE be sent to
>>>> a different TCP connection to be successful? Or is there any other
>>>> thing that must be kept in mind when using TCP?
>>>>
>>>> I may also send more information about the single messages
>>>> exchanged, if you're interested.
>>>>
>>>> Best regards,
>>>> Verena
>>>>
>>>>
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.TCPMessageChannel.processMessage(TCPMessageChannel.java:428)
>>>> [----Processing Message---]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransactionStack.newSIPServerRequest(SIPTransactionStack.java:821)
>>>> [newSIPServerRequest(
>>>> ACK:z9hG4bKb497f3feb691f9b7d6b750ebb2bb8186):gov.nist.javax.sip.stack.SIPServerTransaction
>>>>
>>>> @1d2f8935]
>>>> DEBUG -
>>>> gov.nist.javax.sip.NistSipMessageFactoryImpl.newSIPServerRequest(NistSipMessageFactoryImpl.java:62)
>>>> [Returning request interface for ACK sip:134.169.34.40:5074 SIP/2.0^M
>>>> gov.nist.javax.sip.NistSipMessageHandlerImpl@49d67c messageChannel
>>>> = gov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransaction.fireTimer(SIPTransaction.java:568)
>>>> [fireTimer gov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935
>>>> retransmissionTicks -1]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPClientTransaction$TransactionTimer.run(SIPClientTransaction.java:176)
>>>> [removing = gov.nist.javax.sip.stack.SIPClientTransaction@af8a64de
>>>> isReliable true]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransactionStack.removeTransaction(SIPTransactionStack.java:1044)
>>>> [Removing Transaction = z9hg4bk7f78052b5a170311d23df3dbf13bb23d]
>>>> DEBUG -
>>>> gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:91)
>>>> [handleEvent
>>>> javax.sip.TransactionTerminatedEvent[source=gov.nist.javax.sip.SipProviderImpl@b8f8eb]currentTransaction
>>>> = gov.nist.javax.
>>>> [email protected] =
>>>> [email protected] =
>>>> gov.nist.javax.sip.SipProviderImpl@b8f8eb]
>>>> DEBUG - gov.nist.core.LogWriter.logStackTrace(LogWriter.java:102)
>>>> [[SipProviderImpl.java:103][SIPTransactionStack.java:1076][SIPClientTransaction.java:182][Timer.java:512][Timer.java:462]]
>>>>
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPClientTransaction$TransactionTimer.run(SIPClientTransaction.java:242)
>>>> [Client Use Count = 3]
>>>> DEBUG - gov.nist.javax.sip.EventScanner.run(EventScanner.java:396)
>>>> [Processing gov.nist.javax.sip.EventWrapper@1a06e38nevents 1]
>>>> DEBUG -
>>>> gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:325)
>>>> [About to deliver transactionTerminatedEvent]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransaction.fireTimer(SIPTransaction.java:568)
>>>> [fireTimer gov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935
>>>> retransmissionTicks -1]
>>>> ... many more ..
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPServerTransaction.fireTimeoutTimer(SIPServerTransaction.java:963)
>>>> [SIPServerTransaction.fireTimeoutTimer Completed Transaction method
>>>> = INVITE]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransactionStack.isDialogCreated(SIPTransactionStack.java:312)
>>>> [isDialogCreated : INVITE returning true]
>>>> DEBUG -
>>>> gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:91)
>>>> [handleEvent
>>>> javax.sip.TimeoutEvent[source=gov.nist.javax.sip.SipProviderImpl@b8f8eb]currentTransaction
>>>> = gov.nist.javax.sip.stack.SIPS
>>>> [email protected] =
>>>> [email protected] =
>>>> gov.nist.javax.sip.SipProviderImpl@b8f8eb]
>>>> DEBUG - gov.nist.core.LogWriter.logStackTrace(LogWriter.java:102)
>>>> [[SipProviderImpl.java:103][SipProviderImpl.java:854][SIPTransaction.java:757][SIPServerTransaction.java:981][SIPTransaction.java:577][SIPServerTrans
>>>>
>>>> action.java:290][Timer.java:512][Timer.java:462]]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransaction.setState(SIPTransaction.java:492)
>>>> [Transaction:setState Terminated Transaction
>>>> gov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935 branchID =
>>>> z9hG4bKb497f3feb691f9b
>>>> 7d6b750ebb2bb8186 isClient = false]
>>>> DEBUG - gov.nist.core.LogWriter.logStackTrace(LogWriter.java:102)
>>>> [[SIPTransaction.java:495][SIPServerTransaction.java:1175][SIPTransaction.java:767][SIPServerTransaction.java:981][SIPTransaction.java:577][SIPServer
>>>>
>>>> Transaction.java:290][Timer.java:512][Timer.java:462]]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransaction.setState(SIPTransaction.java:492)
>>>> [Transaction:setState Terminated Transaction
>>>> gov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935 branchID =
>>>> z9hG4bKb497f3feb691f9b
>>>> 7d6b750ebb2bb8186 isClient = false]
>>>> DEBUG - gov.nist.core.LogWriter.logStackTrace(LogWriter.java:102)
>>>> [[SIPTransaction.java:495][SIPServerTransaction.java:1175][SIPServerTransaction.java:983][SIPTransaction.java:577][SIPServerTransaction.java:290][Tim
>>>>
>>>> er.java:512][Timer.java:462]]
>>>> DEBUG - gov.nist.javax.sip.EventScanner.run(EventScanner.java:396)
>>>> [Processing gov.nist.javax.sip.EventWrapper@12a55aanevents 1]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransaction$LingerTimer.<init>(SIPTransaction.java:229)
>>>> [LingerTimer : gov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransaction$LingerTimer.run(SIPTransaction.java:238)
>>>> [LingerTimer: run() :
>>>> gov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransaction$LingerTimer.run(SIPTransaction.java:246)
>>>> [removinggov.nist.javax.sip.stack.SIPServerTransaction@1d2f8935]
>>>> DEBUG -
>>>> gov.nist.javax.sip.stack.SIPTransactionStack.removeTransaction(SIPTransactionStack.java:1044)
>>>> [Removing Transaction = z9hg4bkb497f3feb691f9b7d6b750ebb2bb8186]
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> nist-sip mailing list
>>>> [email protected]
>>>> http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
>>>
>>>
>>>
>>>
>>>
>>>
>
>