Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-15 Thread Andreas Byström
I'm kind of in the middle of the stack provider and the UA provider here...
But I guess I should interpret your responses that in case of a sip uri with
the # error, there is no specification that says that the UAS (B2BUA in this
case) MUST send a sip response?

// Andreas

-Original Message-
From: Paul Kyzivat [mailto:[EMAIL PROTECTED] 
Sent: den 14 november 2007 22:43
To: Andreas Byström
Cc: sip-implementors@lists.cs.columbia.edu
Subject: Re: [Sip-implementors] Error in incoming req uri, what to do?

Andreas,

The catchall response for this is 400. If the uri is syntactically 
invalid (which is the case if the user part contains #) then you are 
justified in returning that response. But IMO that is over zealous.

If you are just a pass-through (a proxy or a B2BUA that doesn't care 
about this) then I think I would just ignore it.

If you are the intended recipient, or are say a proxy authoritative for 
the domain of the URI that is expected to route based on the user part, 
and the user part isn't acceptable to you, then the 404 response seems 
appropriate to me. In that case it makes little difference if the user 
part has a syntactically invalid character, or has a value that 
syntactically valid but is semantically invalid to you.

Paul

Andreas Byström wrote:
 Thanks Paul,
 
 The actual case I'm talking about is a B2BUA which in this particular case
 acts as an AS. For some cases, the # is needed for the AS application
 (controlling the subscribers Call Forward settings by sending commands
like
 *21*123456#) but other cases could be that the subscriber that placed the
 call just happened to press the # sign in the middle of a number.
 
 Anyway, for both cases I guess there should be a client (4xx) error
 triggered? My main question is really if there are some defined behavior
 somewhere that says that the B2BUA _must_ send a response for an incoming
 request with erroneous sip uri in request line, or if it is ok just to
 ignore it? It might be that the reqln uri is soo messed up that it will be
 hard to identify this as an SIP request... I don’t know if a # could have
 such effect
 
 // Andreas 
 
 -Original Message-
 From: Paul Kyzivat [mailto:[EMAIL PROTECTED] 
 Sent: den 14 november 2007 21:18
 To: Andreas Byström
 Cc: sip-implementors@lists.cs.columbia.edu
 Subject: Re: [Sip-implementors] Error in incoming req uri, what to do?
 
 The UA receiving this must (by definition) be the UAS. It *ought* to be 
 the intended recipient of the request (leaving aside some B2BUAs which 
 have different issues). As the intended recipient, the URI ought to be 
 one it knows about. Since this one is malformed (and the UA probably 
 wouldn't *intend* to support malformed ones) this URI must be something 
 unknown to the UAS. In that case a good response is 404 Not Found.
 
   Paul
 
 Andreas Byström wrote:
 What should a UA do in case it receives an request with an malformed
 sipuri
 in the request line? For example if there is an incoming INVITE
 [EMAIL PROTECTED] sip/2.0 (ie the sender has not escaped the #
 character).

  

 I guess there would be good to respond with maybe 400 Bad Request or some
 other 4XX response, but I cant find something that supports this in the
 RFCs. Does anyone know if there is some specifications that defines what
 to
 do in a case with malformed uri in the requestline or is it up do the
 developer of the UAS to decide? If no answer at all the UAC will probably
 retransmit…

  

 Regards,

 // Andreas

  

  

 ___

  

 Andreas Byström

 Software Engineer

  

 Teligent AB

 Konsul Jonssons väg 17

 P.O. Box 213

 SE 14923 Nynäshamn

  

 mail:  mailto:[EMAIL PROTECTED] [EMAIL PROTECTED]

 web:  http://www.teligent.se/ www.teligent.se

 phone:  +46 (0)8 4101 7221

 mobile: +46 (0)733 1172 21

 fax:  +46 (0)8 520 193 36

 ___

  

 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

 


___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-15 Thread Andrea Rizzi
Attila,

The '*' char shall not be escaped IMO, this is allowed by RFC 2396 in URI
syntax. Have you references saying the '*' should be escaped?

Andrea


--

Message: 3
Date: Wed, 14 Nov 2007 15:11:41 -0600
From: Robert Sparks [EMAIL PROTECTED]
Subject: Re: [Sip-implementors] UAS sending a CANCEL
To: Jagan Mohan [EMAIL PROTECTED]
Cc: sip-implementors@lists.cs.columbia.edu
Message-ID: [EMAIL PROTECTED]
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed

You're looking for RFC3261 section 9.

RjS

On Nov 14, 2007, at 6:04 AM, Jagan Mohan wrote:

 Hi All,

I have the following call flow:

 PSTN===Media Gateway-UAS

Call flow is made from PSTN phone to UAS.

  Media --UAS
 Gateway

  INVITE
100 Trying
 180 Ringing

 At this point, can UAS send a CANCEL to the media gateway?

 From the discussion in various mailing lists, I understand that  
 UAS can
 not send a CANCEL request in this scenario. It can send a 4xx/6xx

 But, I could not find any RFC which talks about this. Could any  
 one
 please provide info. on the RFC which talks about the above scenario?

 TIA,
 Jagan
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors



--

Message: 4
Date: Wed, 14 Nov 2007 21:17:44 -
From: Attila Sipos [EMAIL PROTECTED]
Subject: Re: [Sip-implementors] Error in incoming req uri, what to do?
To: Andreas Bystr?m [EMAIL PROTECTED],
sip-implementors@lists.cs.columbia.edu
Message-ID:
[EMAIL PROTECTED]
Content-Type: text/plain;   charset=iso-8859-1

 
I seem to remember some discussion about the # and # character a
long time ago.
 
You could respond with 400 Bad Request but I think it would be best
if you just treated it as if the # had been escaped.  I know it's not
strictly
compliant but:
1. I don't think it does any harm - check the grammar for yourself but I
don't
think there are any parser clashes
2. you will improve your interop - I have seen many UAs that haven't
escaped these characters - so it's best if you try to accept them.
 
One more thing - always escape the # and * if you use it in the user part of
a URI.
 
People over-use the saying be liberal with what you accept and strict with
what you send -
I don't always agree with it because it's the road to chaos but in this case
I don't think
it's harmful.
 
Regards,
Attila
 

___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-15 Thread Dale . Worley
   From: =?iso-8859-1?Q?Andreas_Bystr=F6m?= [EMAIL PROTECTED]

   I'm kind of in the middle of the stack provider and the UA provider here...
   But I guess I should interpret your responses that in case of a sip uri with
   the # error, there is no specification that says that the UAS (B2BUA in this
   case) MUST send a sip response?

Clearly, the UA should send a response, either success or failure,
depending on the strategy you choose.  Otherwise the upstream agent
will keep sending you the request, and then eventually time-out, which
from the point of view of the overall SIP system is the worst failure
mode.

Dale
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-15 Thread Paul Kyzivat
I agree with Dale, especially about not forwarding a malformed URI.

OTOH, I don't believe that forwarding nodes are *obligated* to verify 
the validity of everything in a message they forward. So for instance if 
a node notices that the domain is not its own, and so forwards based on 
the domain name it might just not validate the user part at all. Or if 
it forwards based on the Route header it may barely notice the R-URI.

So, I think 400 is certainly acceptable in this case, but other error 
responses are also acceptable.

Thanks,
Paul

[EMAIL PROTECTED] wrote:
From: Paul Kyzivat [EMAIL PROTECTED]
 
The UA receiving this must (by definition) be the UAS. It *ought* to be 
the intended recipient of the request (leaving aside some B2BUAs which 
have different issues). As the intended recipient, the URI ought to be 
one it knows about. Since this one is malformed (and the UA probably 
wouldn't *intend* to support malformed ones) this URI must be something 
unknown to the UAS. In that case a good response is 404 Not Found.
 
 I would say that 400 is acceptable also, because the UA may not be
 even able to parse the incoming message enough to decide what
 precisely it didn't like about.
 
 If the UA is one that never forwards messages, it seems plausible that
 it might take a liberal interpretation of an un-escaped character that
 should be escaped but otherwise has no interpretation.  If the UA is
 considering sending the message on, I would argue strongly that it
 should reject the message, because it can't forward the message in a
 strictly compliant way without making guesses as to what the sender
 meant, and it does not have the implicit information if I received
 it, it must have been intended for me.
 
 Dale
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-15 Thread Paul Kyzivat
Andreas,

So this stack provider drops syntactically incorrect requests rather 
than generating an error response. And you would like some reference to 
3261 that says a response should be sent in this case.

IMO a response should always be sent unless the request is malformed in 
a way that makes it impossible to send a syntactically correct response.

So, if the From, To, or Via were malformed then there is justification 
for not sending a response, but since the R-URI doesn't appear in the 
response that isn't an issue here. (But if the same value is in the To, 
then maybe it does apply.)

But of course servers are permitted to drop requests for arbitrary 
reasons, such as being overloaded. So I don't think there is anything 
that says there is a *requirement* to respond to this request.

Paul

Andreas Byström wrote:
 I also agree that for this specific case I dont want to forward the request
 since that means that the B2BUA application needs to send out a request that
 it know is wrong but cant be 100% sure that it should escape the # sign to
 make it correct.
 
 The thing is that I'm building the B2BUA application on top of a SIP stack
 (from another supplier). Now our customer has some UAs that does not escape
 #, and our customer agrees that it is wrong and that the UA should be
 updated (and it will in time). However, the stack I'm using does not send
 any response (no response at all) and does not even trigger my application
 (so I have no real option to try to forward the message) when it gets an
 INVITE with # . The customer wants the B2BUA to send an 4xx response, while
 the stack provider says it does not consider it to be needed. I do agree
 with the customer in this case but I really need to point out to the
 provider that look at rfc3261, page X section Y to really convince them
 that they MUST send a response. Even though I think it is obvious that the
 stack should send a response (or send it up to the application so that I can
 reject it with 4xx myself), I have tried to find such a statement in the RFC
 but failed. Sending no answer at all means that the UA will retransmit until
 timeout and as you already have said that is not a good solution.
 
 Hope that you can help me out on this :)
 
 // Andreas 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Paul
 Kyzivat
 Sent: den 15 november 2007 15:30
 To: [EMAIL PROTECTED]
 Cc: sip-implementors@lists.cs.columbia.edu
 Subject: Re: [Sip-implementors] Error in incoming req uri, what to do?
 
 I agree with Dale, especially about not forwarding a malformed URI.
 
 OTOH, I don't believe that forwarding nodes are *obligated* to verify 
 the validity of everything in a message they forward. So for instance if 
 a node notices that the domain is not its own, and so forwards based on 
 the domain name it might just not validate the user part at all. Or if 
 it forwards based on the Route header it may barely notice the R-URI.
 
 So, I think 400 is certainly acceptable in this case, but other error 
 responses are also acceptable.
 
   Thanks,
   Paul
 
 [EMAIL PROTECTED] wrote:
From: Paul Kyzivat [EMAIL PROTECTED]

The UA receiving this must (by definition) be the UAS. It *ought* to be
 
the intended recipient of the request (leaving aside some B2BUAs which 
have different issues). As the intended recipient, the URI ought to be 
one it knows about. Since this one is malformed (and the UA probably 
wouldn't *intend* to support malformed ones) this URI must be something
 
unknown to the UAS. In that case a good response is 404 Not Found.

 I would say that 400 is acceptable also, because the UA may not be
 even able to parse the incoming message enough to decide what
 precisely it didn't like about.

 If the UA is one that never forwards messages, it seems plausible that
 it might take a liberal interpretation of an un-escaped character that
 should be escaped but otherwise has no interpretation.  If the UA is
 considering sending the message on, I would argue strongly that it
 should reject the message, because it can't forward the message in a
 strictly compliant way without making guesses as to what the sender
 meant, and it does not have the implicit information if I received
 it, it must have been intended for me.

 Dale
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-15 Thread Andreas Byström
I also agree that for this specific case I dont want to forward the request
since that means that the B2BUA application needs to send out a request that
it know is wrong but cant be 100% sure that it should escape the # sign to
make it correct.

The thing is that I'm building the B2BUA application on top of a SIP stack
(from another supplier). Now our customer has some UAs that does not escape
#, and our customer agrees that it is wrong and that the UA should be
updated (and it will in time). However, the stack I'm using does not send
any response (no response at all) and does not even trigger my application
(so I have no real option to try to forward the message) when it gets an
INVITE with # . The customer wants the B2BUA to send an 4xx response, while
the stack provider says it does not consider it to be needed. I do agree
with the customer in this case but I really need to point out to the
provider that look at rfc3261, page X section Y to really convince them
that they MUST send a response. Even though I think it is obvious that the
stack should send a response (or send it up to the application so that I can
reject it with 4xx myself), I have tried to find such a statement in the RFC
but failed. Sending no answer at all means that the UA will retransmit until
timeout and as you already have said that is not a good solution.

Hope that you can help me out on this :)

// Andreas 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Paul
Kyzivat
Sent: den 15 november 2007 15:30
To: [EMAIL PROTECTED]
Cc: sip-implementors@lists.cs.columbia.edu
Subject: Re: [Sip-implementors] Error in incoming req uri, what to do?

I agree with Dale, especially about not forwarding a malformed URI.

OTOH, I don't believe that forwarding nodes are *obligated* to verify 
the validity of everything in a message they forward. So for instance if 
a node notices that the domain is not its own, and so forwards based on 
the domain name it might just not validate the user part at all. Or if 
it forwards based on the Route header it may barely notice the R-URI.

So, I think 400 is certainly acceptable in this case, but other error 
responses are also acceptable.

Thanks,
Paul

[EMAIL PROTECTED] wrote:
From: Paul Kyzivat [EMAIL PROTECTED]
 
The UA receiving this must (by definition) be the UAS. It *ought* to be

the intended recipient of the request (leaving aside some B2BUAs which 
have different issues). As the intended recipient, the URI ought to be 
one it knows about. Since this one is malformed (and the UA probably 
wouldn't *intend* to support malformed ones) this URI must be something

unknown to the UAS. In that case a good response is 404 Not Found.
 
 I would say that 400 is acceptable also, because the UA may not be
 even able to parse the incoming message enough to decide what
 precisely it didn't like about.
 
 If the UA is one that never forwards messages, it seems plausible that
 it might take a liberal interpretation of an un-escaped character that
 should be escaped but otherwise has no interpretation.  If the UA is
 considering sending the message on, I would argue strongly that it
 should reject the message, because it can't forward the message in a
 strictly compliant way without making guesses as to what the sender
 meant, and it does not have the implicit information if I received
 it, it must have been intended for me.
 
 Dale
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-14 Thread Paul Kyzivat


Attila Sipos wrote:
  
 I seem to remember some discussion about the # and # character a
 long time ago.
  
 You could respond with 400 Bad Request but I think it would be best
 if you just treated it as if the # had been escaped.  I know it's not strictly
 compliant but:
 1. I don't think it does any harm - check the grammar for yourself but I don't
 think there are any parser clashes
 2. you will improve your interop - I have seen many UAs that haven't
 escaped these characters - so it's best if you try to accept them.
  
 One more thing - always escape the # and * if you use it in the user part of 
 a URI.
  
 People over-use the saying be liberal with what you accept and strict with 
 what you send -
 I don't always agree with it because it's the road to chaos but in this case 
 I don't think
 it's harmful.

Wow! Attila and I agree on something!!!

The be liberal part is only useful when there is only *one* liberal 
interpretation that everyone who is liberal follows. When people are 
liberal in inconsistent ways it does lead to chaos.

The catch of course is that if you actually specify the particular 
liberal behavior that everyone should follow then it is no longer 
liberal - its conservative because it is then part of the spec.

So it works when the liberal interpretation is obvious. That is the 
case here I think.

Paul
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error in incoming req uri, what to do?

2007-11-14 Thread 라스토기
Hi,
 In my opinion, UAS should send one of following ...400, 416.
thanks,
Vipul Rastogi
Engineer, Business Management Team
Telecommunication Network Business
Samsung Electronics CO, LTD
Suwon P.O.BOX 105, 416
Korea 442-600
MO 010-9530-0354
- Original Message - 
From: Andreas Bystr?m [EMAIL PROTECTED]
To: sip-implementors@lists.cs.columbia.edu
Sent: Thursday, November 15, 2007 3:41 AM
Subject: [Sip-implementors] Error in incoming req uri, what to do?


What should a UA do in case it receives an request with an malformed sipuri
in the request line? For example if there is an incoming INVITE
[EMAIL PROTECTED] sip/2.0 (ie the sender has not escaped the #
character).

 

I guess there would be good to respond with maybe 400 Bad Request or some
other 4XX response, but I cant find something that supports this in the
RFCs. Does anyone know if there is some specifications that defines what to
do in a case with malformed uri in the requestline or is it up do the
developer of the UAS to decide? If no answer at all the UAC will probably
retransmit.

 

Regards,

// Andreas

 

 

___

 

Andreas Bystr?m

Software Engineer

 

Teligent AB

Konsul Jonssons v?g 17

P.O. Box 213

SE 14923 Nyn?shamn

 

mail:  mailto:[EMAIL PROTECTED] [EMAIL PROTECTED]

web:  http://www.teligent.se/ www.teligent.se

phone:  +46 (0)8 4101 7221

mobile: +46 (0)733 1172 21

fax:  +46 (0)8 520 193 36

___

 

___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors



___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors