Subject: Re: [Sip] Any help would be highly appreciated

From: Rohan Sen <[email-masked]>
Date: Wed, 2 Nov 2005 16:06:42 +0530

Hi Jain,

Thank you very much for your reply.

There are a few more issues, on which if you could shed some light, it would
be
of immense help.

Issue # 1
------------------------------------------------------------------------------------------------
In rfc3261, Section 10.3 Page 65 'Processing REGISTER Requests',

"The registrar checks whether the request contains the Contact
header field..."

here, what I understood gives the following pseudo-code segment :

if (contact header field is present) {
if (contact == '*') {
if ((expires == '0') || (additional contact header field is present)) {
Send 400 response
}
else {
if (Call-Id != bound-call-id) {
Remove binding
}
else if (Cseq < bound-cseq) {
ERROR
}
else {
Remove binding
}
}
}
else {
/* General processing of contact field and update of binding */
}
}
else {
/* Fetching of binding */
}

Please let me know if my understanding is incorrect.

Issue # 2
------------------------------------------------------------------------------------------------
In rfc3261, Section 16.12 Page 117 'Summary of Proxy Route Processing'
"2. The proxy will inspect the URI in the topmost Route header
field value. If it indicates this proxy,..."

My understanding of the purpose of route header field is to specify a next
proxy server (can be a loose router)
for the SIP Message to the proxy server. I am unable to visualize any
scenario where the 1st entry
of Router field can point to that of the receiving proxy, because at every
step it gets removed and the
next value becomes the top most value (next poxy for the next proxy server).

Issue # 3
------------------------------------------------------------------------------------------------
In rfc3261, Section 10.3 Page 62 'Processing REGISTER Requests'
"Each REGISTER message MUST be processed independently of any
other registration or binding changes."

Does this imply that the registrar must not buffer register requests in
attempt to answer
with 1 OK for several REGISTER messages for the same AOR ?
Ex: If a Registrar receives 2 consecutive REGISTER messages with same AOR
but different contact fields,
then should it send a single 200 containing 2 bindings or 2 distinct OKs for
each of the REGISTER messages ?
What exactly are the implications if REGISTER requests are not processed
independently ?

Issue # 4
------------------------------------------------------------------------------------------------
In rfc3261, Section 10.3 Page 63 'Processing REGISTER Requests'
"If the address-of-record is not valid
for the domain in the Request-URI, the registrar MUST send a
404 (Not Found) response and skip the remaining steps."

What will be the response status code when a REGISTRAR responsible for
domain
abc.def.com <http://abc.def.com> receives a REGISTER message
with :
i. To field set to [email-masked] but Request-URI set to
abc.def.com<http://abc.def.com>
ii. To field set to [email-masked] and Request-URI set to
abc.xyz.com<http://abc.xyz.com>

Issue # 5
------------------------------------------------------------------------------------------------------------------------
What will a dialog stateful proxy send back to a caller, from which it has
received a
BYE request to terminate a dialog which was not established through this
proxy ?
It would not find any associated dialog for that BYE request.

Any help with these issues will be very much appreciated.

thanks,
Rohan Sen

On 10/3/05, Jain, Rajnish <[email-masked]> wrote:
>
>   When a proxy server encounters a transport error when forwarding should
> it send a 500 response upstream ?
>
> [RJ] I don't think there is clear guidance on this behavior in RFC
> 3261/3263. It'll depend on the kind of transport error that the proxy
> encounters or perhaps based implementation-specific logic in the proxy. If a
> TCP socket connection attempt fails, then an attempt to deliver the request
> on UDP should be made. If a UDP request comes back w/ ICMP errors then that
> means bailing out on the call w/ some kind of error response upstream.
>
> What message should a user agent (or a proxy) send to a registrar to find
> out about the eixtsing bindings ?
> [RJ] REGISTER itself. Just leave out the Contact/Expires header fields in
> that REGISTER. See section 10. of RFC 3261.
>
> How, when and why should a stateful proxy transition to state less
> operation and for that does it need to remain stateless for the rest of the
> transaction ?
> [RJ] Implementation-specific.
>
> When it says that a proxy may arbitrarily group the target set and then do
> parallel processing of the
> addresses in a single group. Is it right to assume that such grouping can
> be done based on q parameter ?
> [RJ] The "q" parameter will suggest parallel/sequential forking w/in a
> group.
>
> How can a proxy determine the transport used to connect to the next proxy
> downstream ?
> [RJ] Configuration. RFC 3263.
>
> In Selection of a next hop, for a particular request-URI can that be
> configured manually by means other than SIP or if using SIP protocol itself,
> how can that be done ?
> [RJ] SIP is only a signaling protocol not an OAM&P protocol.
>
> How can a proxy ensure that all proxies which may be traversed by the
> request (say INVITE) are loose routers ?
> [RJ] It can't.
>
> An element is supposed to forward the SIP message to be sent directly to
> the transport layer in case the transaction layer is no longer available.
> When can exactly a transaction be not available ? Can it be that it has
> crashed for some reason ? Will there be any manifestation of any behavioral
> change for that element in which the transaction in progress is no more
> available ?
> [RJ] In case of INVITE-2XX-ACK, the ACK is between User Core and Transport
> layer (transaction layer on both UAC and UAS dies upon receipt/sending of
> 2XX). See RFC 3261 section 17.
>
> What exactly is a local outbound proxy ?
> [RJ] As an analogy w/ PSTN, this a bit like your local end office or PBX.
> The guidance here is that outbound proxy is a place where you send all your
> calls to and receive all your calls from. You can have multiple local
> outbound proxies one for each "line" in your UA.
>
> Any light on these above issues would be highly appreciated.
>
>
> --
> thanks,
> Rohan Sen
>

--
thanks,
Rohan Sen
_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip