Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Iñaki Baz Castillo
El Martes, 21 de Julio de 2009, Paul Kyzivat escribió:
> I can understand how you might dislike the unusual way that forking of
> subscribes is handled. It is a special case.

Yes, I understand.

However, IMHO it's a very bad design and most probably it will never be well 
implemented.

As I explained in my other mail, parallel forking in subscription is really a 
corner case. But the logic and code to implement it in the client is really 
complex. I expect that a vendor cannot spend so much time to implement such an 
exotic and complex corner case.

So again we get a feature widely NOT implemented.


-- 
Iñaki Baz Castillo 

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

Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Paul Kyzivat
I can understand how you might dislike the unusual way that forking of 
subscribes is handled. It is a special case. It was done that way 
because there was a desire to support forking of subscribe, and also a 
desire not to institute a transaction state machine for subscribe (akin 
to the one for INVITE). So it is what it is, like it or not. After a 
subscribe, you are expected to recognize the half-matching dialog ids 
and establish new dialogs for them.

Sorry,
Paul

Iñaki Baz Castillo wrote:
> 2009/7/20 Victor Pascual Avila :
>> On Mon, Jul 20, 2009 at 2:41 PM, Iñaki Baz Castillo wrote:
>>> Of course, the Contact in the NOTIFY from the server are equal.
>> Not really-- successful SUBSCRIBE requests will receive only one
>> 200-class response; however, due to forking, the subscription may have
>> been accepted by multiple nodes.
> 
> As I explained in my other mail, those servers whose 200 didn't arrive
> to the susbcriber (since the proxy absorbed them) couldn't send
> in-dialog NOTIFY to the subscriber (the From-tag of those NOTIFY's
> wouldn't match the existing subscription dialog in the subscriber).
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Handling in-dialog challenges.

2009-07-20 Thread Paul Kyzivat


Brett Tate wrote:
> Race conditions exists (although not likely to occur) where the remote 
> party's Contact may be updated between sending requests again with update 
> auth headers.  Depending upon loose routing usage, this can impact Route 
> header or request-uri (see rfc3261 section 16.12.1.2).

Yeah. Between your first attempt and the 2nd, you could receive an 
UPDATE that changes the Contact, or possibly that sends you a new offer.

To cover such a case, you would be better off to recompute a new request 
that applies whatever change you were attempting to the current state of 
the dialog. (You might find that what you want is already in effect now 
and no request is needed.)

> The likely hood of such an update is hopefully small. 

Small, but possible.

> If I recall correctly, some are also proposing (or "fixing" rfc3261) to allow 
> such an update even if you rejected the update to Contact during the race 
> condition (such as by sending a 491).

I think we cannot allow a failing request to change the target. But a 
success should not be rolled back even if the containing invite 
transaction eventually fails.

Thanks,
Paul

>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu [mailto:sip-
>> implementors-boun...@lists.cs.columbia.edu] On Behalf Of M. Ranganathan
>> Sent: Monday, July 20, 2009 10:20 AM
>> To: sip-implementors
>> Subject: [Sip-implementors] Handling in-dialog challenges.
>>
>> Hello
>>
>> I have a question about how to re-originate a request for an in-dialog
>> challenge. For example, if a re-INVITE gets challenged, when sending
>> the new request with credentials, would it be correct to just clone
>> the old route (from the original request)  set or consult the dialog
>> for a change in route set? Is it even possible for that route set to
>> change?
> 
> 
> ___
> 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] SIP video Hold

2009-07-20 Thread Paul Kyzivat


Rajani wrote:
> In SDP body for each media line we have its media attribute values set below
> the media line. Each of them have default values if its not mentioned
> explicitly in the body.. 
> 
>"If an offered media stream is
>listed as sendrecv (or if there is no direction attribute at the
>media or session level, in which case the stream is sendrecv by
>default), the corresponding stream in the answer MAY be marked as
>sendonly, recvonly, sendrecv, or inactive."
> 
> Media direction attribute "a=sendrecv" is the default value if its not
> present for the particular media.
> 
> a=:
> Attributes may be defined at "session-level" or at "media-level" or both.
> Session level attributes are used to advertise additional information that
> applies to conference as a whole. Media level attributes are specific to the
> media, i.e. advertising information about the media stream.


> So, in case 1 I think when a= sendonly is present at the session level, then
> it will hold the connection for both audio and video. 

That would imply that the session level overrode the media level.
But the converse it true. The session level value just overrides the 
default that will be used for any media stream that doesn't have a 
media-level value.

So the cases shown work out as follows:

Case: Case 1:Case 2:Case 3:
  -- -- --
Session:  sendonly   sendonly   sendrecv
audio:none(sendonly) none(sendonly) none(sendrecv)
video:sendonly   sendrecv   sendonly

But I suspect this is not the question that is being asked.
I think the question was intended to be:

"If I push the HOLD button on the video phone, does it hold audio, 
video, or both?"

