Re: Redirection with TCP
"M. Ranganathan" <[email protected]>
| Newsgroups | gmane.comp.voip.nist-sip |
|---|---|
| Message-ID | <[email protected]> |
Verena, Your Contact header should indicate the transport explicitly (transport=tcp on the request URI). If nothing is indicated, UDP is assumed. Ranga Verena Kahmann wrote: > 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 >>>> >>>> >>>> >>>> >>>> >>>> >>>> >> >> > > _______________________________________________ > nist-sip mailing list > [email protected] > http://www-x.antd.nist.gov/mailman/listinfo/nist-sip > -- M. Ranganathan Advanced Networking Technologies Division, National Institute of Standards and Technology (NIST), 100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. tel:301 975 3664 , fax:301 590 0932 http://w3.antd.nist.gov/ Advanced Networking Technologies For the People!