Re: another ListeningPoint issue ...

"M. (Neo-Ranga) Ranganathan" <[email protected]> Mon, 4 Jun 2007 21:31:56 -0400
Newsgroups gmane.comp.voip.nist-sip,gmane.comp.java.jna.user
Message-ID <[email protected]>
Becky,

Your scheme seems OK. In fact the thats the grouping the stack already
maintains for you. Ryan, I think I have a fix for your issue. Please
enter an Issue and I can commit the fix against that issue.

Ranga.

On 6/3/07, Becky McElroy <[email protected]> wrote:
> Ryan,
>
> With regard to the last sentence in your post, I seem to recall some
> discussion about having to switch to use TCP if a message that's being
> sent is too big for UDP. I thought that might be one of the reasons to
> have multiple listening points under a SipProvider. (but I suppose both
> sides would have to do it to make it work in the case you ask about).
>
> To anyone on the list:
>
> Is there a particular way that listening points should be grouped under
> SipProviders of a given stack? (other than the rule of at most one
> listening point of a given transport type per SipProvider). IE: Given a
> user-specified configuration containing any number of
> IPaddress/port/transport combinations for a single stack/SipListener
> instance, I have created a separate SipProvider for each IPaddress/port
> combination and grouped the LPs for the different protocols underneath
> those. From an application perspective, is there any reason why you
> might NOT want to do that?
>
> Thanks for any advice-
> Becky
>
> Ryan Mitchell wrote:
>
> >Using the following setup:
> >
> >SipProvider A  --  ListeningPoint A : 192.168.2.3, 5060, udp
> >SipProvider B  --  ListeningPoint B : 10.0.2.3, 5060, tcp
> >SipProvider C  --  ListeningPoint C : 10.0.2.3, 5060, udp
> >
> >
> >All under one SipStack, all using the same SipListener implementation.
> >
> >I receive a REGISTER request from C.  Next create a ServerTransaction
> >st = sipProvider.getNewServerTransaction(req);
> >
> >... application processes the request ...
> >
> >Response resp = msgFact.createResponse(Response.OK, req);
> >and send it: st.sendResponse(resp);
> >
> >Problem is response gets sent out A.  The reason I think is because the
> >SIPServerTransaction code gets the message channel to use from
> >sipStack.createRawMessageChannel(this.getPort(), hop); which finds the
> >first MessageProcessor matching the port number and hop protocol.  And
> >in my case it finds A (udp, 5060), whereas C should be the correct choice.
> >
> >If I reconfigure A to use port 5062, no problem.  Is this a problem in
> >the stack or am I missing something?  I think the only requirement per
> >RFC 3261 is that is the request is received "secure" that the reply is
> >also sent secure.  That said, are there any cases where you would want
> >to respond to a request on a different listening point from which it was
> >received?
> >
> >thanks,
> >--Ryan
> >
> >
> >
> >
>
> _______________________________________________
> nist-sip mailing list
> [email protected]
> http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
>


-- 
M. Ranganathan
"There are two ways to write error-free programs; only the third one
works." --  Alan Perlis
http://www.animenewsnetwork.com/encyclopedia/anime.php?id=1052