If that is the question, then neither SIP nor SDP can answer it.
This is a question of UI design. You might have separate buttons for 
each, or one button for both, or whatever.

If you are on the receiving side of a change like this you should make 
no assumptions about which combinations you might see. Any are possible.
And of course whether session level or media level attributes are used, 
in what combination, is also entirely flexible.

Thanks,
Paul

> If we want to hold only the video stream, then probably we have to include
> a=sendonly attribute only for video media lines as in case 3...
> 
> Thanks & Regards,
> Rajani
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Lakshminarayana Jayaprakash
> Sent: Friday, July 17, 2009 3:23 AM
> To: sip-implementors@lists.cs.columbia.edu
> Subject: [Sip-implementors] SIP video Hold
> 
> Hi,
> 
> Is there a convention how SIP video terminal should do call  hold?  
> Case-1: [Hold for both audio and video streams]   
> c=IN IP4 a.b.c.d
> a=sendonly
> m=audio
> ...
> m=video
> c=IN IP4 p.q.r.t
> a=sendonly
> 
> Case-2: [Hold for audio stream only]
> c=IN IP4 a.b.c.d
> a=sendonly
> m=audio
> ...
> m=video
> c=IN IP4 p.q.r.t
> a=sendrecv
> 
> Case-3: [Hold for video stream only]
> c=IN IP4 a.b.c.d
> a=sendrecv
> m=audio
> ...
> m=video
> c=IN IP4 p.q.r.t
> a=sendonly
> 
> 
> Questions:
> 1.Is the hold specified for both audio and video streams or one of
> them?
> 2.If case-2 and case-3 are possible, should the call be considered
> as hold?
> 
> Thanks in advance.
> 
> Regards,
>  JP
> ___
> 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] SIP video Hold

2009-07-20 Thread Rajani

In SDP body for each media line we have its media attribute values set below
the media line. Each of them have default values if its not mentioned
explicitly in the body.. 

   "If an offered media stream is
   listed as sendrecv (or if there is no direction attribute at the
   media or session level, in which case the stream is sendrecv by
   default), the corresponding stream in the answer MAY be marked as
   sendonly, recvonly, sendrecv, or inactive."

Media direction attribute "a=sendrecv" is the default value if its not
present for the particular media.

a=:
Attributes may be defined at "session-level" or at "media-level" or both.
Session level attributes are used to advertise additional information that
applies to conference as a whole. Media level attributes are specific to the
media, i.e. advertising information about the media stream.
 
So, in case 1 I think when a= sendonly is present at the session level, then
it will hold the connection for both audio and video. 
If we want to hold only the video stream, then probably we have to include
a=sendonly attribute only for video media lines as in case 3...

Thanks & Regards,
Rajani

-Original Message-
From: sip-implementors-boun...@lists.cs.columbia.edu
[mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
Lakshminarayana Jayaprakash
Sent: Friday, July 17, 2009 3:23 AM
To: sip-implementors@lists.cs.columbia.edu
Subject: [Sip-implementors] SIP video Hold

Hi,

Is there a convention how SIP video terminal should do call  hold?  
Case-1: [Hold for both audio and video streams] 
c=IN IP4 a.b.c.d
a=sendonly
m=audio
...
m=video
c=IN IP4 p.q.r.t
a=sendonly

Case-2: [Hold for audio stream only]
c=IN IP4 a.b.c.d
a=sendonly
m=audio
...
m=video
c=IN IP4 p.q.r.t
a=sendrecv

Case-3: [Hold for video stream only]
c=IN IP4 a.b.c.d
a=sendrecv
m=audio
...
m=video
c=IN IP4 p.q.r.t
a=sendonly


Questions:
1.  Is the hold specified for both audio and video streams or one of
them?
2.  If case-2 and case-3 are possible, should the call be considered
as hold?

Thanks in advance.

Regards,
 JP
___
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] SIP video Hold

2009-07-20 Thread JAYAPRAKASH LAKSHMINARAYANA
Hi,
 
Is there a convention how SIP video terminal should do call  hold?  
Case-1: [Hold for both audio and video 
streams]   
 
c=IN IP4 a.b.c.d
a=sendonly
m=audio
...
m=video
c=IN IP4 p.q.r.t
a=sendonly
 
Case-2: [Hold for audio stream only]
c=IN IP4 a.b.c.d
a=sendonly
m=audio
...
m=video
c=IN IP4 p.q.r.t
a=sendrecv
 
Case-3: [Hold for video stream only]
c=IN IP4 a.b.c.d
a=sendrecv
m=audio
...
m=video
c=IN IP4 p.q.r.t
a=sendonly
 
 
Questions:
1.   Is the hold specified for both audio and video streams or one of them?
2.   If case-2 and case-3 are possible, should the call be considered as 
hold?
 
Thanks in advance.
 
Regards,
 JP


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


Re: [Sip-implementors] T.38 handling in SIP

2009-07-20 Thread Attila Sipos

Yeh, the mule draft is the de-facto standard I think.

I believe the called party should send the re-invite because
it is the called fax machine which sends a tone back to say
"I'm ready to switch to fax".  CED tone, I think.

Regards

Attila



 

-Original Message-
From: sip-implementors-boun...@lists.cs.columbia.edu
[mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
kisteorg google
Sent: 20 July 2009 16:09
To: sip-implementors@lists.cs.columbia.edu
Subject: [Sip-implementors] T.38 handling in SIP

Hello list,



As far as I know, usually the 1st INVITE is done by a "normal" voice
codec until the calling  device get a special fax signal. After that a
reinvite is send from the calling device with T38 as supported codec and
T38 handshaking is done.

Now a vendor told me, that they "implemented the rfc" (I love that) and
the called party should send an reinvite.


So I was wondering about which RFC they are talking - I only know the
draft-mule-sip-t38callflows-02.txt - or is there another RFC?

BR

Uwe








___
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] T.38 handling in SIP

2009-07-20 Thread kisteorg google
Hello list,



As far as I know, usually the 1st INVITE is done by a "normal" voice
codec until the calling  device get a special fax signal. After that a
reinvite is send from the calling device with T38 as supported codec and
T38 handshaking is done.

Now a vendor told me, that they "implemented the rfc" (I love that) and
the called party should send an reinvite.


So I was wondering about which RFC they are talking - I only know the
draft-mule-sip-t38callflows-02.txt - or is there another RFC?

BR

Uwe








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


Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Scott Lawrence
On Mon, 2009-07-20 at 16:37 +0200, Iñaki Baz Castillo wrote:
> 2009/7/20 Michael Procter :
> >> No. The RURI of re-SUBSCRIBE should be the Contact received in the 200
> >> OK to the initial SUBSCRIBE, that's all.
> >> Of course, the Contact in the NOTIFY from the server are equal.
> >
> > Not exactly.  The contact in the notify will not necessarily be the
> > same as the contact in the 200 response to the initial subscribe.
> > Forking happens, as I like to say.  A UAC whose subscribe is forked
> > will only receive one 200 response (a proxy will filter the others
> > out), but may receive multiple NOTIFYs, each from different endpoints.
> 
> Sorry, but those other NOTIFY will have a different From-tag so they
> will discarded with 481 by the subscriber as they don't match the
> dialog (From-tag, To-tag and Call-ID) established by the subscriber
> and the server whose 200 arrived to the subscriber.

That would be a bug in the subscriber.

A single SUBSCRIBE can create multiple dialogs if it is forked
downstream, but only one of those dialogs will return a 2xx response.
The first the subscriber will hear of the others is the initial NOTIFY
from them; the subscriber must be prepared for this, and treat those
NOTIFY requests as dialog-forming.




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

Re: [Sip-implementors] Handling in-dialog challenges.

2009-07-20 Thread Brett Tate
Race conditions exists (although not likely to occur) where the remote party's 
Contact may be updated between sending requests again with update auth headers. 
 Depending upon loose routing usage, this can impact Route header or 
request-uri (see rfc3261 section 16.12.1.2).

The likely hood of such an update is hopefully small.  If I recall correctly, 
some are also proposing (or "fixing" rfc3261) to allow such an update even if 
you rejected the update to Contact during the race condition (such as by 
sending a 491).


> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu [mailto:sip-
> implementors-boun...@lists.cs.columbia.edu] On Behalf Of M. Ranganathan
> Sent: Monday, July 20, 2009 10:20 AM
> To: sip-implementors
> Subject: [Sip-implementors] Handling in-dialog challenges.
> 
> Hello
> 
> I have a question about how to re-originate a request for an in-dialog
> challenge. For example, if a re-INVITE gets challenged, when sending
> the new request with credentials, would it be correct to just clone
> the old route (from the original request)  set or consult the dialog
> for a change in route set? Is it even possible for that route set to
> change?


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


Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 Michael Procter :
>> Sorry, but those other NOTIFY will have a different From-tag so they
>> will discarded with 481 by the subscriber as they don't match the
>> dialog (From-tag, To-tag and Call-ID) established by the subscriber
>> and the server whose 200 arrived to the subscriber.
>
> RFC 3265 Section 3.3.4, 3rd para:
>   NOTIFY requests are matched to such SUBSCRIBE requests if they
>   contain the same "Call-ID", a "To" header "tag" parameter which
>   matches the "From" header "tag" parameter of the SUBSCRIBE, and the
>   same "Event" header field.  [...]   If a matching NOTIFY request
>   contains a "Subscription-State" of "active" or "pending", it creates
>   a new subscription and a new dialog (unless they have already been
>   created by a matching response, as described above).

You are 100% right, thanks for the great clarification.

However I consider this specification completely *exotic* and complex.
Surely just a few implementations (if any) do it correctly.

IMHO forking shouldn't exist for SUBSCRIBE. Presence is 99% handled by
presence agents (presence server) so forking makes no sense. And
dialog subscription (which theorically is a SUBSCRIBE arriving to the
final UA) is also handled by presence agents (PBX). Since this is the
real scenario usages (and they will be) IMHO it doesn't make sense so
complex specification which just makes it hard to understand and
implement, adding no benefict at all in the real world.




-- 
Iñaki Baz Castillo


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

Re: [Sip-implementors] 2nd try: sip2pstn: P-Asserted-Identity and P-Preferred-Identity

2009-07-20 Thread kisteorg google
Hi,

>> Ok I did not receive the mail  via the list.
>> 
>
> Gmail doesn't display in Inbox a mail sent by you :)
> But the mail did arrive to the list:
>   
> https://lists.cs.columbia.edu/pipermail/sip-implementors/2009-July/023186.html
>
>   
I tried to subscribe from several different emails adresses and gmail
was the only which was working. 

>> trusted in my writing has no technical meaning.
>>
>> So I think the usage of the p-preferred is correct, but the setting of the
>> p-asserted is wrong, since the device is not trusted to me.
>> 
>
> RFC 3325 also states that a proxy MUST ignore and remove any
> P-Asserted-Identity coming from an untrusted node, so in your case you
> can do it.
>
> However your server is doing something wrong since the 401/401
> contains a credentials with username="123452270", this is, the value
> of the PAI header in the request.
> Since you consider this node as untrusted, your server should ignore
> and remove the PAI header(s) and take From or PPI (theorically PPI has
> preference) for authentication, so the challenge in 401/407 should
> contain username="12345227101".
>   
Yes. You are right.

OneAccess tries to transport ddi numbers via PAI which is far from
anything I saw before. 

Thanks for the answer.

BR

Uwe

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


Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Michael Procter
Ahem:

2009/7/20 Iñaki Baz Castillo :
> 2009/7/20 Michael Procter :
>>> No. The RURI of re-SUBSCRIBE should be the Contact received in the 200
>>> OK to the initial SUBSCRIBE, that's all.
>>> Of course, the Contact in the NOTIFY from the server are equal.
>>
>> Not exactly.  The contact in the notify will not necessarily be the
>> same as the contact in the 200 response to the initial subscribe.
>> Forking happens, as I like to say.  A UAC whose subscribe is forked
>> will only receive one 200 response (a proxy will filter the others
>> out), but may receive multiple NOTIFYs, each from different endpoints.
>
> Sorry, but those other NOTIFY will have a different From-tag so they
> will discarded with 481 by the subscriber as they don't match the
> dialog (From-tag, To-tag and Call-ID) established by the subscriber
> and the server whose 200 arrived to the subscriber.

RFC 3265 Section 3.3.4, 3rd para:
   NOTIFY requests are matched to such SUBSCRIBE requests if they
   contain the same "Call-ID", a "To" header "tag" parameter which
   matches the "From" header "tag" parameter of the SUBSCRIBE, and the
   same "Event" header field.  [...]   If a matching NOTIFY request
   contains a "Subscription-State" of "active" or "pending", it creates
   a new subscription and a new dialog (unless they have already been
   created by a matching response, as described above).

>>  These are likely to have different contact headers, and may have
>> different route sets too.  The Request URI of the reSUBSCRIBE should
>> follow the normal rules for in-dialog requests, which means it will
>> probably be the Contact from the NOTIFY, but might be the first entry
>> in the route set if strict routing is in use.  See RFC 3261 section
>> 12.2.1.1
>
> Impossible as I explained above.

I encourage you to read the references I gave.  Forking does make
things more complex than the simple non-forking B2BUA scenario.

Michael

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


Re: [Sip-implementors] Handling in-dialog challenges.

2009-07-20 Thread Scott Lawrence
On Mon, 2009-07-20 at 10:20 -0400, M. Ranganathan wrote:
> Hello
> 
> I have a question about how to re-originate a request for an in-dialog
> challenge. For example, if a re-INVITE gets challenged, when sending
> the new request with credentials, would it be correct to just clone
> the old route (from the original request)  set or consult the dialog
> for a change in route set? Is it even possible for that route set to
> change?

The route set is fixed by the INVITE transaction that established the
dialog - it cannot be changed by any subsequent message.


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


Re: [Sip-implementors] Handling in-dialog challenges.

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 M. Ranganathan :
> Hello
>
> I have a question about how to re-originate a request for an in-dialog
> challenge. For example, if a re-INVITE gets challenged, when sending
> the new request with credentials, would it be correct to just clone
> the old route (from the original request)  set or consult the dialog
> for a change in route set? Is it even possible for that route set to
> change?

The route set CANNOT change during a dialog. The "Route" in any
in-dialog request must be, ALWAYS, the route set mirrored from the
Record-Route headers in the 2XX response to the initial request.

-- 
Iñaki Baz Castillo


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

Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 Victor Pascual Avila :
> On Mon, Jul 20, 2009 at 2:41 PM, Iñaki Baz Castillo wrote:
>> Of course, the Contact in the NOTIFY from the server are equal.
>
> Not really-- successful SUBSCRIBE requests will receive only one
> 200-class response; however, due to forking, the subscription may have
> been accepted by multiple nodes.

As I explained in my other mail, those servers whose 200 didn't arrive
to the susbcriber (since the proxy absorbed them) couldn't send
in-dialog NOTIFY to the subscriber (the From-tag of those NOTIFY's
wouldn't match the existing subscription dialog in the subscriber).


-- 
Iñaki Baz Castillo


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

Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 Michael Procter :
>> No. The RURI of re-SUBSCRIBE should be the Contact received in the 200
>> OK to the initial SUBSCRIBE, that's all.
>> Of course, the Contact in the NOTIFY from the server are equal.
>
> Not exactly.  The contact in the notify will not necessarily be the
> same as the contact in the 200 response to the initial subscribe.
> Forking happens, as I like to say.  A UAC whose subscribe is forked
> will only receive one 200 response (a proxy will filter the others
> out), but may receive multiple NOTIFYs, each from different endpoints.

Sorry, but those other NOTIFY will have a different From-tag so they
will discarded with 481 by the subscriber as they don't match the
dialog (From-tag, To-tag and Call-ID) established by the subscriber
and the server whose 200 arrived to the subscriber.


>  These are likely to have different contact headers, and may have
> different route sets too.  The Request URI of the reSUBSCRIBE should
> follow the normal rules for in-dialog requests, which means it will
> probably be the Contact from the NOTIFY, but might be the first entry
> in the route set if strict routing is in use.  See RFC 3261 section
> 12.2.1.1

Impossible as I explained above.



-- 
Iñaki Baz Castillo


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

Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Victor Pascual Avila
On Mon, Jul 20, 2009 at 2:41 PM, Iñaki Baz Castillo wrote:
> Of course, the Contact in the NOTIFY from the server are equal.

Not really-- successful SUBSCRIBE requests will receive only one
200-class response; however, due to forking, the subscription may have
been accepted by multiple nodes.

Cheers,
-- 
Victor Pascual Ávila

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

Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Michael Procter
Some corrections inline:

2009/7/20 Iñaki Baz Castillo :
> 2009/7/20 Dushyant Dhalia :
>> In NOTIFY the notifier sends its
>> contact. Now my question is - is it okay for the subscriber to send
>> re-subscribe with RequestURI set to the contact it received in NOTIFY?
>
> No. The RURI of re-SUBSCRIBE should be the Contact received in the 200
> OK to the initial SUBSCRIBE, that's all.
> Of course, the Contact in the NOTIFY from the server are equal.

Not exactly.  The contact in the notify will not necessarily be the
same as the contact in the 200 response to the initial subscribe.
Forking happens, as I like to say.  A UAC whose subscribe is forked
will only receive one 200 response (a proxy will filter the others
out), but may receive multiple NOTIFYs, each from different endpoints.
 These are likely to have different contact headers, and may have
different route sets too.  The Request URI of the reSUBSCRIBE should
follow the normal rules for in-dialog requests, which means it will
probably be the Contact from the NOTIFY, but might be the first entry
in the route set if strict routing is in use.  See RFC 3261 section
12.2.1.1

>> Secondly, regarding routeing of re-subscribe. If first SUBSCRIBE was routed
>> through outbound proxy but the notifier and other nodes in the path included
>> the Record-Route in Notify, is it okay for the subscriber to send
>> re-subscribe through Route (by inserting route-header) it derived from
>> Record-Route?
>
> Record-Route should be ignored in *any* in-dialog request (as NOTIFY
> in a subscription dialog).

Yes, but some NOTIFYs may be 'dialog-establishing', in which case the
Record-Route headers should be honoured in the same way as for any
other dialog-establishing method.  See RFC3265 sections 3.2.3, 3.3.4,
4.4.9 and probably a few others.

Regards,

Michael

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


[Sip-implementors] Handling in-dialog challenges.

2009-07-20 Thread M. Ranganathan
Hello

I have a question about how to re-originate a request for an in-dialog
challenge. For example, if a re-INVITE gets challenged, when sending
the new request with credentials, would it be correct to just clone
the old route (from the original request)  set or consult the dialog
for a change in route set? Is it even possible for that route set to
change?


Ranga



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


Re: [Sip-implementors] 2nd try: sip2pstn: P-Asserted-Identity and P-Preferred-Identity

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 Uwe Kastens :
>> > Looks like, that my 1st posting is lost.
>>
>> It's not lost, just nobody replied it.
>>
>
> Ok I did not receive the mail  via the list.

Gmail doesn't display in Inbox a mail sent by you :)
But the mail did arrive to the list:
  https://lists.cs.columbia.edu/pipermail/sip-implementors/2009-July/023186.html


>> A good example for understand the difficult meaning of
>> P-Preferred-Identity (and probably the only onw) is the usage with
>> anonymous call, where the client sends a request containing:
>
> As far as I understood the rfc3325 the p-asserted is inserted for the
> communication between trusted instances and should be removed if the message
> is sent to an untrusted instance.

Yes.



> Sure. The dump is taken from the console of an OneAccess device.
>
> From: ;user=phone>;tag=421B
> P-Asserted-Identity: 
> P-Preferred-Identity: 
> Privacy: user;id
> Authorization: Digest username="123452270",
>realm="sip.domain.de",
>nonce="4a5c9c70742d4efb4072111d33d8ff0c495c506748f3",
>uri="sip:7097...@sip.domain.de",
>response="8d36e7d3f9b2237da99539a5aac34a4a",
>algorithm=MD5

IMHO it doesn't make sense and it's an exotic usage of the specification.


>> The point here is: what is trusted? According to exotic IETF specs,
>> "trusted" requires TLS/SSL usage and so.
>> But a server/proxy could consider as trusted a request from an user
>> after authentication.
>
> trusted in my writing has no technical meaning.
>
> So I think the usage of the p-preferred is correct, but the setting of the
> p-asserted is wrong, since the device is not trusted to me.

RFC 3325 also states that a proxy MUST ignore and remove any
P-Asserted-Identity coming from an untrusted node, so in your case you
can do it.

However your server is doing something wrong since the 401/401
contains a credentials with username="123452270", this is, the value
of the PAI header in the request.
Since you consider this node as untrusted, your server should ignore
and remove the PAI header(s) and take From or PPI (theorically PPI has
preference) for authentication, so the challenge in 401/407 should
contain username="12345227101".


-- 
Iñaki Baz Castillo


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

Re: [Sip-implementors] 2nd try: sip2pstn: P-Asserted-Identity and P-Preferred-Identity

2009-07-20 Thread Uwe Kastens
Hello list,

> > Looks like, that my 1st posting is lost.
>
> It's not lost, just nobody replied it.
>

Ok I did not receive the mail  via the list.

>
>
> A good example for understand the difficult meaning of
> P-Preferred-Identity (and probably the only onw) is the usage with
> anonymous call, where the client sends a request containing:



As far as I understood the rfc3325 the p-asserted is inserted for the
communication between trusted instances and should be removed if the message
is sent to an untrusted instance.



>
> > I discussed with a vendor which will send me a ddi-number for a pbx as
> > asserted and the main number as preferred.
>
> Could you paste an example of it?


Sure. The dump is taken from the console of an OneAccess device.


>
> INVITE 
> call-id:oa71905eb4123452271011dd71...@sip.domain.de(UDP)
> INVITE sip:7097...@sip.domain.de ;user=phone
> SIP/2.0
> Accept: application/sdp,application/dtmf-relay
> Allow:
>
> PRACK,ACK,CANCEL,BYE,SUBSCRIBE,NOTIFY,INVITE,REFER,OPTIONS,INFO,UPDATE,REGISTER
> Authorization: Digest
> username="123452270",realm="sip.domain.de
> ",nonce="4a5c9c70742d4efb4072111d33d8ff0c495c506748f3",uri="
> sip:7097...@sip.domain.de 
> ",response="8d36e7d3f9b2237da99539a5aac34a4a",algorithm=MD5
> Call-ID: oa71905eb4123452271011dd71...@sip.domain.de
> Contact: 
> Content-Type: application/sdp
> CSeq: 603 INVITE
> From: 
> ;user=phone>;tag=421B
> Max-Forwards: 70
> P-Asserted-Identity: 
> 
> ;user=phone>
> P-Preferred-Identity: 
> Privacy: user;id
> Supported: replaces
> To: ;user=phone>
> Via: SIP/2.0/UDP 10.30.97.161:5060;branch=z9hG4bK-5C56-263
> Content-Length: 249
>
> v=0
> o=sip.domain.de 3456564989 3456564989 IN IP4 10.30.97.161
> s=Session SDP
> c=IN IP4 10.30.97.161
> t=0 0
> m=audio 16444 RTP/AVP 8 0 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> a=ptime:30
>
> > The RFC is not very clear in that point - or did I read the wrong ones.
>
> The point here is: what is trusted? According to exotic IETF specs,
> "trusted" requires TLS/SSL usage and so.
> But a server/proxy could consider as trusted a request from an user
> after authentication.
>

trusted in my writing has no technical meaning.

So I think the usage of the p-preferred is correct, but the setting of the
p-asserted is wrong, since the device is not trusted to me.
BR

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


Re: [Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 Dushyant Dhalia :
> I need to know what should be the request-uri for re-subscription?

Is it a question? :)


> The RequestURI in initial/first SUBSCRIBE is set to the resource to which
> the subscriber wants to be subscribed to.

Yes.


> In NOTIFY the notifier sends its
> contact. Now my question is - is it okay for the subscriber to send
> re-subscribe with RequestURI set to the contact it received in NOTIFY?

No. The RURI of re-SUBSCRIBE should be the Contact received in the 200
OK to the initial SUBSCRIBE, that's all.
Of course, the Contact in the NOTIFY from the server are equal.


> Secondly, regarding routeing of re-subscribe. If first SUBSCRIBE was routed
> through outbound proxy but the notifier and other nodes in the path included
> the Record-Route in Notify, is it okay for the subscriber to send
> re-subscribe through Route (by inserting route-header) it derived from
> Record-Route?

Record-Route should be ignored in *any* in-dialog request (as NOTIFY
in a subscription dialog).
The flow is:
- The client sends SUBSCRIBE.
- The proxy desiring to do loose-routing add Record-Route and routes
it to the presence server.
- The presence server mirrors the Record-Route in the 200 OK.
- Any re-SUBSCRIBE from the client or NOTIFY from the server should
contain "Route" header with that value.
Just it.


-- 
Iñaki Baz Castillo


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

[Sip-implementors] request-uri for re-subscription

2009-07-20 Thread Dushyant Dhalia

I need to know what should be the request-uri for re-subscription?

The RequestURI in initial/first SUBSCRIBE is set to the resource to 
which the subscriber wants to be subscribed to. In NOTIFY the notifier 
sends its contact. Now my question is - is it okay for the subscriber to 
send re-subscribe with RequestURI set to the contact it received in NOTIFY?


Secondly, regarding routeing of re-subscribe. If first SUBSCRIBE was 
routed through outbound proxy but the notifier and other nodes in the 
path included the Record-Route in Notify, is it okay for the subscriber 
to send re-subscribe through Route (by inserting route-header) it 
derived from Record-Route?


Dushyant P S Dhalia
Rancore Technologies


begin:vcard
fn:Dushyant P S  Dhalia
n:Dhalia;Dushyant P S 
email;internet:dushyant.dha...@rancoretech.com
version:2.1
end:vcard

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

Re: [Sip-implementors] Regular expression for SIP URI

2009-07-20 Thread sankara rao bhogi
Alex Balashov wrote:
> Iñaki Baz Castillo wrote:
>
>> 2009/7/20 Alex Balashov :
 You must use a SIP parser instead of a regula expression.
>>> Some people try to condense the requirements of parsing a complex 
>>> grammar
>>> into a single expression, especially when only validation is 
>>> required and
>>> not extraction of any tokens.
>>
>> As I said, a regular expression for a SIP URI (strict regualr
>> expression) takes ~ 50 lines so it's really slow.
>> Instead, a parser is much faster and you could also use it just to
>> validate the SIP URI (without extracting the fields).
>
> No argument.  You are absolutely correct.
>
> I was just trying to shed light on what might compel someone to seek a 
> regex.


Thank you guys. I was thinking, what would SipParser implementation do 
and hence the question.

regards
sankar

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

Re: [Sip-implementors] Regular expression for SIP URI

2009-07-20 Thread Alex Balashov
Iñaki Baz Castillo wrote:

> 2009/7/20 Alex Balashov :
>>> You must use a SIP parser instead of a regula expression.
>> Some people try to condense the requirements of parsing a complex grammar
>> into a single expression, especially when only validation is required and
>> not extraction of any tokens.
> 
> As I said, a regular expression for a SIP URI (strict regualr
> expression) takes ~ 50 lines so it's really slow.
> Instead, a parser is much faster and you could also use it just to
> validate the SIP URI (without extracting the fields).

No argument.  You are absolutely correct.

I was just trying to shed light on what might compel someone to seek a 
regex.

-- 
Alex Balashov
Evariste Systems
Web: http://www.evaristesys.com/
Tel: (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (678) 237-1775
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Regular expression for SIP URI

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 Alex Balashov :
>> You must use a SIP parser instead of a regula expression.
>
> Some people try to condense the requirements of parsing a complex grammar
> into a single expression, especially when only validation is required and
> not extraction of any tokens.

As I said, a regular expression for a SIP URI (strict regualr
expression) takes ~ 50 lines so it's really slow.
Instead, a parser is much faster and you could also use it just to
validate the SIP URI (without extracting the fields).


-- 
Iñaki Baz Castillo


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

Re: [Sip-implementors] Regular expression for SIP URI

2009-07-20 Thread Alex Balashov
Iñaki Baz Castillo wrote:
> 2009/7/20 sankara rao bhogi :
>> Does any one know the regular expression for SIP URI?  I know, from ABNF
>> you can create regex, but I don't want to scracth my head.
> 
> Are you looking for a regular expression to match if a string is a
> correct SIP URI?
> Don't do it as a SIP URI is *really complex* and the regular
> expression would be *really* long (I did it some time ago and it takes
> more than 50 lines).
> 
> You must use a SIP parser instead of a regula expression.

Some people try to condense the requirements of parsing a complex 
grammar into a single expression, especially when only validation is 
required and not extraction of any tokens.

-- 
Alex Balashov
Evariste Systems
Web: http://www.evaristesys.com/
Tel: (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (678) 237-1775
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Regular expression for SIP URI

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 sankara rao bhogi :
>
> Does any one know the regular expression for SIP URI?  I know, from ABNF
> you can create regex, but I don't want to scracth my head.

Are you looking for a regular expression to match if a string is a
correct SIP URI?
Don't do it as a SIP URI is *really complex* and the regular
expression would be *really* long (I did it some time ago and it takes
more than 50 lines).

You must use a SIP parser instead of a regula expression.

-- 
Iñaki Baz Castillo


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

[Sip-implementors] Regular expression for SIP URI

2009-07-20 Thread sankara rao bhogi

Does any one know the regular expression for SIP URI?  I know, from ABNF 
you can create regex, but I don't want to scracth my head.

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


Re: [Sip-implementors] One issue in defending TCP retransmission

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 JC :
> My scenario is as follows, one SIP client sends one fresh SUBSCRIBE to
> SIP server via TCP, and SIP server sends 200OK back immediately.
> Unfortunately, SIP client does incorrect thing to retransmit SUBSCRIBE
> once before it gets final response.

> In this error case, when SIP server
> sends 200OK, associated transaction releases immediately.

This is correct according to RFC 3261:

  17.2.2 Non-INVITE Server Transaction
 [...]
 When the server transaction enters the "Completed" state, it MUST set
 Timer J to fire in 64*T1 seconds for unreliable transports, and zero
 seconds for reliable transports.


> So for
> retransmitted SUBSCRIBE, transaction layer will regard it as a new msg,
> not retransmitted one, and will create a new transation. And dialog
> layer cann't find one matched dialog for retranmited msg because TO tag
> not match, so maybe will create a new dialog.
>
> My question is how to defend the issue in SIP server. I think
> transaction layer cann't do anything.

No, it's the correct behaivour (in the server).


> How about dialog layer, similar
> like early notify process to change dialog matching condition?

Note that, an UAC could open different dialogs against the same destination:
1) Alice can call twice to Bob (at the same time).
2) Alice can subscribe twice to Bob (at the same time).

However I've a doubt here (point 2) since if Alice susbcribes twice to
Bob, having both SUBSCRIBE requests the same "Contact", "From" and
"RURI"... it doesn't make sense for the server to mantain two
subscriptions since the server should send the *exact* NOTIFY's twice
to the same "Contact".

Anyhow, if the Contact of the second request is different, it should
create a new subscription. This is, the server shouldn't "discard" the
second SUBSCRIBE at dialog level (From tag, To tag, Call-ID).


> Or let
> SIP server application layer check it, e.g., the user has been
> subscribed and reject it?

What I would do is:
- If the server receives a SUBSCRIBE with a From, RURI and Contact
matching an existing subscription, the server would send 200 and the
NOTIFY (as usual), but wouldn't store it in the subscription dialogs
(it already exists, no need to add it again as it's useless).




-- 
Iñaki Baz Castillo


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

Re: [Sip-implementors] 2nd try: sip2pstn: P-Asserted-Identity and P-Preferred-Identity

2009-07-20 Thread Iñaki Baz Castillo
2009/7/20 Uwe Kastens :
> Hello list,
>
> Looks like, that my 1st posting is lost.

It's not lost, just nobody replied it.



> I don't if anybody give me a hint. Until today I was very sure the the
>  P-Asserted-Identity is "trusted" and the P-Preferred-Identity is
> "untrusted". So it is wise to map the asserted to the pstn number which
> is the carrier trusted (network provided) and the preferred is a number
> for clip no screening.

A good example for understand the difficult meaning of
P-Preferred-Identity (and probably the only onw) is the usage with
anonymous call, where the client sends a request containing:

  INVITE sip:b...@domain2.net SIP/2.0
  From: 
  P-Preferred-Identity: 
  Privacy: id

So the proxy asks for authentication by generating a challenge with
realm="domain.org" and username="alice".
After authentication, the proxy removes P-Preferred-Identity and
routes the request to Bob:

  INVITE sip:b...@domain2.net SIP/2.0
  From: 


> I discussed with a vendor which will send me a ddi-number for a pbx as
> asserted and the main number as preferred.

Could you paste an example of it?


> The RFC is not very clear in that point - or did I read the wrong ones.

The point here is: what is trusted? According to exotic IETF specs,
"trusted" requires TLS/SSL usage and so.
But a server/proxy could consider as trusted a request from an user
after authentication.


-- 
Iñaki Baz Castillo


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