Re: [Sip-implementors] Global and local - SIP URI

2010-03-17 Thread Paul Kyzivat


prashanth.me wrote:
> Hi Paul,
> Example SIP URI given by Iñaki Baz, does not contain the ;user=phone 
> parameter.
> Should we assume that the userinfo part of the below SIP URI is a 
> telephone-subscriber number or not?
> -
> 
> sip:12345678;phone-context=mydomain@provider.com

Who is "we"?

The server responsible for provider.com will *know* what this 
represents. Others that are privy to the policies of provider.com may 
also know.

But in general, somebody not aware of those specific policies will not 
*know* if this represents a telephone-subscriber or not. It can *assume* 
this if it wants, but then must understand that this is a guess that may 
be wrong.

In any case, what would somebody else do with this if it knew this 
represented a telephone-subscriber? Is it to display the URI in a more 
user-friendly way? Or to route requests in ways that bypass 
provider.com? As far as sip standards are concerned, requests to this 
address need to reach a server for provider.com.

You can of course do whatever you are comfortable doing. But there are 
no guarantees you are doing the right thing.

Thanks,
Paul

> -----
> 
> Thanks,
> Prashanth M E
> 
> Paul Kyzivat wrote:
>> The form of the user part is really the responsibility of the owner of 
>> the domain. user=phone is really only meaningful if the domain owner 
>> allows/supports that. In absence of user=phone, the domain may *choose* 
>> to treat the user part according to tel uri syntax, or not.
>>
>> *if* user=phone is present, and *if* the domain supports use of 
>> user=phone, then a user part that doesn't start with "+" must be a local 
>> number in accord with telephone-subscriber, as Iñaki says below.
>>
>>  Paul
>>
>> Iñaki Baz Castillo wrote:
>>   
>>> El Viernes 05 Marzo 2010, hanifa.mohammed escribió:
>>> 
>>>> Thanks for the response. Pl clarify my assumption.
>>>>
>>>> 1. So, when there is no "user=phone" parameter in the SIP uri, there is no 
>>>> context of Local or Global.
>>>> Or is there any other way to figure out whether a SIP uri is global or 
>>>> local?
>>>> 2. Simply the presence of '+' in the userinfo part of the SIP uri is not 
>>>> suffice enough to declare it as
>>>> a global SIP uri.
>>>>   
>>> If ;user=phone is present you can assume that the SIP URI userinfo is a 
>>> telephone-subscriber number, following same rules (if it begins with "+" 
>>> then 
>>> it's absolute). In order to be local it would be like:
>>>
>>>   sip:12345678;phone-context=mydomain@provider.com
>>>
>>>
>>> 
>> ___
>> 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] [sipcore] RFC 3263 - why require use port in Request-URI?

2010-03-15 Thread Paul Kyzivat


Nancy Greene wrote:
> Ok, thanks, but what about this paragraph? 
>If the TARGET was not a numeric IP address, but a port is present in
>the URI, the client performs an A or  record lookup of the domain
>name.  The result will be a list of IP addresses, each of which can
>be contacted at the specific port from the URI and transport protocol
>determined previously.  The client SHOULD try the first record.  If
>an attempt should fail, based on the definition of failure in Section
>4.3, the next SHOULD be tried, and if that should fail, the next
>SHOULD be tried, and so on. 

When there is an intermediate hop before reaching the R-URI (your 
assumption), then the URI for that intermediate hop is the *target*, not 
the R-URI. This would typically by in the Route header, though you can 
choose an intermediate destination by configuration as well if you wish.

In any case, it is only when the *next* hop is what is present in the 
R-URI that the port number in the R-URI is of concern.

You will find a long section on target selection in 3261.

You might want to ask one of the other Ericsson people that participate 
in ietf for help on this. (E.g. Christer Holmberg, Gonzalo Camarillo)

Thanks,
Paul

> Nancy
> 
> -----Original Message-
> From: Paul Kyzivat [mailto:pkyzi...@cisco.com] 
> Sent: March-15-10 10:42 AM
> To: Nancy Greene
> Cc: SIP-implementors mailing list
> Subject: Re: [sipcore] RFC 3263 - why require use port in Request-URI?
> 
> switching to sip-implementors list
> 
> Nancy Greene wrote:
>> Thanks for the answer, but I'd like to know why the RFC is written the way 
>> it is. 
>>
>> What if there is an intermediate SIP proxy between the target in the 
>> Request-URI and the proxy trying to reach it? That intermediate SIP proxy 
>> does not allow traffic on the port mentioned in the Request-URI, so the 
>> request fails to reach the target.  This does not seem right. Shouldn't the 
>> RFC at the very least require a retry at the port that the intermediate 
>> proxy expects traffic on?
> 
> I think you must be missing something fundamental.
> 
> I think the following describes what you are asking about:
> 
>   C - P -- S
> 
> where the message from C is something like:
> 
>   INVITE sip:f...@s.com:12345
>   Route: sip:p.com
>   ...
> 
> In the above case C would be sending the request to P using the result of SRV 
> lookup on p.com. The port number in the R-URI is irrelevant to how the 
> request is sent to P.
> 
> Once the request reaches P, it will then use the R-URI to decide where to 
> forward the request. So then the port number 12345 will be relevant.
> 
>   Thanks,
>   Paul
> 
>> Nancy
>>
>> -Original Message-
>> From: Paul Kyzivat [mailto:pkyzi...@cisco.com]
>> Sent: March-15-10 9:08 AM
>> To: Nancy Greene
>> Cc: sipc...@ietf.org
>> Subject: Re: [sipcore] RFC 3263 - why require use port in Request-URI?
>>
>> Nancy,
>>
>> Questions such as this should be brought to 
>> .
>>
>> To answer your question...
>>
>> The port from the URI is to be used *if* it is present in the URI.
>> (Would you prefer to *ignore* it?)
>>
>> If the the port is *not* present in the URI, then the port is obtained from 
>> DNS via the SRV query. That is explained further on in the same section of 
>> the document.
>>
>>  Thanks,
>>  Paul
>>
>>
>> Nancy Greene wrote:
>>> I have a question on section 4.2 of RFC 3263: 
>>>  
>>> Why is it that the port of the Request-URI is required to be used for an 
>>> intermediate proxy? Is the issue that it is not known whether the next hop 
>>> proxy is intermediate or is the actual destination in the Request-URI? 
>>>
>>> If so shouldn't there at least be a procedure described to use the port 
>>> from DNS instead of the one in the Request-URI if sending to the one in the 
>>> Request-URI fails?
>>>
>>> Section 4.2 from RFC 3263 (locating SIP servers):
>>>
>>> If the TARGET was not a numeric IP address, but a port is present
>>> in the URI, the client performs an A or  record lookup of the 
>>> domain name. The result will be a list of IP addresses, each of which 
>>> can be contacted at the specific port from the URI and transport 
>>> protocol determined previously.
>>>
>>> Nancy
>>>  
>>>
>>> ___
>>> sipcore mailing list
>>> sipc...@ietf.org
>>> https://www.ietf.org/mailman/listinfo/sipcore
>>>
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] [sipcore] RFC 3263 - why require use port in Request-URI?

2010-03-15 Thread Paul Kyzivat
switching to sip-implementors list

Nancy Greene wrote:
> Thanks for the answer, but I'd like to know why the RFC is written the way it 
> is. 
> 
> What if there is an intermediate SIP proxy between the target in the 
> Request-URI and the proxy trying to reach it? That intermediate SIP proxy 
> does not allow traffic on the port mentioned in the Request-URI, so the 
> request fails to reach the target.  This does not seem right. Shouldn't the 
> RFC at the very least require a retry at the port that the intermediate proxy 
> expects traffic on?

I think you must be missing something fundamental.

I think the following describes what you are asking about:

C - P -- S

where the message from C is something like:

INVITE sip:f...@s.com:12345
Route: sip:p.com
...

In the above case C would be sending the request to P using the result 
of SRV lookup on p.com. The port number in the R-URI is irrelevant to 
how the request is sent to P.

Once the request reaches P, it will then use the R-URI to decide where 
to forward the request. So then the port number 12345 will be relevant.

Thanks,
Paul

> Nancy
> 
> -Original Message-
> From: Paul Kyzivat [mailto:pkyzi...@cisco.com] 
> Sent: March-15-10 9:08 AM
> To: Nancy Greene
> Cc: sipc...@ietf.org
> Subject: Re: [sipcore] RFC 3263 - why require use port in Request-URI?
> 
> Nancy,
> 
> Questions such as this should be brought to 
> .
> 
> To answer your question...
> 
> The port from the URI is to be used *if* it is present in the URI.
> (Would you prefer to *ignore* it?)
> 
> If the the port is *not* present in the URI, then the port is obtained from 
> DNS via the SRV query. That is explained further on in the same section of 
> the document.
> 
>   Thanks,
>   Paul
> 
> 
> Nancy Greene wrote:
>> I have a question on section 4.2 of RFC 3263: 
>>  
>> Why is it that the port of the Request-URI is required to be used for an 
>> intermediate proxy? Is the issue that it is not known whether the next hop 
>> proxy is intermediate or is the actual destination in the Request-URI? 
>>
>> If so shouldn't there at least be a procedure described to use the port from 
>> DNS instead of the one in the Request-URI if sending to the one in the 
>> Request-URI fails?
>>
>> Section 4.2 from RFC 3263 (locating SIP servers):
>>
>> If the TARGET was not a numeric IP address, but a port is present
>> in the URI, the client performs an A or  record lookup of the 
>> domain name. The result will be a list of IP addresses, each of which 
>> can be contacted at the specific port from the URI and transport 
>> protocol determined previously.
>>
>> Nancy
>>  
>>
>> ___
>> sipcore mailing list
>> sipc...@ietf.org
>> https://www.ietf.org/mailman/listinfo/sipcore
>>
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Terminating the dialog when there is no reply for an in-dialog OPTIONS

2010-03-12 Thread Paul Kyzivat
This is addressed by RFC 5057.
The transaction times out and fails, but neither the dialog nor the 
invite dialog usage are affected.

Thanks,
Paul

Iñaki Baz Castillo wrote:
> Hi, an easy scenario:
> 
> - A calls C through a B2BUA and the call is established with direct
> audio between A and C.
> 
> - A sends an in-dialog OPTIONS but B2BUA replies nothing (ignores the
> request) due to a bad implementation or SIP stack.
> 
> - After ~32 seconds A decides that the dialog is dead and terminates
> the call (stops sending RTP).
> 
> 
> In this case A doesn't require to send a BYE as an in-dialog request
> has not been answered by B2BUA so the dialog is clearly broken.
> 
> Well A could generate a BYE with a very high CSeq (at least greater
> than the failed OPTIONS) and send it to B2BUA but it's, for sure, not
> required at all.
> 
> My question is: could somebody please point me to the exact point in
> RFC 3261 in which this is explained? I need it to document a failure
> in a SIP device. I have no doubt about that the above is 100% correct
> (A is not required to send such BYE), but I have to document it and
> cannot find the exact specification in RFC 3261.
> 
> Any reference in RFC 3261 please? Thanks a lot.
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Mid call supported/require option tags modification

2010-03-12 Thread Paul Kyzivat
Specifically regarding session timer:

every UPDATE or reINVITE renegotiates the use/non-use of the timer and 
the timer value. So you may start with it off, and later turn it on, or 
start with it on and later turn it off. If you're not careful, you may 
start with it on and inadvertently turn it off.

Having said that, the value of changing this mid-call is questionable. 
The primary value of session-timer is for true proxies that record-route 
and want some ongoing indication of the status of the session. It 
doesn't do them much good unless it is there for the duration, since 
they can't initiate a change on their own.

The UAC and UAS, and B2BUA intermediaries, don't need session timeer, 
because they can initiate an UPDATE or reINVITE or other message any 
time they are curious about the state of the session, without bothering 
with session timer.

For the general case, there is nothing to prevent you from making 
changes in Supported/Required options mid-dialog. The duration of 
validity of these things is not well specified in any general way, 
though it may be for some specific ones. In general you can only assume 
they are valid for the duration of a single transaction.

Of course if you use Required mid-call you do potentially run the risk 
of that *request* being rejected. But even then, that will not break 
your dialog.

Thanks,
Paul

Balu Meenakshi-a24053 wrote:
> Hi All,
>  How  to implement the mid call supported/required option tag
> modification?
> For e.g. at the start of the call Session timer is not supported,
> mid-call I want to add this, is this allowed. 
>  
> Not only for session timer in general is it Ok to add/remove the
> supported/required option tags in
> mid call requests.
>  
> Please comment on this.
>  
> Thanks & Regards
> -Meena
>  
> ___
> 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] Offer-answer question

2010-03-12 Thread Paul Kyzivat
the way 3264 is worded, any of the codecs in the offer may be used to 
send toward the offerer, and any of the codecs in the answer may be used 
to send toward the answerer.

However in practice I think you will find that many implementations only 
support sending and receiving using codecs in the intersection of the 
offer and the answer.

Thanks,
Paul

Neel Neelakantan wrote:
> See below.
> 
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu [mailto:sip-
>> implementors-boun...@lists.cs.columbia.edu] On Behalf Of Michael
>> Hirschbichler
>> Sent: Friday, March 12, 2010 8:52 AM
>> Cc: sip-implementors@lists.cs.columbia.edu
>> Subject: Re: [Sip-implementors] Offer-answer question
>>
>> Thx,
>>
>> this is also my opinion.
>> To point it down: there is no way to use G726 in *any* direction
>> without
>> Re-INVITEs - is this correct?
>>
> [Neel] 
> Since the offer contains G726, the endpoint A should be prepared to receive 
> G726.  No Re-INVITE is necessary.
> 
> Thanks,
> Neel.
> 
>> BR
>> Michael
>>
>> Am 12.03.2010 15:48, schrieb Arunachala:
>>> Not entirely true. A&  B can talk using both G729 and PCMA. Either
>> one
>>> can switch between these two codecs without the use of a reINVITE.
>>>
>>> -Arun
>>>
>>> On Fri, Mar 12, 2010 at 7:34 PM, Aneesh Naik
>> wrote:
 Hi Michael,

   This will not be allowed. A (UAC) has sent all the codecs it
>> supports,
 and B (UAS) has respoded with the codecs it is willing to talk to A
>> for this
 call. Only one codec will be negotiated for media transfer between A
>> and B.
 In your example below, the negotiated codec is G.729, so both the
>> parties
 must send media on G.729 codec.

 If the codec needs to change it between, then there can be a Re-
>> NVITE to
 change the codec, and both parties once aggreed will start talking
>> on that
 new codec negotiated.

 Thanks,
 Aneesh
 On Fri, Mar 12, 2010 at 7:14 PM, Michael Hirschbichler<
 s...@hirschbichler.biz>  wrote:

> Hi all,
>
> In my specific test-case, client A sends an INVITE offering some
>> codecs
> and client B answers with a 200OK containing a subset of these
>> codecs.
> Is it allowed for client B to transmit media using a codec
>> presented in
> the offer of client A but not acknowledged in the answer of client
>> B?
> e.g.:
>
> client A sends:
> INVITE
> m= G726, G729, G723, PCMA, PCMU
>
> client B responses:
> 200OK
> m= G729, PCMA
>
> the resulting media-exchange:
>
> AG729>B
> A
> is this allowed? Must A accept the G726-media?
>
> BR and thx in advance
> Michael
> ___
> 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
>> ___
>> 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] Global URIs - different phone-contexts

2010-03-05 Thread Paul Kyzivat


Attila Sipos wrote:

> So this leads me to another question:
> 
> What is the practical difference between:
> sip:+12345...@domain.org;user=phone
> and
> sip:+12345...@anotherdomain.org;user=phone

   and
   tel:+12345678

> ?
> 
> Is it that in the first case, the request gets sent to "domain.org"
> but in the seconds case, it is sent to "anotherdomain.org"?
> 
> Are there any other differences?

That is the difference.

And the third case can be sent anywhere (and via any protocol) that gets 
to the place that a pstn call to that number would get.

> Am I right that both requests should get sent to +12345678 on the PSTN?

Not necessarily. Once the request gets to the domain, its the server at 
that domain that decides what happens next. It is under no formal 
obligation to send it to the pstn, or to a place that also receives pstn 
calls to that number, though that is a common expectation.

This is especially notable if the number is not a pstn number that the 
domain is responsible for. In that case it might accept and forward it, 
or it might reject it. This property is a distinct disadvantage of the 
sip uri. For instance,

- you send an invite to sip:+12345...@domain.org;user=phone.

- When it gets there, the owner of that phone has set up
   forwarding to his mobile phone. This causes a redirect to
   sip:+13456...@domain.org;user=phone.

- you (from outside domain.org) send another invite to
   sip:+13456...@domain.org;user=phone.

- when this reaches domain.org, it decides its not forwarding
   calls out of its domain (to the cell provider) on behalf
   of callers outside its own domain, so it returns a 404
   response. (Or pick the error of your choice.)

- now you have to pick up the pieces and decide what to do.

If the 3xx had been to tel:+13456789 then it would have been clear that 
it was your problem to find a path there.

I guess the "normal" fixup for something like this is for an SBC to 
patch the URL in the 3xx. But I don't know what it should patch it to.

Thanks,
Paul



An advantage of the sip form is that
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Global and local - SIP URI

2010-03-05 Thread Paul Kyzivat
The form of the user part is really the responsibility of the owner of 
the domain. user=phone is really only meaningful if the domain owner 
allows/supports that. In absence of user=phone, the domain may *choose* 
to treat the user part according to tel uri syntax, or not.

*if* user=phone is present, and *if* the domain supports use of 
user=phone, then a user part that doesn't start with "+" must be a local 
number in accord with telephone-subscriber, as Iñaki says below.

Paul

Iñaki Baz Castillo wrote:
> El Viernes 05 Marzo 2010, hanifa.mohammed escribió:
>> Thanks for the response. Pl clarify my assumption.
>>
>> 1. So, when there is no "user=phone" parameter in the SIP uri, there is no 
>> context of Local or Global.
>> Or is there any other way to figure out whether a SIP uri is global or 
>> local?
>> 2. Simply the presence of '+' in the userinfo part of the SIP uri is not 
>> suffice enough to declare it as
>> a global SIP uri.
> 
> If ;user=phone is present you can assume that the SIP URI userinfo is a 
> telephone-subscriber number, following same rules (if it begins with "+" then 
> it's absolute). In order to be local it would be like:
> 
>   sip:12345678;phone-context=mydomain@provider.com
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] RFC 2833 / RFC 4733 - question on duration "0"

2010-02-26 Thread Paul Kyzivat
Yes. You could also send to .
Its an active enough place with people that are likely to have insight 
into what others are doing.

Thanks,
Paul

Vinay Pande (vipande) wrote:
> Emailing the authors of 4733 sounds like a good 1st step, since this can 
> become important as 4733 gains acceptance.
> Will you be doing that? if yes, please include Naidu, Girish and myself 
> apart from anyone else you feel should be on it,
> 
> Thanks,
> Vinay
> 
>  
> 
> 
> *From:* Maulik Shah (maushah)
> *Sent:* Tuesday, February 23, 2010 9:28 AM
> *To:* Vinay Pande (vipande); artg-sip-bliss(mailer list); Toleti Danayya 
> Naidu (naidud); Paul Kyzivat (pkyzivat)
> *Subject:* RE: RFC 2833 / RFC 4733 - question on duration "0"
> 
> Hi Vinay
> 
>  
> 
> I think the 3^rd party vendor is going to claim RFC4733 compatibility 
> and apparently in that RFC there is this section on backwards compatibility:
> 
>  
> 
> The memo has been significantly restructured, incorporating a large
> 
>number of clarifications to the specification.  *With the exception of*
> 
> *   those items noted below*, the changes to the memo are intended to be
> 
>backwards-compatible clarifications.  However, due to inconsistencies
> 
>and unclear definitions in RFC 2833 [12] it is likely that some
> 
>implementations interpreted that memo in ways that differ from this
> 
>version.
> 
>  
> 
> …
> 
>  
> 
> *Section 2.3.5* introduces the possibility of "state" events and
> 
>defines procedures for setting the duration field for reports of such
> 
>events.
> 
>  
> 
> Reading through the above seems to suggest that duration = 0 is not 
> meant to be backwards compatible possibly though its not explicitly 
> stated. I think this may become a larger issue for us as more vendors 
> adopt RFC4733 and follow the above. Wonder if this requires an email to 
> the authors to see what should be done unless there are other thoughts.
> 
>  
> 
> Thanks
> 
> Maulik
> 
>  
> 
> SBTG Product Marketing
> 
> Cisco Systems
> 
> 408 525 7827
> 
> Small Business Support Community 
> <https://www.myciscocommunity.com/community/smallbizsupport?view=overview>
> 
>  
> 
> *From:* Vinay Pande (vipande)
> *Sent:* Tuesday, February 23, 2010 12:09 AM
> *To:* Maulik Shah (maushah); artg-sip-bliss(mailer list); Toleti Danayya 
> Naidu (naidud); Paul Kyzivat (pkyzivat)
> *Subject:* RE: RFC 2833 / RFC 4733 - question on duration "0"
> 
>  
> 
> -Q1- I dont think 2833 spells it out explicitly that 0 is not allowed - 
> it is one of those "gray" areas of RFCs I guess...but we never had a 
> problem with other vendors so far -- Why doesnt the other vendor's box 
> read and plan the packet with duration of 400?
> 
> -Q2- Looking at the sec 2.3.5, we seem to be in violation of 4733, since 
> 0 seems to be a special duration (forever)
> 
> -Q3- If RFC 2833 doesnt in anyway say that 0 is an illegal duration, 
> then this is more of a problem that they havent maintained b/ward 
> compatibility between 4733 and 2833.
> 
> Ideally, the 3rd party GW should be lenient in accepting this -- there 
> are many such instances where you are strict when sending, but lenient 
> when you receive something...especially when RFCs are not b/ward compatible
> 
>  
> 
> Thanks,
> Vinay
> 
>  
> 
>  
> 
> 
> 
> *From:* Maulik Shah (maushah)
> *Sent:* Monday, February 22, 2010 10:11 PM
> *To:* artg-sip-bliss(mailer list); Toleti Danayya Naidu (naidud); Paul 
> Kyzivat (pkyzivat); Vinay Pande (vipande)
> *Subject:* RFC 2833 / RFC 4733 - question on duration "0"
> 
> All
> 
>   Hope this is the right mailer – trying to get my head around something 
> odd causing an interop issue with the Cisco SIP stack and a 3^rd party:
> 
>  
> 
> Setup:
> 
> phone – Cisco SIP GW – SIP – 3^rd party GW
> 
>  
> 
> When dialing digits using RFC2833 on the phone, here is what the Cisco 
> GW sends when user pressed digit 1:
> 
>  
> 
> *CISCO*
> 
> DTMF EVENT #
> 
>   
> 
> END
> 
>   
> 
> DURATION
> 
>   
> 
> VOLUME
> 
> 1
> 
>   
> 
> FALSE
> 
>   
> 
> * 0 *
> 
>   
> 
> 10
> 
> 1
> 
>   
> 
> FALSE
> 
>   
> 
> * 0 *
> 
>   
> 
> 10
> 
> 1
> 
>   
> 
> FALSE
> 
>   
> 
> *

Re: [Sip-implementors] Unattended Call Transfer

2010-02-26 Thread Paul Kyzivat
If you aren't interested in the NOTIFY, you can use the norefersub 
option to bypass the subscription altogether.

Alternatively you could use the information about a failure to alert the 
transfering user in some way - display a message, blink, etc. From a 
practical perspective, I think a user that does an unattended call 
transfer would probably like to know if it doesn't succeed.

Thanks,
Paul

Bajaj, Gagandeep wrote:
> Hi 
> Bob sends NOTIFY "terminated" (15th message) to inform Alice that he has
> successfully connected with Carol. 
> 
> Till Alice gets NOTIFY "terminated", it keeps the dialog details. 
> 
>  
> 
> My question is: 
> 
> 1)   Why after doing an unattended transfer and sending BYE to Bob,
> Alice would be interested in the last NOTIFY?
> 
> 2)   Do commercial UAs do anything with the body of this NOTIFY
> "terminated"?
> 
> 3)   If say NOTIFY "terminated" body contains "Failure response to
> Bob-Carol INVITE", what action Alice takes (generally seen) ??
> 
>  
> 
>  
> 
> Thanks 
> 
>  
> 
> Gagandeep Bajaj
> 
>  
> 
> 
> 
> 
> 
> 
> ___
> 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] Multiple redirect responses in single transaction

2010-02-24 Thread Paul Kyzivat
oh, duh! Of course you are right. What was I thinking?

Sorry,
Paul

Anders Kristensen wrote:
> Paul,
> 
> Unless I'm much mistaken proxies can only forward one non-2xx final 
> response upstream. Multiple early-dialogs don't change that.
> 
> Thanks,
> Anders
> 
> On 2/22/2010 1:40 PM, Paul Kyzivat wrote:
>> At end...
>>
>> Aaron Clauson wrote:
>>>> -Original Message-
>>>> From: Dale Worley [mailto:dwor...@avaya.com]
>>>> Sent: Monday, 22 February 2010 4:42 PM
>>>> On Thu, 2010-02-18 at 02:50 +, Aaron Clauson wrote:
>>>>
>>>> You should be able to do this in a standard way.
>>>>
>>>> First, let us assume that an address of the client (which is acting as
>>>> UAS in this situation) is.
>>>>
>>>> The incoming request is "METHOD sip:UAS".  Once the client obtains the
>>>> first redirect URI,, it responds "SIP/2.0 302 Moved
>>>> Temp/Contact: sip:DEST1/Contact:".
>>>>
>>>> This causes the requestor to fork to, but the requestor
>>>> also
>>>> forks to.  The latter request goes back to the
>>>> client,
>>>> bit it is tagged so the client knows to proceed with the second phase
>>>> of
>>>> processing for the request.
>>>>
>>> The problem I have is that the client does not actually know all the
>>> redirects at the point the first one is sent. The client has a human user
>>> pressing buttons to initiate the redirects and there could be gaps of
>>> 1,2,5,10 etc. seconds between subsequent forwards.
>>>
>>> In the meantime I went ahead and used a custom info response of "184
>>> Multiple Redirect" which does the job perfectly.
>> Well, that is entirely proprietary. And if you are putting the "redirect
>> URIs" into the 184 as Contact headers, then you are also messing up
>> dialog state.
>>
>> I didn't fully understand what Dale was suggesting, but I can suggest
>> someting along the same lines:
>>
>> The trick is that you want to send a 3xx, but you want the option to
>> send another 3xx later. You can't do that in the same early dialog, but
>> you can do it in multiple early dialogs. But to do that you must
>> convince the caller that there is another dialog to wait on.
>>
>> So,
>>
>> When your server decides it wants to do this, it should send a 183
>> response a to-tag defining an early dialog. This should be a reliable
>> 1xx if you are permitted to do that.
>>
>> Then when it has an address it wants to send back, it can send a 3xx,
>> but with a *different* to-tag. (This indicates you forked the call and
>> the 3xx is from a different leg.)
>>
>> If you later have another address to return, repeat the above with a
>> different to-tag.
>>
>> When you are done playing these games, you can send the final address in
>> a 3xx with the same to-tag as the 183. Or if you have no more addresses,
>> just return 480 with that to-tag.
>>
>> That's all fully standards compliant, and should elicit the right
>> behavior from any caller that is capable of doing something reasonable
>> with multiple 3xx responses.
>>
>>  Thanks,
>>  Paul
>> ___
>> 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] Multiple redirect responses in single transaction

2010-02-22 Thread Paul Kyzivat
At end...

Aaron Clauson wrote:
>> -Original Message-
>> From: Dale Worley [mailto:dwor...@avaya.com]
>> Sent: Monday, 22 February 2010 4:42 PM 
>> On Thu, 2010-02-18 at 02:50 +, Aaron Clauson wrote:
>>
>> You should be able to do this in a standard way.
>>
>> First, let us assume that an address of the client (which is acting as
>> UAS in this situation) is .
>>
>> The incoming request is "METHOD sip:UAS".  Once the client obtains the
>> first redirect URI, , it responds "SIP/2.0 302 Moved
>> Temp/Contact: sip:DEST1/Contact: ".
>>
>> This causes the requestor to fork to , but the requestor
>> also
>> forks to .  The latter request goes back to the
>> client,
>> bit it is tagged so the client knows to proceed with the second phase
>> of
>> processing for the request.
>>
> 
> The problem I have is that the client does not actually know all the
> redirects at the point the first one is sent. The client has a human user
> pressing buttons to initiate the redirects and there could be gaps of
> 1,2,5,10 etc. seconds between subsequent forwards.
> 
> In the meantime I went ahead and used a custom info response of "184
> Multiple Redirect" which does the job perfectly.

Well, that is entirely proprietary. And if you are putting the "redirect 
URIs" into the 184 as Contact headers, then you are also messing up 
dialog state.

I didn't fully understand what Dale was suggesting, but I can suggest 
someting along the same lines:

The trick is that you want to send a 3xx, but you want the option to 
send another 3xx later. You can't do that in the same early dialog, but 
you can do it in multiple early dialogs. But to do that you must 
convince the caller that there is another dialog to wait on.

So,

When your server decides it wants to do this, it should send a 183 
response a to-tag defining an early dialog. This should be a reliable 
1xx if you are permitted to do that.

Then when it has an address it wants to send back, it can send a 3xx, 
but with a *different* to-tag. (This indicates you forked the call and 
the 3xx is from a different leg.)

If you later have another address to return, repeat the above with a 
different to-tag.

When you are done playing these games, you can send the final address in 
a 3xx with the same to-tag as the 183. Or if you have no more addresses, 
just return 480 with that to-tag.

That's all fully standards compliant, and should elicit the right 
behavior from any caller that is capable of doing something reasonable 
with multiple 3xx responses.

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


Re: [Sip-implementors] Query - are *header* parameters (other than tag) of From and To part of dialog state?

2010-02-19 Thread Paul Kyzivat


Roman Shpount wrote:
> From/To header should be preserved completely with all of its parameters 
> to be compatible with RFC 2543. RFC 3261 Section 11.2 Callee Issues 
> Response says that "The response MUST copy the To, From, Call-ID, CSeq 
> and Via fields from the request." This implies that complete header, 
> including all the header parameters are copied. The RFC 3261 should 
> still match the request based on To and From tags. Older, RFC 2543 based 
> user agents, will only match request to dialog if complete To and From 
> headers are preserved.

That is pertinent to the *response* to the request.

The question is about subsequent requests within the dialog.

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


Re: [Sip-implementors] Query - are *header* parameters (other than tag) of From and To part of dialog state?

2010-02-18 Thread Paul Kyzivat


Brett Tate wrote:
>> Question is: Should the To in that (re)INVITE 
>> contain ';foo=bar' ???
>>
>> AFAIK the contents of that To header are to be generated 
>> from dialog state information. The URI and the tag are 
>> part of that state, but other header parameters from the 
>> original INVITE are not, and hence would not be available 
>> for the addressing of subsequent messages.
>>
>> Does anyone have a different opinion?
> 
> Partially.
> 
> 
>> If so, can you justify it?
> 
> If really supposed to only use dialog state information, all the RFCs showing 
> display-name within To and From of requests within dialog are incorrect: 
> rfc3665, rfc3666, rfc5359, and etcetera.

> However AFAIK, rfc3261 is silent concerning if To and From's non dialog 
> related content should or should not continue to be sent within subsequent 
> requests within dialog.

I don't take it to be a MUST to only use the dialog state.
If you *want* to preserve some other stuff, or just change it 
arbitrarily, I see no reason why you can't. But I can't require you to 
do so.

> Concerning your foo=bar question, I agree that it is valid to drop the 
> parameter.  Sections 20.20 and 20.39 (and silence of 12.2.1.1) indicate that 
> it is valid.  However as you noticed, such behavior can cause 
> interoperability problems.

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


Re: [Sip-implementors] Query - are *header* parameters (other than tag) of From and To part of dialog state?

2010-02-18 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> El Miércoles, 17 de Febrero de 2010, Paul Kyzivat escribió:
>> AFAIK the contents of that To header are to be generated from dialog 
>> state information. The URI and the tag are part of that state, but other 
>> header parameters from the original INVITE are not, and hence would not 
>> be available for the addressing of subsequent messages.
>>
>> Does anyone have a different opinion?
>> If so, can you justify it?
> 
> I also expect that keeping the From/To tags are enough while keeping other 
> From/To header parameters is not required for an in-dialog request.
> 
> If Alice wants to keep more custon info within the dialog she/it could add 
> such parameters to Contact URI in the first parameter, right?

They could be added as Contact URI params, or as From URI params.

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


[Sip-implementors] Query - are *header* parameters (other than tag) of From and To part of dialog state?

2010-02-17 Thread Paul Kyzivat
I got queried about this when an interop problem popped up.
I know what I think the right answer is, but want to check what others 
think.

Here is the case:

Alice calls Bob:

   INVITE ...
   From: ;tag=;foo=bar

this succeeds and a dialog is established.
Then, within that dialog, Bob sends a request to Alice. E.g.

   INVITE ...
   To: ;tag=

Question is: Should the To in that (re)INVITE contain ';foo=bar' ???

AFAIK the contents of that To header are to be generated from dialog 
state information. The URI and the tag are part of that state, but other 
header parameters from the original INVITE are not, and hence would not 
be available for the addressing of subsequent messages.

Does anyone have a different opinion?
If so, can you justify it?

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


Re: [Sip-implementors] CSeq of retried INVITE

2010-01-29 Thread Paul Kyzivat
Once the first INVITE has failed, and early dialog it might have had is 
gone. The retried INVITE is working toward establishing a new dialog. So 
the CSeq values are for that dialog. I think that means the CSeq 
numbering should be permitted to restart.

OTOH, if there are any messages still in transit from the prior attempt, 
they could be a problem if the numbering resets.

Thanks,
Paul

ViVeK tAlWaR wrote:
> According to RFC 3261
> 
>  
> 
> "CSeq or Command Sequence contains an integer and a method name.  The
> 
>CSeq number is incremented for each new request within a dialog and
> 
>is a traditional sequence number.
> 
> "
> 
>  
> 
> CSeq increment is not done for specific request it is done for all  the
> request in the dialog.
> 
>  
> 
> Regards,
> 
> Vivek
> 
>   _  
> 
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Dushyant Dhalia
> Sent: Friday, January 29, 2010 4:52 PM
> To: OKUMURA Shinji
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] CSeq of retried INVITE
> 
>  
> 
> It must be greater that or equal to 3.
> 
> Dushyant P S Dhalia
> 
> OKUMURA Shinji wrote: 
> 
> Hi,
>  
> I have a question regarding CSeq of retried INVITE.
>  
> Consider the following scenario.
>  
> |  INVITE(CSeq:1)|
> |--->|
> ||
> |  18x   |
> |<---|
> ||
> |  PRACK(CSeq:2) |
> |--->|
> ||
> |  200 OK(PRACK) |
> |<---|
> ||
> |  415   |
> |<---|
> ||
> |  ACK   |
> |--->|
> ||
> |  INVITE(CSeq:2)|
> |--->|
> |  with the same Call-ID |
> ||
>  
>  
> according to the section 8.1.3.5 in RFC3261, 2nd INVITE
>   "SHOULD have the same value of the
>Call-ID, To, and From of the previous request, but the CSeq should
>contain a new sequence number that is one higher than the previous."
>  
> therefore, I think the CSeq of 2nd INVITE SHOULD be "2".
>  
> Is my understanding correct?
>  
> Regards,
> Shinji
> ___
> 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] Is anonymous user allowed in sip-uri with user=phone?

2010-01-14 Thread Paul Kyzivat
To be anonymous with a tel URI, just lie and use somebody else's number.
Or, you could do something like:

tel:0;phone-context=anonymous.invalid

But AFAIK there is no *standard* way of doing it.

Thanks,
Paul

Iñaki Baz Castillo wrote:
> El Miércoles, 13 de Enero de 2010, Paul Kyzivat escribió:
>> This says that if the user field contains an e164 telephone-subscriber 
>> than user=phone SHOULD be present. It doesn't state the converse: that 
>> if the user part *doesn't* contain a telephone-subscriber then there 
>> should not be a user=phone.
>>
>> So I don't think this can be viewed as a syntactic error. It needs to be 
>> considered a semantic distinction and only considered by something 
>> responsible for the domain that has knowledge of the semantics of user 
>> names in that domain.
> 
> BTW, how to indicate anonymous caller in a TEL URI? perhaps it's not possible 
> (due to grammar restrictions) so a SIP URI must be used for this purpose? 
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Is anonymous user allowed in sip-uri with user=phone?

2010-01-13 Thread Paul Kyzivat
I'm going to get a bit nit-picky here. The text from 3261 says:

  The set of valid telephone-subscriber strings is a subset of
  valid user strings.  The user URI parameter exists to
  distinguish telephone numbers from user names that happen to
  look like telephone numbers.  If the user string contains a
  telephone number formatted as a telephone-subscriber, the user
  parameter value "phone" SHOULD be present.  Even without this
  parameter, recipients of SIP and SIPS URIs MAY interpret the
  pre-@ part as a telephone number if local restrictions on the
  name space for user name allow it.

This says that if the user field contains an e164 telephone-subscriber 
than user=phone SHOULD be present. It doesn't state the converse: that 
if the user part *doesn't* contain a telephone-subscriber then there 
should *not* be a user=phone.

So I don't think this can be viewed as a syntactic error. It needs to be 
considered a semantic distinction and only considered by something 
responsible for the domain that has knowledge of the semantics of user 
names in that domain.

Thanks,
Paul

Brett Tate wrote:
>>> In case it matters, "anonymous" does violate the character 
>>> set for the digits portion of telephone-subscriber.  Thus 
>>> although maybe not desirable, a strict parser may reject 
>>> the INVITE with a 400 response.
>> It's just a semantic subject. No strict SIP parser should 
>> reject such SIP URI even if its username part doesn't conform 
>> to telephone-subscriber grammar when "user=phone" parameter 
>> is present.
> 
> The sender indicated user=phone when user portion cannot really be decoded 
> (per BNF character restrictions) into a telephone-subscriber.  Thus a vendor 
> may choose to reject the request.
> 
> Concerning the topic, I've heard of a vendor's protocol monitor (or similar 
> device not directly involved within the call) being overly restrictive 
> concerning ability to decode telephone-subscriber when user=phone.  If I 
> recall correctly, the user portion of sip-uri was "anonymous" or there was no 
> user portion.  The abnormal situation was causing them problems; I have no 
> idea if they have relaxed their decoder.
> 
> 
>> I've tested it with my SIP parser which is 100% strict 
>> according to RFC 3261 grammar and RFC 3966 (TEL). Such 
>> SIP URI is valid according to BNF.
> 
> Does your parser allow invalid characters within the local-number-digits or 
> does it not allow "anonymous;phone-context=national" to successfully decode 
> into a telephone-subscriber?
> 
> 
> ___
> 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] Is anonymous user allowed in sip-uri with user=phone?

2010-01-13 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> El Miércoles, 13 de Enero de 2010, ROHIT CHAUDHARY escribió:
>> Hi experts,
>>
>> A sip-uri with user part as "anonymous" is allowed. But if the user
>>  parameter is phone, ie, the user part is to be treated as
>>  telephone-subscriber of tel-url (RFC 3966), then should it be allowed,
>>  something like this:
>>
>> 
> 
> As you said, "if the user parameter is phone the user part is to be treated 
> as 
> telephone-subscriber of tel-url (RFC 3966)".
> 
> Of course, "anonymous" is not a valid TEL number so the above SIP URI (which 
> comes from a TEL URI due to the presence of "user=phone") makes no sense 
> (IMHO).

It makes no sense. But the decision that it makes no sense is up to a 
server for the domain of the URI.

So this should not be objected to until it reaches a server for the 
host1.com domain. It will then have the job of interpreting the user 
part of the URI, and will presumably reject it. But if it *wants* to 
accept it, I guess it may.

Thanks,
Paul

> In order to get a better anonymous URI I would use just:
> 
>   From: Anonymous ;tag=1928301774
> 
> This is, with no "user" param. However RFC 3261 doens't specify very well how 
> to set an "anonymous" URI/sender.
> 
>> Is this a valid sip-url or should it be answered with 400 Bad Request?
> 
>>From the point of view of the SIP ABNF grammar it's correct.
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Need info on Call-ID

2010-01-04 Thread Paul Kyzivat


Rajanikanth wrote:
> But in RFC5627(GRUU) it's mentioned that Call-ID can change in register 
> refresh requests,if UA wants to invalidate temp-gruu.
> Can we change call-ID in the register refresh requests?

Sure you can change the callid from one REGISTER request to another. In 
that case it is, as far as the registrar is concerned, not a refresh but 
rather an entirely new registration.

Thanks,
Paul

> --
> Thanks,
> Rajanikanth
> 
> Uttam Sarkar wrote:
>> RFC 3261 says:
>>
>> In section 10.3
>>
>>
>>   Call-ID: All registrations from a UAC SHOULD use the same Call-ID
>>header field value for registrations sent to a particular
>>registrar.
>>
>>If the same client were to use different Call-ID values, a
>>registrar could not detect whether a delayed REGISTER request
>>might have arrived out of order.
>>
>>
>>
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu
>> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
>> Rajanikanth
>> Sent: Tuesday, December 22, 2009 11:28 PM
>> To: sip-implementors@lists.cs.columbia.edu
>> Subject: [Sip-implementors] Need info on Call-ID
>>
>> Hi All,
>>
>> When can a Call-ID changes in SIP Registration with regard to GRUU.
>>
>> --
>> Thanks,
>> Rajanikanth
>> ___
>> 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] Query related to SUBSCRIBE - NOTIFY behavior w.r.t. proxy server

2009-12-14 Thread Paul Kyzivat


Pandurangan R S wrote:
>> In such a case UAC and NOTIFIER would destroy then SUBSCRIBE
>> dialog quietly.
> 
> NOTIFIER will destroy the dialog as per RFC3265.
> But how/why did the UAC destroy subscribe dialog? I think it has to
> wait for the NOTIFY.
> 
>> Now my questions are -
>> 1. Does the proxy server have to start a timer for receipt of NOTIFY?
>> 2. What should be the value of such a timer, if any?
> 
> NOTIFY can come after quite a long time (authorization may take a long
> time, if interacting with user, a primary reason that
> subscription-state is *finally* conveyed in a NOTIFY message, a
> separate transaction)

This is wrong.

INVITE can take a long time, which is why the invite transaction has its 
own state machine and the ACK.

SUBSCRIBE is a normal sip transaction, and times out like one, after 
(IIRC) 32 seconds.

Re the original question:

Did the proxy Record-Route? If not then it won't see the NOTIFY anyway.


The recent clarifications to SUB/NOT (in progress) make it clear that 
the dialog/dialog-usage for SUBSCRIBE is established by the NOTIFY, not 
by the SUBSCRIBE. So if the proxy is dialog stateful, then it can 
capture some *tentative* state based on the SUBSCRIBE, and then watch 
for NOTIFYs. (The SUBSCRIBE may be forked.) When/if it sees them it can 
establish actual dialog state. If the SUBSCRIBE transaction times out 
without there having been any NOTIFYs, then the proxy can forget the 
whole thing.

Thanks,
Paul

>> 3. Won't this timer be, if there's any, similar to session-expires timer?
> 
> Anyway, subscribe dialog lifetime is bound (even at proxy, if dialog
> stateful) based on expires header 2xx response for subscribe. So I
> don't think any other timer is required.
> 
> On Mon, Dec 14, 2009 at 5:43 PM, Dushyant Dhalia
>  wrote:
>> The scenario is as follows -
>>
>> 1. UAC sends SUBSCRIBE.
>> 2. Proxy forwards SUBSCRIBE to the NOTIFIER.
>> 3. NOTIFIER sends 200 (OK) which is received by the UAC.
>> 4. NOTIFIER sends NOTIFY which is lost, retransmissions are also lost.
>>
>> As per RFCs 3265 and 5057 subscribe usage should be destroyed in such a
>> scenario. See sec. 4.2 of RFC 5057 (NOTIFY or refresh-SUBSCRIBE request
>> timeout). In such a case UAC and NOTIFIER would destroy then SUBSCRIBE
>> dialog quietly.
>>
>> Now my questions are -
>> 1. Does the proxy server have to start a timer for receipt of NOTIFY?
>> 2. What should be the value of such a timer, if any?
>> 3. Won't this timer be, if there's any, similar to session-expires timer?
>>
>> Regards,
>> Dushyant P S Dhalia,
>> Rancore Technologies, INDIA
>>
>> --
>> "When work is a pleasure, life is a joy! When work is duty, life is
>> slavery."
>>
>> ___
>> 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 proxy to drop off from a SIP chain

2009-12-10 Thread Paul Kyzivat
If your proxy refrains from adding itself to the Record-Route header, it 
will not remain in the chain. (You must take overt action to stay in.)

But note this is for *proxies*, not B2BUAs.

Paul

Mihaly Zachar wrote:
> Hi Gents,
> 
> 
> How is it possible to drop off a SIP chain after the call setup ?
> 
> I need to write a proxy which forwards the call from A to B, but after
> the first transaction (INVITE, 18x, 200 OK, ACK) it should drop off the
> SIP chain.
> Any other messages should go between the 2 peers (A<->B).
> 
> Is it allowed by the RFC3261 ?
> What are the key steps, how can I do it ?
> 
> Any comments are welcome.
> 
> Best regards,
> Misi
> 
> ___
> 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] Glare condition with BYE and re-INVITE requests

2009-12-09 Thread Paul Kyzivat
IMO it would be inappropriate to send a 491 in this case, because it is 
not glare, and it is perfectly ok to terminate the dialog. Given that it 
has sent the BYE, I *think* it would be ok for S to send a 481 to the 
reinvite. (But I haven't scrutinized the state machines regarding this.) 
If not 481, it can find some response for the reINVITE. But I think A 
should respond 200 to the BYE.

Thanks,
Paul

Vishal Agrawal wrote:
> Hi,
> 
> Assume that phone “A” issues a re-INVITE request to the SIP server “S” and
> at the same time “S” issues a BYE request to “A”.
> 
> Is it valid for “A” to send a 491 response to this BYE request from “S”?
> 
> The SIP INVITE dialog is for a point to point media session.
> 
> Here is the quote from the Section 15.1.2 in RFC 3261 –
> 
> “A UAS core receiving a BYE request for an existing dialog MUST follow the
> procedures of Section 12.2.2 to process the request.  Once done, the UAS
> SHOULD terminate the session (and therefore stop sending and listening for
> media).  The only case where it can elect not to are multicast sessions,
> where participation is possible even if the other participant in the dialog
> has terminated its involvement in the session.  Whether or not it ends its
> participation on the session, the UAS core MUST generate a 2xx response to
> the BYE, and MUST pass that to the server transaction for transmission.”
> 
>>From the above, my understanding is that “A” must send a 200 OK response for
> this BYE request regardless of it terminating the SIP session or not, is
> this understanding correct?
> 
>>From reading the sections 14.2 and 21.4.27, it seems RFC 3261 mentions 491
> response for INVITE requests only in glare conditions. Is it valid and a
> good idea to send a 491 response for the BYE request when a re-INVITE client
> transaction is pending?
> 
> Lastly – “UAS SHOULD terminate the session” – why is this requirement  at
> SHOULD level? If the far-end “S” wants to terminate the session and has sent
> a BYE request, mustn’t “A” terminate the session and expect a 487 from “S”
> for its re-INVITE?
> 
> Thanks,
> Vishal
> ___
> 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] Handling retransmission for 200 OK- whenBYEreceived, before ACK for INVITE

2009-12-09 Thread Paul Kyzivat
Remember that there are two views of whether a dialog exists: one by the 
UAC and one by the UAS. The goal is for them to agree, but there are 
points in time when they don't agree.

So when the UAS sends a response < 300 with to-tag, *it* thinks there is 
a dialog. This is true regardless of whether the response is provisional 
or final, reliable or not.

When the UAC receives such a response, then *it* knows there is a 
dialog, and that the UAS agrees with that understanding.

The ACK (or PRACK) allows the UAS to know that UAC and UAS agree there 
is a dialog.

Thanks,
Paul

sunil.bha...@wipro.com wrote:
> Thanks a lot.
> 
> Regards,
> Sunil
> 
> -Original Message-
> From: Ritul Sonania [mailto:ri...@in.niksun.com] 
> Sent: Wednesday, December 09, 2009 2:35 PM
> To: Sunil Bhagat (WT01 - Telecom Equipment)
> Cc: sip-implementors@lists.cs.columbia.edu;
> zhiqiang.z...@alcatel-sbell.com.cn
> Subject: RE: [Sip-implementors] Handling retransmission for 200 OK-
> whenBYEreceived, before ACK for INVITE
> 
> 
>> Does this mean that there is no dialog?? Since 200 OK was lost in the
>> network? Or would the UAS maintain dialog information based on 200 OK
>> which it had sent... even though it was lost?
> 
> I suggest you read the RFC Section 13.3.1.4
> 
>The 2xx response is passed to the transport with an
>interval that starts at T1 seconds and doubles for each
>retransmission until it reaches T2 seconds (T1 and T2 are defined in
>Section 17).  Response retransmissions cease when an ACK request for
>the response is received.  This is independent of whatever transport
>protocols are used to send the response.
> 
>If the server retransmits the 2xx response for 64*T1 seconds without
>receiving an ACK, the dialog is confirmed, but the session SHOULD be
>terminated.
> 
> Regards,
> Ritul Sonania
> 
>> Regards,
>> Sunil
>>
>> -Original Message-
>> From: Ritul Sonania [mailto:ri...@in.niksun.com]
>> Sent: Wednesday, December 09, 2009 12:59 PM
>> To: Sunil Bhagat (WT01 - Telecom Equipment)
>> Cc: sip-implementors@lists.cs.columbia.edu;
>> zhiqiang.z...@alcatel-sbell.com.cn
>> Subject: RE: [Sip-implementors] Handling retransmission for 200 OK-
>> whenBYEreceived, before ACK for INVITE
>>
>>
>>> Hi,
>>>
>>> What if 200 OK is lost in the network?? Shouldn't it be ACK that
>>> guarantees a successful dialog creation?
>>>
>> A UAC should send the ACK only when it has received the final
> response.
>> So,
>> in case 200 OK is lost, no ACK would be transmitted.
>>
>> Regards,
>> Ritul Sonania
>>
>>> Regards,
>>> Sunil
>>>
>>> -Original Message-
>>> From: Ritul Sonania [mailto:ri...@in.niksun.com]
>>> Sent: Wednesday, December 09, 2009 12:27 PM
>>> To: Sunil Bhagat (WT01 - Telecom Equipment)
>>> Cc: sip-implementors@lists.cs.columbia.edu;
>>> zhiqiang.z...@alcatel-sbell.com.cn
>>> Subject: RE: [Sip-implementors] Handling retransmission for 200 OK-
>>> whenBYEreceived, before ACK for INVITE
>>>
>>>
 Hi All,

 I have a question here.

 Does 200 Response guarantees that a dialog has been established?
> Or
>> is
 it the ACK which confirms establishment of a successful dialog?

>>>
>>> Hi Sunil,
>>>
>>> A final response (200 OK) is sufficient to create a dialog; ACK is
> not
>>> used
>>> for creating dialog. A provisional response creates "early" dialog.
>>>
>>> Thanks,
>>> Ritul Sonania
>>>
 Thanks,
 Sunil

 -Original Message-
 From: sip-implementors-boun...@lists.cs.columbia.edu
 [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf
> Of
 ZHAO Zhiqiang
 Sent: Wednesday, December 09, 2009 9:32 AM
 To: sip-implementors@lists.cs.columbia.edu
 Subject: [Sip-implementors] Handling retransmission for 200 OK-
> when
 BYEreceived, before ACK for INVITE

 Hello sudhagar, Dale , Rahul A. Jadhav



 The retransmission for 200OK to INVITE is processed  by TU layer(
>>> Please
 check 3261 Page 134), not transaction layer. after sent a 200OK
> for
 INVITE, server transaction will transit to TERMINATE state
> according
>>> to
 INVITE SERVER TRANSACTION state diagram.

 so , I think TU layer received BYE, then it should be stop
 retransmission for 200 OK, How do you think?


 Best regards
 Andy




 ///
 You should always see 200 OK retransmissions in this case, until
> the
>>> UAS
 receives the ACK or the transaction times out.
 On receiving BYE, the transaction layer would treat it as a
>> different
 transaction altogether and wont try to relate it in anyway to the
>>> INVITE
 transaction. Thus transaction layer would handover the BYE to the
> TU
>>> and
 TU
 would respond back with a 200 OK since it already had the session
 created
 for which it received BYE.
 Also, transaction layer cannot relate the BYE transaction to

Re: [Sip-implementors] UPDATE recieve with SDP without completeing provisional response.

2009-12-03 Thread Paul Kyzivat
To be charitable, we should assume that the UAC is trying to do the 
right thing. So presumably it *sent* the PRACK (which was then lost or 
delayed), and then sent the UPDATE without awaiting the reply to the prack.

The UAS can infer from the UPDATE with offer that the 183 was received, 
and that the PRACK could not have contained an offer. So I think it is 
justified in "being liberal" and responding to the UPDATE as if things 
were fine. The fact that the UAC didn't wait for the response to the 
prack, and yet is upset with receiving the response to the UPDATE before 
the response to the PRACK is then presumably its problem.

An alternative approach that the UAS could take to this case is to 
simply ignore (lose) the UPDATE. That will cause it to be retransmitted. 
In the meantime the PRACK will hopefully show up.

Thanks,
Paul

vijaya yadav wrote:
> Hi Kinnu,
> 
> Yes, UAC is at fault here but in this case what should do UAS if PRACK is
> droped on network or not send from UAC and UAS receive the Update message
> with SDP.
> 
> Regards
> VYADAV
> 
> On Thu, Dec 3, 2009 at 12:52 PM, Kanta C  wrote:
> 
>> I think the UAC is at fault here. It should have responded with a PRACK for
>> the 183 and then 200 OK for UPDATE.
>>
>>
>> Regards,
>> Kinnu
>>
>>
>>  --
>> *From:* vijaya yadav 
>> *To:* sip-implementors@lists.cs.columbia.edu
>> *Sent:* Thu, December 3, 2009 12:30:00 PM
>> *Subject:* [Sip-implementors] UPDATE recieve with SDP without completeing
>> provisional response.
>>
>> Hi
>>
>>
>>
>> <- INVITE (SDP)
>>
>> -->183(SDP) (100rel)
>>
>> PRACK not received from the UAC
>>
>> <-UPDATE(SDP)
>>
>> -->200OK(SDP)  [Is this correct message or UAS send any 4xx message]
>>
>> -->183 retransmitted
>>
>> ->500 Internal server error
>>
>>
>>
>>
>>
>> What is the behaviour of UAS if not recievd the PRACK of 183 and recieve a
>> UPDATE message with new offer
>>
>>
>>
>>
>> ~Vijaya
>> ___
>> 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] Any real case of a TEL/SIP URI with parameters as user?

2009-12-01 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> El Martes, 1 de Diciembre de 2009, Paul Kyzivat escribió:
> 
>>> So, is there any SIP core in which such URI's exist for its users?
>>> Of course "they COULD exist", however I want to know if they *really*
>>> exist :)
>> I'm curious why you ask.
>>
>> Are you considering an implementation that cannot support such use?
> 
> I'm coding a XCAP server. The HTTP request URI contains a XUI field with the 
> user (SIP/TEL URI) whose document is desired.
> 
> I must decide how to code that HTTP URI parser for the case in which a XUI is 
> a SIP/TEL URI with params:
> 
> a) Allow it but just take the URI ignoring the URI params.
> b) Allow it and treat the full URI (including parameters) as username.
> c) Reject it as I don't allow URI parameters in XUI.
> 
> I really assume that the only open door is the case of TEL URI with local 
> number (so ";phone-context" param is required as per RFC 3963), but I know no 
> cases of a user with such local TEL URI as identifier.
>  
>> In practice your assumption is probably right for "normal" URIs, of the
>> sort that someone might put in a vcard or on a real business card.
>> These things are more likely to arise when the URI is learned through
>> signaling, such as in a Contact address.
>>
>> For instance these can arise as GRUUs. (And yes, there are now some
>> implementations of GRUU.)
> 
> Yes, but that makes sense when setting the URI as Request URI and so, but I 
> just mean the URI with identifies a user, this is, the same URI that the user 
> sets in "From" header or credentials "username" field. 

The cases where such things will show up in From are fewer than those 
where it might show up in To.

The obvious case for From is when a gruu is being used for anonymity, 
although in that case the From might just as well be set to 
sip:anonym...@anonymizer.invalid. And so that may not be a relevant case 
for you.

There is the case where you had called me, and used a gruu for your 
Contact address. Later I use that contact to establish a separate dialog 
to you, and so I use it as both the R-URI and the To-URI. Subsequently 
in that dialog you may send a reINVITE, in which case you will have to 
use the same URI as your From-URI.

I don't know if any of this affects what you are doing.

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

Re: [Sip-implementors] Any real case of a TEL/SIP URI with parameters as user?

2009-12-01 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> Hi, if there any *real* case in any SIP core (i.e: IMS) in which a user could 
> have a URI with parameters?
> 
> Usually it doesn't occur as any network/provider users have an identifier 
> like:
>   - sip:al...@domain.org
>   - tel:+12345678
> 
> However I wonder if there is a real case in which users have params in their 
> identifying uri's as:
>   - sip:al...@domain.org;param=lalala
>   - tel:934354;phone-context=mydomain.org
> 
> Note that a TEL URI must include a param ";phone-context" if the TEL number 
> is 
> local (so doesn't start by "+") rather than global.
> 
> So, is there any SIP core in which such URI's exist for its users?
> Of course "they COULD exist", however I want to know if they *really* exist :)

I'm curious why you ask.

Are you considering an implementation that cannot support such use?

In practice your assumption is probably right for "normal" URIs, of the 
sort that someone might put in a vcard or on a real business card.
These things are more likely to arise when the URI is learned through 
signaling, such as in a Contact address.

For instance these can arise as GRUUs. (And yes, there are now some 
implementations of GRUU.)

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

Re: [Sip-implementors] Query related to OPTIONS

2009-12-01 Thread Paul Kyzivat


sunil.bha...@wipro.com wrote:
> Hi,
> 
> Say, UAS doesn't have any endpoint configured and will not be able to handle 
> calls. In this case, should the UAS send a 4xx response, say 408 timeout, 
> when it receives OPTIONS request, or is it better to ignore the incoming 
> OPTIONS request and not send any response to it?

Returning no response at all is an *exceedingly* bad choice. It will 
result in the requester retrying and so take a long time to fail. Almost 
anything else would be better, but 408 is nearly as bad.

You say it is a UAS, but can't handle calls. Do you mean it can't handle 
calls *now*? (E.g. it is a "pbx" implemented as a B2BUA that may at a 
later time be able to handle calls when it has some extensions 
connected.) Or do you mean it will *never* be able to handle calls, suas 
would be the case for an event server that only handles SUBSCRIBE and 
NOTIFY??

IMO OPTIONS was specified poorly when it called for returning the same 
response that an INVITE would, because it doesn't recognize all these 
kinds of cases. I believe many devices will respond with 200 to OPTIONS 
regardless of what they would do for an INVITE.

So you might consider doing that - returning 200. If you can *never* 
support INVITE, just omit it from the Allow header. If you really want 
to return an error, 480 might suit this situation - that is typically 
what a proxy would return to an invite if there were currently no 
registrations.

Thanks,
Paul

> Regards,
> Sunil
> 
> -Original Message-
> From: Iñaki Baz Castillo [mailto:i...@aliax.net] 
> Sent: Thursday, November 12, 2009 8:03 PM
> To: Sunil Bhagat (WT01 - Telecom Equipment)
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] Query related to OPTIONS
> 
> 2009/11/12  :
>> Hi,
>>
>> I have a small query regarding OPTIONS method in SIP.
>> As per RFC 3261, OPTIONS is used to query a user agent or server about
>> its capabilities and discover its current availability.
>>
>> Say, I have a SIP server which controls several endpoints, but none of
>> them is up. Now I receive an OPTIONS message from the NETWORK.
>> So, what should the reply from my server be? Should the SIP server send
>> 200 OK response with its capabilities and availability? Or should it
>> send some 4XX or 6XX response indicating that endpoints are down?
> 
> I would suggest you to forget the theoretical usage of OPTIONS as it's
> not a robust "feature" (imagine there is parallel forking so you just
> receive the response from one of the branches).
> 
> However the behavior you mean is more designed to work with endpoints.
> This is, I send an OPTIONS to a phone and it replies me 200 if it's
> available to receive an INVITE, 486 if it has all its lines in use,
> 480 if it has set DND and so...
> 
> But I don't expect the same behaviour in a server/b2bua/gateway as the
> server/b2bua/gateway cannot know which response it will receive when
> forwarding a call.
> 
> IMHO nowadays OPTIONS is just used to mantain the NAT keepalive and to
> check if a server/endpoint is alive (regardless of the response it
> replies for that OPTIONS).
> 
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Clarification of Redirect originator

2009-11-30 Thread Paul Kyzivat


Aniruddha Vaidya wrote:
> Hi,
> 
> I have a doubt on this. Should this behavior be of stateful proxy or can
> stateless proxy also do this? In my understanding, a stateless proxy should
> not do anything on its own and it should actually pass it to UAC. Is this
> understanding correct or stateless proxies can also do this?

In order to fork a request a proxy must be (transaction)stateful.
So you are right that a stateless proxy would have to simply forward the 
3xx.

Paul

> Thanks,
> Aniruddha
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of Brett
> Tate
> Sent: Wednesday, November 25, 2009 4:29 AM
> To: Brez Borland; sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] Clarification of Redirect originator
> 
> See 3xx discussions within rfc3261 section 16.7.  The 3xx can be proxied or
> the proxy can recurse on the targets from the 3xx's Contact entries.  When
> doing the recursion, the proxy is still acting as a proxy; it is just
> forking the request to more locations.
> 
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu [mailto:sip-
>> implementors-boun...@lists.cs.columbia.edu] On Behalf Of Brez Borland
>> Sent: Tuesday, November 24, 2009 4:33 PM
>> To: sip-implementors@lists.cs.columbia.edu
>> Subject: [Sip-implementors] Clarification of Redirect originator
>>
>> Hi all,
>>
>> If I have UAC who is sending a REGISTER request trough proxy server.
>> Proxy server sends this request further on to REGISTER server.
>> REGISTER server sends a Redirect response to the proxy server.
>>
>> Now, should proxy server send this Redirect response to UAC, or should
>> it try to send the REGISTER request to the address specified in
>> Redirect?
>>
>> The RFC3261, 8.3 Redirect servers, say:
>>
>>
>> When the originator of the
>>request receives the redirection, it will send a new request based
>> on
>>the URI(s) it has received.  By propagating URIs from the core of
>> the
>>network to its edges, redirection allows for considerable network
>>scalability.
>>
>>
>> My question is, can the proxy be considered as a request originator?
>> Or is it strictly UAC.
>>
>> I am trying to solve this puzzle and fail to do it myself, please
>> gurus of sip, I will greatly appreciate your help,
>>
>>
>> Thank you,
>>
>> Regards,
>>
>> Brez
>> ___
>> 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
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] New offer answer using ReInvite and Update

2009-11-23 Thread Paul Kyzivat


Mayank Gupta wrote:
>  Hi Ritul
> 
> Is there any significance of this additional message for INVITE?
> 
> ACK for initial INVITE request makes sense as it may be useful for
> offer-answer when initial INVITE is without SDP and offer is received from
> called party in 200 OK. In that case ACK will send the answer.
> 
> But what is the use of ACK for re-Invite message?

The main reason for ACK (IIUC) is because the INVITE can be pending for 
a long time, unlike other transactions. (The lifetime of the INVITE 
transaction can be extended indefinitely by sending provisional 
responses.) Once UAC receives a provisional response, it ceases 
retransmission of the INVITE. As a consequence, if the 200 response is 
lost, there will be no retransmission of the INVITE to remind the UAS to 
retransmit the 200. In lieu of that, the 200 is retransmitted until the 
ACK is received.

Even a reINVITE can result in alerting, and hence may be extended a long 
time. So the same logic applies there.

If you do an O/A using UPDATE, then it really is infeasible for the UAS 
to alert before responding, so it must make its decision without human 
input.

Thanks,
Paul

> Mayank
> 
> On Fri, Nov 20, 2009 at 3:41 PM, Ritul Sonania  wrote:
> 
>>> Hi All
>>>
>>> I have a query regarding new offer-answer using Re-invite and Update
>>> methods.
>>>
>>> When a new offer is sent using a Re-invite, it is responded by 200 OK and
>>> then ACK for this 200 OK is sent.
>>>
>>> >Re-Invite (for new offer)
>>> <--- 200 OK
>>> >ACK
>>>
>>> However, if a new offer is sent using an UPDATE method, there is no ACK
>>> sent.
>>>
>>> -> UPDATE (for new offer)
>>> <- 200 OK
>>>
>>> My query is why there is no ACK sent for the 200 OK for update message.
>> ACK is only sent for INVITE request.
>>
>> Regards,
>> Ritul Sonania
>> Niksun
>>
>>> Mayank
>>> ___
>>> 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] REGISTER request, connection termination

2009-11-17 Thread Paul Kyzivat


Brez Borland wrote:
> Hi all,
> 
> Below I assume using tcp transport for registrations.
> 
> As I understand, while using a reliable transport for dialogs the
> connection between UAC and the next hop is active until the dialog is
> terminated by one party sending BYE and another party responding back.
> The connections on both sides are then closed.

You can't assume that.

Iñaki pointed you to the "outbound" and "connection reuse" stuff.
Aside from that, the best you can expect is that you open a TCP 
connection to some destination when you want to send a request, and you 
may receive the responses to that request on the same connection. Then, 
if you wish you may send additional requests to the same destination 
over the same connection. But requests to you, even in the same dialog 
will come over a different connection initiated from the other end, and 
you will be responding to those, preferably over the same connection.

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


Re: [Sip-implementors] The way to reuse TCP Server connection

2009-10-13 Thread Paul Kyzivat


Victor Pascual Avila wrote:
> On Tue, Oct 13, 2009 at 11:12 AM, Jin-Soo Eo  wrote:
>> Hello,
>>
>> I would like to know how to reuse Server Connection other than
>> mentioned in draft-ietf-sip-connect-reuse-03.
>> I think most SIP entities do not support draft-ietf-sip-connect-reuse-03 as a
>> way of server connection reuse.
>> So, they seem to have implemented their own soultion for server connection 
>> reuse.
>>
>> Is there any industry standard?
> 
> Please note that the connection reuse draft was spitted into two
> pieces: while [1] is predicated on secure TLS mutual authentication,
> [2] specifies connection reuse for SIP over plain TCP and SCTP.
> 
> [1] http://tools.ietf.org/html/draft-ietf-sip-connect-reuse-14
> [2]  
> http://tools.ietf.org/html/draft-jain-sip-transport-layer-connection-reuse-00

To amplify:

One reason use may be limited is precisely because these things are 
still drafts, not yet RFCs.

Also the use of [1] is of course limited to those that want to, and can, 
use TLS.

And [2] is still being significantly debated. The reuse of TCP (or SCTP) 
connections *bidirectionally* has major security concerns. Its quite 
likely that proprietary solutions that do it have potential security 
problems, or else have limited applicability.

The most straightforward connection reuse for TCP is simply to maintain 
separate connections for each direction. It really requires no special 
draft to tell you how to do that.

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


Re: [Sip-implementors] how is answering machine detection handled in SIP ?

2009-10-04 Thread Paul Kyzivat


David Benoit wrote:
> On Fri, Oct 02, 2009 at 04:22:55PM -0400, Dale Worley wrote:
>> On Thu, 2009-10-01 at 10:37 +0200, DE CLERCQ Johan wrote:
>>> As we all know, in ISDN you can detect when you go to a voicemailbox of
>>> a cellular line by looking for the PROGRES message as defined in Q.931.
>> There is no good way to do this in SIP.  However, an answering automaton
>> "should" identify itself with the "automata" media feature tag on its
>> Contact header:
>>
>> Contact: ;automata

That would be indication of any sort of automaton.
If you want to know it is really a VM server, you would be looking for:

Contact: ;automata;actor="msg-taker"

(Again, see 3840)

(Its "msg-taker" to cover recording of media other than audio.)

But I suspect there are a lot of VM systems that don't signal this.

Thanks,
Paul

>> See RFC 3840.
> 
> Even the inclusion of this tag isn't fool proof.  Consider the case of user
> with voicemail screening.  The call is initially directed to an automata but a
> human listening in to the recording decides to take the call.  A human has
> answered, but some filtering was applied.  Or a caller interrogation service
> that collects information about the caller for users who refuse calls from
> private numbers.  This would also be initially answered by an automata, but
> could ultimately be answered by a human.
> 
> If you are solely looking for whether you were directed to voicemail, I would
> look more into the diversion headers and the information you get there.  They
> will tell you the reason the call was forwarded where it was going before.
> Have a look at http://tools.ietf.org/html/draft-levy-sip-diversion-10
> 
> David
> ___
> 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-Implementors] DTMF using SIP INFO

2009-09-16 Thread Paul Kyzivat
To elaborate:

There is no standard for DTMF over INFO.
The usages that exist in the wild are *proprietary* though you may find 
some commonality. If you need to use this to interoperate with 
something, do whatever your peer expects.

Thanks,
Paul

Avasarala Ranjit-A20990 wrote:
> Hi 
> 
> INFO method is defined in RFC 2976. But yes "dtmf" and "dtmf-relay" are
> not standard defined mime types. No there is no registered MIME type for
> DTMF.  
> 
> 
> Regards
> Ranjit
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Shefali Dutta
> Sent: Tuesday, September 15, 2009 4:28 PM
> To: Rohit Aggarwal
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] [Sip-Implementors] DTMF using SIP INFO
> 
> Hi,
>   Thanks for your reply.
> 
> The link below gives two MIME types application/dtmf and
> application/dtmf-relay but additionally gives the Note ->
> 
> "Note: dtmf-relay or dtmf are not yet IANA registered application mime
> types"
> 
> Is there some other registered MIME type for DTMF?
> 
> Rgds,
> Shefali
> 
> -Original Message-
> From: Rohit Aggarwal
> Sent: Tuesday, September 15, 2009 3:29 PM
> To: Shefali Dutta
> Subject: RE: [Sip-Implementors] DTMF using SIP INFO
> 
> Hi Shefali
> 
> Checkout
> http://www.voip-info.org/wiki/view/SIP+Info+DTMF
> 
> Regards
> Rohit Aggarwal
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Shefali Dutta
> Sent: Tuesday, September 15, 2009 3:25 PM
> To: sip-implementors@lists.cs.columbia.edu
> Subject: [Sip-implementors] [Sip-Implementors] DTMF using SIP INFO
> 
> Hi All,
>   How DTMF is carried using SIP INFO method? I found some examples using
> Content type application/dtmf and application/dtmf-relay. Which is the
> reference RFC for these content types?
> 
> Rgds,
> Shefali
> 
> 
> 
> "DISCLAIMER: This message is proprietary to Aricent and is intended
> solely for the use of the individual to whom it is addressed. It may
> contain privileged or confidential information and should not be
> circulated or used for any purpose other than for what it is intended.
> If you have received this message in error,please notify the originator
> immediately. If you are not the intended recipient, you are notified
> that you are strictly prohibited from using, copying, altering, or
> disclosing the contents of this message. Aricent accepts no
> responsibility for loss or damage arising from the use of the
> information transmitted by this email including damage from virus."
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
> "DISCLAIMER: This message is proprietary to Aricent and is intended
> solely for the use of the individual to whom it is addressed. It may
> contain privileged or confidential information and should not be
> circulated or used for any purpose other than for what it is intended.
> If you have received this message in error,please notify the originator
> immediately. If you are not the intended recipient, you are notified
> that you are strictly prohibited from using, copying, altering, or
> disclosing the contents of this message. Aricent accepts no
> responsibility for loss or damage arising from the use of the
> information transmitted by this email including damage from virus."
> 
> ___
> 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] Carets encasing URIs.

2009-09-04 Thread Paul Kyzivat


Alex Balashov wrote:
> I cannot easily tell from 3261 whether references to URIs other than the 
> Request URI must be encased in "<" and ">" or not, probably because I do 
> not know how to read BNF.

If you are involved in SIP, or almost any IETF protocol, then I strongly 
suggest that you *learn* to read ABNF. RFC 5234 should tell you all you 
need to know.

Thanks,
Paul

> In other words, in the absence of a display name (which would be a 
> quoted string), is this valid?
> 
> Contact: sip:xx.xxx.xx.xxx:5060
> 
> What about this?
> 
> To: sip:xx.xxx.xxx.xxx:5060
> 
> I was under the impression it was not, but this is mainly because I've 
> never seen any implementation NOT use that notation regardless of 
> whether it is necessary.  I do not know if the rules here are more or 
> less strict than RFC 2822.
> 
> Thanks!
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Implicit de-registration failure

2009-09-01 Thread Paul Kyzivat


krishna chaitanya wrote:
> Hi All,
> 
> I have question regarding implicit de-registration.

This isn't the ideal place to ask this question.
Implicit registration is not part of any ietf standard,
its a creation of IMS.

> 2 IMPUs  belonging to same IRS( Implicit registration set) are registered 
> from two end points.

I'm not certain I understand. Is the following what you mean?

- IMPU is a UA? Or an AOR? Since you mention end points too, I'll assume
   an IMPU is an AOR.

- AORs X, Y, and Z are part of the same IRS, so that
   if X is registered then Y and Z are implicitly registered;
   if Y is registered then X and Z are implicitly registered.

- You have one UA that registers X

- You have another UA that also registers X (or Y or Z)

> when first IMPU is registered all the IMPU's belonging to IRS are
> implcitly registered.

ok.  So AOR X was registered by UA-A, and Y and Z are also implicitly 
registered to UA-A.

You don't mention it, but I will also assume that then UA-B registers 
AOR-X and so Y and Z are also implicitly registered for it.

At that point there are effectively *six* registrations active.
I would see all six in a notification by the reg event package.
> and then the second IMPU is involved in a active session

OK, lets assume that somebody called AOR Y and it was answered by UA-A.

> and finally when the first IMPU is de-registered then the second IMPU
> is still registered and the is still ongoing without any call release.

Now, why is it that any deregistration is going on?
Is it an active request? Or just an expiration of a registration that 
hasn't been refreshed? If so, why wasn't it refreshed?

And is it a deregistration by UA-A or UA-B?

AFAIK IMS doesn't allow a session to continue after deregistration.
It will terminate it.

> Observation 1: In 200 OK message for the second register request I see 2 
> contact headers belonging to 2 IMPU's.

By 2nd register request you mean the one by UA-B?

The response to a register request will contain all the Contact 
addresses that have been registered for the same AOR. Assuming an IMPU 
is an AOR. In your scenario these should be for the two different UAs 
that have registered.

> Observation 2:  when the first IMPU is de-registered from one end point. then 
> i see a 200OK for that de-register message along with the contact header 
> related to the second IMPU.

I guess you are talking about explicit deregistration - something 
sending an explicit register request to an AOR with a Contact that was 
previously registered and and expiration time of 0.

In that case, the response to that request should contain any other 
contacts for the same AOR that are still registered. So if both UA-A and 
UA-B had registered X, and now UA-A is deregistering X, then the 
response should include a Contact containing the URI of UA-B.

> Here the implicit de-registration is not happening and as per 3GPP 24228 
> 5.2.1a
> When one of the Public User Identities within the set is de-registered, all 
> Public User Identities that have been implicitly registered are de-registered 
> at 
> the same time.

It sounds to me like you are mixing up AORs and UA identities / Contact 
addresses.

> But In this case below here is what happening due to the same 3GPP 24228 
> 5.2.1a para
> 
> Registration and de-registration always relates to a particular contact 
> address 
> and a particular Private User Identity. A Public user identity that has been 
> registered (including when implicitly registered) with different contact 
> addresses remains registered in relation to those contact 
> addresses that have not 
> been de-registered.

> So when first IMPU is registered all the IMPU's belonging to IRS are 
> implcitly registerd. when the second IMPU is involved in a active session and 
> when the first IMPU is de-registered then the second IMPU is still registered 
> and the is still ongoing without any call release. 

I don't understand the point you are trying to make.

> Is this a conflict within 3GPP ??
>  what should be behaviour in this case when one IMPU belonging to an IRS set 
> is deregistered??
> 
> Should the de-registration of second IMPU or all other IMPU's be not 
> de-regisrered??
> Any reference to 3GPP or ETSI is available to resolve this issue??

I think the conflict is probably in your understanding, not the spec.

You will have much better luck talking about this *here* if you 
translate everything from IMS terminology to SIP terminology.
It may also help you to understand it.

Thanks,
Paul

> Does anybody aware of the real implemention regarding this??
> 
> I highly appreciate for your comments and suggestions.
> 
> Kind Regards,
> Krishna.
> 
> 
> 
> 
>   
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
___
Sip-implementors mailing li

Re: [Sip-implementors] Question on multiple INFO messages

2009-08-31 Thread Paul Kyzivat


Yong Xin wrote:
> Hi, 
>  
> The RFC3261 is clear that UA can not send a re-INVITE when another
> INVITE is pending. However, for non-INVITE request (e.g.: INFO), I was
> not able to find any restriction like this. So I assume this is allowed.
>  
> However, sending another INFO before the previous one has been answered
> can cause problem when UDP packet is deliveried out-of-order. Here is an
> example:
>  
> - INFO (cseq=1) is lost due to network issue
> - INFO (cseq=2) is received and processed by the server
> - retranmission of INFO (cseq=1) arrives at server which replies with
> 500 error, because the cseq number is lower than the last cseq number on
> the dialog 
>  
> I'm wondering what is the right solution for this:
>  
> 1) Should we switch to use TCP as the transport protocol so that the
> order of the packet delivery is guaranteed?

Switching to TCP *won't* guarantee the order of delivery if there are 
any intermediate nodes in the path.

> 2) Should UAC send INFO messages in sequence (i.e.: not start a new one
> until previous one is final responded)?

I haven't seen this discussed with respect to INFO, but issues are much 
the same as NOTIFY.

Bottom line is that in general you should wait, only sending one at a 
time. In certain special cases it may make sense not to wait. Notably if 
the new message preempts the prior one, so it doesn't matter if the 
prior one gets processed or not.

Thanks,
Paul

> Thanks,
> Yong
>  
>  
> ___
> 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] 200 OK response for hold with different media capabilities

2009-08-25 Thread Paul Kyzivat
I'm removing the cross posting to the sip list.
Cross posting is unpolite to those who subscribe to both lists.
And this topic is appropriate to sip-implementors.

Avasarala Ranjit-A20990 wrote:
> Hi Paul
> 
> The HOLD request is nothing but a re INVITE request indicating HOLD.

There is no such thing as a reINVITE request that indicates *HOLD*.
There are indications for sendrecv, sendonly, recvonly, and inactive.
They are often used by UAs that have a HOLD feature, but they are also 
used for other purposes unrelated to HOLD features.

When a UAC implements a HOLD feature by sending a reINVITE with 
a=sendonly, the UAS does not know that the reason for this change is 
because of a HOLD feature. It can only take the signaling at face value:

"My peer wants to send me media, but doesn't want to receive it. Given 
that constraint, what do I want to do?"

There can be many answers to that question. There are no rules that say: 
thou shalt not change media attributes in this case.

> Could you give a use case where such a thing may happen? I have not come
> across any scenario where in the process of putting remote party on
> HOLD, media parameters like IP/codec getting changed.  If this happens,
> then it cannot be considered a HOLD request.

Its probably good advice that in general when being presented with an 
offered change you should respond with an answer that makes the minimal 
changes on your part that are consistent with what was offered. But that 
behavior isn't required.

I have heard of implementations that change media port on every 
reINVITE. Doesn't make sense to me, but maybe it did to them, and its 
within the rights of the implementor to do so.

> So how do u distinguish a HOLD request from a non HOLD one if in both
> the cases the media parameters (other than a=.) change?

As the recipient, you *don't* distinguish a HOLD request from a non HOLD 
one. You simply take things at face value without attempting to ascribe 
a reason for *why* they have happened.

Thanks,
Paul

> Regards
> Ranjit
> 
> -Original Message-
> From: Paul Kyzivat [mailto:pkyzi...@cisco.com] 
> Sent: Tuesday, August 25, 2009 12:07 AM
> To: Avasarala Ranjit-A20990
> Cc: sunil.bha...@wipro.com; s...@ietf.org;
> sip-implementors@lists.cs.columbia.edu; s...@core3.amsl.com
> Subject: Re: [Sip-implementors] [Sip] 200 OK response for hold with
> different media capabilities
> 
> 
> 
> Avasarala Ranjit-A20990 wrote:
>> no it should not. For a Hold request, you do not send any media 
>> capabilities. U only change the existing media description lines to 
>> indicate HOLD.
> 
> I beg to differ.
> 
> Technically there is no HOLD request.
> All there is is an offer that offers to change a media attribute, from
> sendrecv to sendonly or inactive, or from sendonly or recvonly to
> inactive.
> 
> The response may change anything that is permitted to be changed in the
> answer, given the offer. So it may not add m-lines, but it can certainly
> change media addresses, and within limits may change media formats
> (codecs).
> 
>   Thanks,
>   Paul
> 
>> Regards
>> Ranjit
>>
>>  
>>
>> 
>>
>> From: sip-boun...@ietf.org [mailto:sip-boun...@ietf.org] On Behalf Of 
>> sunil.bha...@wipro.com
>> Sent: Monday, August 24, 2009 3:25 PM
>> To: s...@ietf.org; sip-implementors@lists.cs.columbia.edu;
>> s...@core3.amsl.com
>> Subject: [Sip] 200 OK response for hold with different media 
>> capabilities
>>
>>
>>
>> Hi All,
>>
>>  
>>
>> I have a small query related to HOLD request being sent out.
>>
>>  
>>
>> For a hold request, can gateway respond with different media 
>> capabilities in 200 OK response?
>>
>>  
>>
>> Is the HOLD treated as any normal Re-INVITE?
>>
>>  
>>
>> Regards,
>>
>> Sunil.
>>
>>  
>>
>> Please do not print this email unless it is absolutely necessary. 
>>
>> The information contained in this electronic message and any 
>> attachments to this message are intended for the exclusive use of the 
>> addressee(s) and may contain proprietary, confidential or privileged 
>> information. If you are not the intended recipient, you should not 
>> disseminate, distribute or copy this e-mail. Please notify the sender 
>> immediately and destroy all copies of this message and any
> attachments.
>> WARNING: Computer viruses can be transmitted via email. The recipient 
>> should check this email and any attachments for the presence of
> viruses.
>> The company accepts no liability for any damage caused by any virus 
>> transmitted by this email.
>>
>> www.wipro.com
>>
>> ___
>> 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] 200 OK response for hold with different media capabilities

2009-08-24 Thread Paul Kyzivat


Avasarala Ranjit-A20990 wrote:
> no it should not. For a Hold request, you do not send any media
> capabilities. U only change the existing media description lines to
> indicate HOLD.

I beg to differ.

Technically there is no HOLD request.
All there is is an offer that offers to change a media attribute, from 
sendrecv to sendonly or inactive, or from sendonly or recvonly to inactive.

The response may change anything that is permitted to be changed in the 
answer, given the offer. So it may not add m-lines, but it can certainly 
change media addresses, and within limits may change media formats (codecs).

Thanks,
Paul

> Regards 
> Ranjit 
> 
>  
> 
> 
> 
> From: sip-boun...@ietf.org [mailto:sip-boun...@ietf.org] On Behalf Of
> sunil.bha...@wipro.com
> Sent: Monday, August 24, 2009 3:25 PM
> To: s...@ietf.org; sip-implementors@lists.cs.columbia.edu;
> s...@core3.amsl.com
> Subject: [Sip] 200 OK response for hold with different media
> capabilities
> 
> 
> 
> Hi All,
> 
>  
> 
> I have a small query related to HOLD request being sent out.
> 
>  
> 
> For a hold request, can gateway respond with different media
> capabilities in 200 OK response?
> 
>  
> 
> Is the HOLD treated as any normal Re-INVITE?
> 
>  
> 
> Regards,
> 
> Sunil.
> 
>  
> 
> Please do not print this email unless it is absolutely necessary. 
> 
> The information contained in this electronic message and any attachments
> to this message are intended for the exclusive use of the addressee(s)
> and may contain proprietary, confidential or privileged information. If
> you are not the intended recipient, you should not disseminate,
> distribute or copy this e-mail. Please notify the sender immediately and
> destroy all copies of this message and any attachments. 
> 
> WARNING: Computer viruses can be transmitted via email. The recipient
> should check this email and any attachments for the presence of viruses.
> The company accepts no liability for any damage caused by any virus
> transmitted by this email. 
> 
> www.wipro.com 
> 
> ___
> 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] Can EP send media only peer supports

2009-08-20 Thread Paul Kyzivat


OKUMURA Shinji wrote:
> Hi Mr. Kyzivat,

Please, lets not be formal. Call me Paul. :-)

> If the direction of the answer is "recvonly" or "inactive", it is
> no problem that the answerer adds new codec. But if the direction
> is "sendrecv" ("sendonly" is certainly not allowed), the added
> codec is "implicit-recvonly".

I guess that is a good way to think of it.

> The offerer MAY send the added codec to the answerer.

I guess you mean the offerer may send media encoded using the added 
codec to the answerer. I agree.

> But this
> negotiated state is very brittle. IMO it will not be able to
> endure reINVITE. Because the answerer can not indicate the added
> codec in new offer, unless it determine the change.

I don't understand you here.

A reinvite may result in an o/a with the offerer and answerer being the 
same as before, or it may result in them being reversed from before. But 
either way, the new codec may be included in either the offer or answer.

If in the new reinvite, the o2 is by the same offerer as o1, then it may 
include the added codec. The presence of the codec in a1 may have 
suggested that it would be useful to include it in o2. Of course o2 may 
also *not* include the codec. That can set up a replay of the earlier 
o/a exchange.

If in the new reinvite, the o2 is by the earlier answerer, then of 
course it may include the added codec. This isn't required, but it would 
be a natural thing to do. In that case the other end will have the 
opportunity to refuse at codec.

> I think this is a problem for RFC3264.
> What do you think about this reINVITE ?

I'm not seeing what the problem is.

Thanks,
Paul

> Regards,
> Shinji
> 
> Paul Kyzivat 
>> Rockson Li (zhengyli) wrote:
>>> Paul,
>>>
>>> If I catch you clearly, do you mean this is a real bug in RFC3264?
>> IMO this is unclear. It might be that what is written is not exactly 
>> what the original authors intended. Or maybe it is as intended but isn't 
>> what people now wish had been written.
>>
>> Either way it isn't necessarily a bug if what is written can be 
>> implemented, which seems to be the case.
>>
>>> Do we have some formal doc/draft to clarify usage here?
>> I don't think so.
>>
>> At this point any change in the specs is likely to disrupt somebody's 
>> implementation, so things must be done carefully.
>>
>> If it is considered that there is ambiguity about how this should be 
>> implemented, then a clarification would be a good thing. But it will 
>> then take some work to decide which of the possible interpretations 
>> should be blessed.
>>
>> I'd be interested to hear what is implemented in practice - perhaps 
>> stats from SipIt.
>>
>>  Thanks,
>>  Paul
>>
>>> Thanks
>>> Regards,
>>> -Rockson
>>> -Original Message-
>>> From: Paul Kyzivat (pkyzivat) 
>>> Sent: Saturday, August 15, 2009 7:54 AM
>>> To: Dale Worley
>>> Cc: Rockson Li (zhengyli); sip-implementors@lists.cs.columbia.edu
>>> Subject: Re: [Sip-implementors] Can EP send media only peer supports
>>>
>>> comment at end.
>>>
>>> Dale Worley wrote:
>>>> On Fri, 2009-08-14 at 14:41 +0800, Rockson Li (zhengyli) wrote:
>>>>> I think answerer can add additional codec G729 here per sec 6.1 of
>>>>> rfc3264
>>>>>
>>>>> 
>>>>>The stream MAY indicate additional media formats, not listed in
>>> the
>>>>>corresponding stream in the offer, that the answerer is willing to
>>>>>send or receive
>>>>> 
>>>>>
>>>>> However, here comes the inconsistency.
>>>>>
>>>>> When answerer send media, it cannot send G723 packets to offerer per 
>>>>> sec
>>>>> 6.1 of RFC3264
>>>>>
>>>>> 
>>>>> The answerer MUST send using a media format in the offer
>>>>>that is also listed in the answer, 
>>>>>
>>>>> Whereas RFC3264 does not forbid offerer to send G729 packets to 
>>>>> answerer per sec 7
>>>>>
>>>>> 
>>>>> It MUST send using a media format listed in the answer, and it 
>>>>> ***SHOULD*** use the first media format listed in the answer when it
>>>>>does send.
>>>>> 
>>>> I think you've found a mistake in the wording of the RFC.  The writers
>>>> assumed that if 

Re: [Sip-implementors] Can EP send media only peer supports

2009-08-18 Thread Paul Kyzivat


T Satyanarayana-A12694 wrote:
> Yes, I do agree that implementations have done a good job of working
> with this ambiguity so far. And, it is not as much an issue.
> 
> However, I am having a difficulty to visualize a use case where the
> offerer may use this "addl codec" to send media. Even if the offerer is
> prepared to receive, the offerer would probably never use it (if he
> could, he would have declared it in offer anyway).
> 
> So, wouldn't it help if we can add a qualifying statement to the spec:

To *what* spec? 3264?

It perhaps could have gone in the offeranswer draft, but that is 
"finished" except for a little tidying up.

Thanks,
Paul

> "The answerer may add additional codecs in the answer. However, at the
> time of writing this spec, there are no known use cases warranting this
> condition."



> Regards
> Satya T
> 
> -Original Message-
> From: Paul Kyzivat [mailto:pkyzi...@cisco.com] 
> Sent: Tuesday, August 18, 2009 7:53 PM
> To: T Satyanarayana-A12694
> Cc: Dale Worley; sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] Can EP send media only peer supports
> 
> The more I think about this "issue" the less I understand why it should
> be an issue.
> 
> The answerer is under no obligation to include codecs that were not
> present in the offer. And if it does so, there is no guarantee of
> circumstances under which they might be used. And the offerer is
> certainly free to ignore them.
> 
> So the only question is:
> 
> *If* the answer includes codecs that were not included in the offer, may
> the offerer use them to encode media? And that is only an issue if the
> answerer is *not* expecting them to be used.
> 
> So, if you are constructing an answer, don't include any codecs that you
> aren't prepared to receive now. (If it hurts, don't do it.)
> 
> All we could possibly do by tightening up the wording is ensure that
> even if mentioned, such codecs would not be used. What purpose would
> that serve? And such restriction would only apply if both parties adhere
> to it.
> 
>   Thanks,
>   Paul
> 
> T Satyanarayana-A12694 wrote:
>>  
>>
>> -Original Message-
>> From: Dale Worley [mailto:dwor...@nortel.com]
>> Sent: Tuesday, August 18, 2009 1:37 AM
>> To: T Satyanarayana-A12694
>> Cc: Paul Kyzivat; sip-implementors@lists.cs.columbia.edu
>> Subject: RE: [Sip-implementors] Can EP send media only peer supports
>>
>> On Sat, 2009-08-15 at 23:35 +0800, T Satyanarayana-A12694 wrote:
>>> Additional round trips should be made optional (only for 
>>> implementations having concurrent codecs limitation).
>>>
>>> Additionally, why can't the spec be modified (or place in a BCP):
>>> 1. to allow only a sub-set (of what is present in the offer) in the 
>>> answer (or even just one codec)
>>>> If you mean, "Is it allowed to put in the answer only a subset of 
>>>> the
>> codecs that are in the offer", that is allowed now.
>>
>> No, I mean "Answerer must include only a sub-set of codecs present in 
>> the offer". Or "Answerer must not include any codec not present in the
> 
>> offer".
>>
>>> 2. to place a restrion on the offerer to only use one of the codecs 
>>> listed in the intersection of answer & offer.
>> Some implementations use more than one codec, so that would have to be
> 
>> considered a BCP.
>>
>> 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] Require header in ACK

2009-08-18 Thread Paul Kyzivat


soma bhargava wrote:
> Hi All,
> 
> As per RFC 3261
> sec 8.2.2.3 Require:
> An ACK request for a 2xx response MUST contain only those Require
> and Proxy-Require values that were present in the initial request.

I think that is less than ideal wording.
It would have been better worded as:

"An ACK request for a 2xx response MUST NOT contain any Require or 
Proxy-Require values that were not present in the initial request."

There is no purpose to Require or Proxy-Require in ACK. Including 
Require values that were not present in the INVITE is an invitation for 
the ACK to be rejected, which it should not be.

In practice you would be best to include *no* Require or Proxy-Require 
values in the ACK regardless of what ones were included in the INVITE.

Thanks,
Paul

> and as per section 20 of RFC3261:
> 
> Header field where proxy ACK BYE CAN INV OPT REG
> Require  ar   -   c   -   c   c   c
> 
> As per RFC 3262
> sec 4 UAC Behavior:
> A Require header with the value 100rel MUST NOT be present in
> any requests excepting INVITE, although extensions to SIP may allow its
> usage with other request methods.
> 
> the above 3 statements contradicts each other. 
> Please suggest if we need to add require header in ACK or not? 
> If yes then should it contain 100rel or not?
> 
> Regards,
> Soma
> 
> ___
> 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] Can EP send media only peer supports

2009-08-18 Thread Paul Kyzivat
The more I think about this "issue" the less I understand why it should 
be an issue.

The answerer is under no obligation to include codecs that were not 
present in the offer. And if it does so, there is no guarantee of 
circumstances under which they might be used. And the offerer is 
certainly free to ignore them.

So the only question is:

*If* the answer includes codecs that were not included in the offer, may 
the offerer use them to encode media? And that is only an issue if the 
answerer is *not* expecting them to be used.

So, if you are constructing an answer, don't include any codecs that you 
aren't prepared to receive now. (If it hurts, don't do it.)

All we could possibly do by tightening up the wording is ensure that 
even if mentioned, such codecs would not be used. What purpose would 
that serve? And such restriction would only apply if both parties adhere 
to it.

Thanks,
Paul

T Satyanarayana-A12694 wrote:
>  
> 
> -Original Message-
> From: Dale Worley [mailto:dwor...@nortel.com] 
> Sent: Tuesday, August 18, 2009 1:37 AM
> To: T Satyanarayana-A12694
> Cc: Paul Kyzivat; sip-implementors@lists.cs.columbia.edu
> Subject: RE: [Sip-implementors] Can EP send media only peer supports
> 
> On Sat, 2009-08-15 at 23:35 +0800, T Satyanarayana-A12694 wrote:
>> Additional round trips should be made optional (only for 
>> implementations having concurrent codecs limitation).
>>
>> Additionally, why can't the spec be modified (or place in a BCP):
>> 1. to allow only a sub-set (of what is present in the offer) in the 
>> answer (or even just one codec)
> 
>>> If you mean, "Is it allowed to put in the answer only a subset of the
> codecs that are in the offer", that is allowed now.
> 
> No, I mean "Answerer must include only a sub-set of codecs present in
> the offer". Or "Answerer must not include any codec not present in the
> offer".
> 
>> 2. to place a restrion on the offerer to only use one of the codecs 
>> listed in the intersection of answer & offer.
> 
> Some implementations use more than one codec, so that would have to be
> considered a BCP.
> 
> Dale
> 
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Can EP send media only peer supports

2009-08-17 Thread Paul Kyzivat


Dale Worley wrote:
> On Sat, 2009-08-15 at 23:35 +0800, T Satyanarayana-A12694 wrote:
>> Additional round trips should be made optional (only for implementations
>> having concurrent codecs limitation). 
>>
>> Additionally, why can't the spec be modified (or place in a BCP):
>> 1. to allow only a sub-set (of what is present in the offer) in the
>> answer (or even just one codec)
> 
> If you mean, "Is it allowed to put in the answer only a subset of the
> codecs that are in the offer", that is allowed now.
> 
>> 2. to place a restrion on the offerer to only use one of the codecs
>> listed in the intersection of answer & offer.
> 
> Some implementations use more than one codec, so that would have to be
> considered a BCP.

Note that Telepone-Events (DTMF) is simply represented as another codec, 
so even implementations that support only one "real" codec at a time are 
likely two support a real one plus telephone events. Who is to say that 
there aren't other "special" codecs like this?

So I think you must actually consider this sort of restriction as a 
restriction to certain *combinations* of codecs.

It doesn't even sound like a BCP, in that it isn't *best* for everybody. 
Its just least common denominator - or a profile of usage.

But if there are implementations that have such a restriction, and have 
good cause not to remove it, then it would be good to have a way to 
signal such limitation.

One way I have heard of doing this with current mechanisms is to 
initially offer several codecs, but with a=inactive. Then, after the 
first answer is received, offer a single codec with a=sendrecv.

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


Re: [Sip-implementors] Significance of History info in 18x response

2009-08-17 Thread Paul Kyzivat


Bhaskar Dutta wrote:
>> I had a doubt on History-info header present in Sip 18x Responses.
>>
>> Are the History-info headers UAC received in 18x response useful to an
>> application or user ?
>>
>> If yes can you please quote an example where its useful to an
>> application/user .

This is entirely hypothetical:

If the UAC has multiple early dialogs established,
it *could* use the H-I info to decide which ones to prefer.
It could send BYE to some it doesn't prefer (e.g. those that were 
forwarded if there is one that wasn't forwarded), or it might use 
similar preferences to decide which early media to render.

But I will be first to admit that is pretty far fetched.

Thanks,
Paul

>> How should the UAC's treat these HI headers?
>>
>> Thanks,
>> Divya.
> 
> RFC 4244 Section 4.3.1.  User Agent Client (UAC) Behavior
> 
>With the exception of the processing of a 3xx response described
>above, the processing of the History-Info header received in the
>Response is application specific and outside the scope of this
>document.  However, the validity of the information SHOULD be ensured
>prior to any application usage.  For example, the entries MAY be
>evaluated to determine gaps in indices, which could indicate that an
>entry has been maliciously removed or removed for privacy reasons.
>Either way, an application MAY want to be aware of potentially
>missing information.
> 
> The original draft (draft-ietf-sip-history-info-00) talked about 183
> responses, this was removed in the subsequent versions:
> 
>2.3.3.2 Processing History-Info in Responses
> 
>A proxy that receives a Request with the HistInfo option tag in the
>Supported header, and depending upon a local policy supporting the
>capture of History-Info, SHOULD return captured History-Info in
>subsequent, provisional and final responses to the Request.  A 183
>response MAY be sent explicitly for the purposes of conveying
>History-Info prior to the final response.
> 
> Regards,
> Bhaskar
> 
> ___
> 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] Can EP send media only peer supports

2009-08-17 Thread Paul Kyzivat


Rockson Li (zhengyli) wrote:
> Paul,
> 
> If I catch you clearly, do you mean this is a real bug in RFC3264?

IMO this is unclear. It might be that what is written is not exactly 
what the original authors intended. Or maybe it is as intended but isn't 
what people now wish had been written.

Either way it isn't necessarily a bug if what is written can be 
implemented, which seems to be the case.

> Do we have some formal doc/draft to clarify usage here?

I don't think so.

At this point any change in the specs is likely to disrupt somebody's 
implementation, so things must be done carefully.

If it is considered that there is ambiguity about how this should be 
implemented, then a clarification would be a good thing. But it will 
then take some work to decide which of the possible interpretations 
should be blessed.

I'd be interested to hear what is implemented in practice - perhaps 
stats from SipIt.

Thanks,
Paul

> Thanks
> Regards,
> -Rockson
> -Original Message-
> From: Paul Kyzivat (pkyzivat) 
> Sent: Saturday, August 15, 2009 7:54 AM
> To: Dale Worley
> Cc: Rockson Li (zhengyli); sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] Can EP send media only peer supports
> 
> comment at end.
> 
> Dale Worley wrote:
>> On Fri, 2009-08-14 at 14:41 +0800, Rockson Li (zhengyli) wrote:
>>> I think answerer can add additional codec G729 here per sec 6.1 of
>>> rfc3264
>>>
>>> 
>>>The stream MAY indicate additional media formats, not listed in
> the
>>>corresponding stream in the offer, that the answerer is willing to
>>>send or receive
>>> 
>>>
>>> However, here comes the inconsistency.
>>>
>>> When answerer send media, it cannot send G723 packets to offerer per 
>>> sec
>>> 6.1 of RFC3264
>>>
>>> 
>>> The answerer MUST send using a media format in the offer
>>>that is also listed in the answer, 
>>>
>>> Whereas RFC3264 does not forbid offerer to send G729 packets to 
>>> answerer per sec 7
>>>
>>> 
>>> It MUST send using a media format listed in the answer, and it 
>>> ***SHOULD*** use the first media format listed in the answer when it
>>>does send.
>>> 
>> I think you've found a mistake in the wording of the RFC.  The writers
> 
>> assumed that if the offerer was willing to send G729, then it would 
>> have offered to do so.  Clearly, the intention is that both the 
>> offerer and answerer must use only codecs that have been listed in 
>> both the offer and the answer.
> 
> I think there was some inconsistency in thinking about whether this is a
> *negotiation* or a *declaration*.
> 
> Note that the answerer is permitted to begin sending media to the
> offerer as soon as the offer is received. So at that point this is being
> considered a declaration, not a negotiation. While the answerer is
> obligated to list the codecs it is sending to in the answer, the offerer
> doesn't necessarily have the answer when packets arrive.
> 
> But requiring the answer to list the packets the answerer will send to
> does turn it into an after-the-fact negotiation.
> 
> Allowing the answer to have new codecs, and the offerer to send to them
> is simply symmetry with the answerer being able to use any of the codecs
> in the offer.
> 
> My impression is that when this was first done there was a lot of
> concern in reducing round trips, so it was only a 2-way handshake rather
> than 3-way. In retrospect, it seems that few implement the way it was
> apparently intended. Many apparently can't support multiple concurrent
> codecs and so need a negotiation to settle on one before media can flow.
> 
> Others have different kinds of restrictions. So it seems a *negotiation*
> is really needed, even if it takes more round trips.
> 
>   Thanks,
>   Paul
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Can EP send media only peer supports

2009-08-14 Thread Paul Kyzivat
comment at end.

Dale Worley wrote:
> On Fri, 2009-08-14 at 14:41 +0800, Rockson Li (zhengyli) wrote:
>> I think answerer can add additional codec G729 here per sec 6.1 of
>> rfc3264
>>
>> 
>>The stream MAY indicate additional media formats, not listed in the
>>corresponding stream in the offer, that the answerer is willing to
>>send or receive
>> 
>>
>> However, here comes the inconsistency.
>>
>> When answerer send media, it cannot send G723 packets to offerer per sec
>> 6.1 of RFC3264
>>
>> 
>> The answerer MUST send using a media format in the offer
>>that is also listed in the answer, 
>> 
>>
>> Whereas RFC3264 does not forbid offerer to send G729 packets to answerer
>> per sec 7
>>
>> 
>> It MUST send using a media format listed in the answer,
>> and it ***SHOULD*** use the first media format listed in the answer when
>> it
>>does send.
>> 
> 
> I think you've found a mistake in the wording of the RFC.  The writers
> assumed that if the offerer was willing to send G729, then it would have
> offered to do so.  Clearly, the intention is that both the offerer and
> answerer must use only codecs that have been listed in both the offer
> and the answer.

I think there was some inconsistency in thinking about whether this is a 
*negotiation* or a *declaration*.

Note that the answerer is permitted to begin sending media to the 
offerer as soon as the offer is received. So at that point this is being 
considered a declaration, not a negotiation. While the answerer is 
obligated to list the codecs it is sending to in the answer, the offerer 
doesn't necessarily have the answer when packets arrive.

But requiring the answer to list the packets the answerer will send to 
does turn it into an after-the-fact negotiation.

Allowing the answer to have new codecs, and the offerer to send to them 
is simply symmetry with the answerer being able to use any of the codecs 
in the offer.

My impression is that when this was first done there was a lot of 
concern in reducing round trips, so it was only a 2-way handshake rather 
than 3-way. In retrospect, it seems that few implement the way it was 
apparently intended. Many apparently can't support multiple concurrent 
codecs and so need a negotiation to settle on one before media can flow. 
Others have different kinds of restrictions. So it seems a *negotiation* 
is really needed, even if it takes more round trips.

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


Re: [Sip-implementors] 404 for subsequent session refresh request

2009-08-11 Thread Paul Kyzivat


vijay wrote:
> Hi,
> 
> a snippet from 3311:
>If a UA receives a non-2xx final response to a UPDATE, he session
> parameters MUST remain unchanged, as if no UPDATE had been issued.
> Note that,
> as stated in Section 12.2.1 of RFC 3261 [1], if the non-2xx final
> response is a
> 481 (Call/Transaction Does Not Exist), or a 408 (Request Timeout), or no
> response at all is received for the UPDATE (that is, a timeout is
> returned by
> the UPDATE client transaction), the UAC will terminate the dialog.
> 
> 
> If we receive 404 response for the subsequent session refresh
> requests, do we need to terminate the session by sending BYE? 
> 
> Please clarify

See RFC 5057. The 404 indicates that the dialog itself is gone away.
You should send a BYE to be sure, but there is a good chance that it 
will also fail.

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


Re: [Sip-implementors] SIP OPTIONS

2009-08-09 Thread Paul Kyzivat


Manoj Priyankara [TG] wrote:
> Hi Paul,
> Thanks! Hope you are doing well!
> 
> This is not to check whether a particular dialog is alive. But to check 
> whether the UAS is alive. This might be useful when a particular UAC 
> such as an IAD wants to know the liveness of the UAS.
> 
> I've seen some SIP ALG's use this method to see the availability of the UAS.

Its reasonable for checking general availability of the UA, assuming of 
course that you know the URI of the UA, rather than just of the AOR.

Thanks,
Paul

> BR,
> Manoj
> 
> 
> -Original Message-
> From: Paul Kyzivat [mailto:pkyzi...@cisco.com]
> Sent: Sun 8/9/2009 2:48 AM
> To: Manoj Priyankara [TG]
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] SIP OPTIONS
> 
> 
> 
> Manoj Priyankara [TG] wrote:
>  > Dear All,
>  >
>  > According to the RFC 3261, SIP OPRIONS message should be used to query
>  > the statue of other UAC or the UAS. Is it OK to use the OPTIONS as a
>  > keep alive message to know whether the UAS is alive?
>  >
>  > Is it necessary to send the OPTIONS message from a registered user or is
>  > it possible to send the OPTIONS message from a general user and get 200-
>  > OK as the response?
> 
> Its not entirely clear what you want to determine by using OPTIONS.
> 
> Are you looking to verify the liveness of your peer UA in a dialog?
> If not, what?
> 
> OPTIONS isn't a good choice for testing the peer in a dialog.
> If you send it in-dialog (using the remote target, route set, call ID,
> from and to tags of the dialog), then presumably it will follow the path
> of dialog. But when it reaches the UAS, according to 3261 it is supposed
> to treat the same as an OPTIONS received out of dialog. Its not entirely
> clear what that means. It might mean that it could succeed even though
> the UA has lost track of the dialog. (Consider for instance that the UA
> has rebooted and lost all state.)
> 
> Because the handling is somewhat ambiguous in this case, you can't trust
> the results to report what you want to know.
> 
> To test the liveness of your peer in an invite dialog you are better off
> to use reINVITE or UPDATE.
> 
> Thanks,
> Paul
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] SIP OPTIONS

2009-08-08 Thread Paul Kyzivat


Manoj Priyankara [TG] wrote:
> Dear All,
> 
> According to the RFC 3261, SIP OPRIONS message should be used to query
> the statue of other UAC or the UAS. Is it OK to use the OPTIONS as a
> keep alive message to know whether the UAS is alive?
> 
> Is it necessary to send the OPTIONS message from a registered user or is
> it possible to send the OPTIONS message from a general user and get 200-
> OK as the response?

Its not entirely clear what you want to determine by using OPTIONS.

Are you looking to verify the liveness of your peer UA in a dialog?
If not, what?

OPTIONS isn't a good choice for testing the peer in a dialog.
If you send it in-dialog (using the remote target, route set, call ID, 
from and to tags of the dialog), then presumably it will follow the path 
of dialog. But when it reaches the UAS, according to 3261 it is supposed 
to treat the same as an OPTIONS received out of dialog. Its not entirely 
clear what that means. It might mean that it could succeed even though 
the UA has lost track of the dialog. (Consider for instance that the UA 
has rebooted and lost all state.)

Because the handling is somewhat ambiguous in this case, you can't trust 
the results to report what you want to know.

To test the liveness of your peer in an invite dialog you are better off 
to use reINVITE or UPDATE.

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


Re: [Sip-implementors] 180 Ringing after 183 Session progress

2009-08-06 Thread Paul Kyzivat


Olle E. Johansson wrote:
> 6 aug 2009 kl. 12.49 skrev Vivek Batra:
> 
 Greetings,
 I am wondering if the below scenario is valid or not.

 <-- 183 (with SDP) then,
 <-- 180 (without SDP)
>>> Yes it's.
>>> However it depends in UAC behaviour on how to render it to the human
>>> (it could choose to render the early-media comming from the same 183,
>>> or it could choose to render internal ringing due to the 180).
>> I would suggest stopping the playback of audio when you receive the
>> 180 with SDP and revert to the ringing tone. Users does not like
>> silence and sending an 180 would suggest that there's no more early
>> media to me.
>>
>> [Vivek] - With some ITSP's, 183 Session Progress is sent (with SDP)  
>> to play
>> the music (something like, please wait while your call is on wait)  
>> when
>> actual called party is busy. However, 180 Ringing is sent as soon as  
>> call
>> has been placed to called party and called party is ringing.
>> ITSP does not disconnect the media after sending 180 Ringing instead  
>> start
>> playing Ring Back Tone (RBT) to caller. Hence, in either manner  
>> while caller
>> disconnects the media or not on receipt of 180 Ringing (without  
>> SDP), RBT
>> will be played to caller either locally (if caller honors 180  
>> Ringing) or by
>> remote server (if caller does not honors 180 Ringing).
>> I believe in having a check in application to check whether any RTP  
>> stream
>> is still there or not after receiving 180 Ringing (without SDP). If  
>> no RTP
>> is coming, then only 180 Ringing should be honored to play RBT  
>> locally else
>> RTP from ITSP should be played.
>>
> That sounds like a good pragmatic approach.
> 
> On a related topic. What should one do in this case?
> 
> <--- 183 with sdp from UA 1
> (10 secs)
> <--- 183 with sdp from UA 2
> (5 secs)
> <--- 180 ringing from UA 3
> <--- 200 OK from UA 3

>  From testing, different devices do very different things.

There are many different things that might make sense.
The main problem is that you are trying to multiplex three incoming 
streams into one, and there is no perfect way to do it.

You could mix all the streams you are receiving. But that will most 
likely be terrible. You can stick with one, ignoring the others, until 
you stop receiving packets from it, then switch to another.

If your phone is capable, you might render a display showing all the 
different calls you have, with buttons to switch the played audio 
between them.

Obviously you want to switch to the one you get the 200 from eventually. 
But it isn't necessarily obvious which of the streams you are receiving 
is from UA3.

Thanks,
Paul

> /O :-)
> ___
> 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] 180 Ringing after 183 Session progress

2009-08-06 Thread Paul Kyzivat
I just saw this thread. Thanks Mikael for your response. Its the best 
one available for this case, assuming (as the original poster has 
confirmed) that this is all one dialog.

If there is early media flowing, you probably don't want to preempt it 
with a generated ringback. But if there is no media flowing, then a 
generated ringback would probably be a good idea.

But this rendering behavior is largely an implementation issue. If you 
do it well then people will like your device. If you do it poorly, then 
people won't. And there is plenty of room for innovation, especially 
with devices having more capabilities. For instance, you might indicate 
the alerting status visually if your device can do that. Or you could 
mix a ringback with the incoming audio, though you might have difficulty 
finding a way to do that which is acceptable to people.

Thanks,
Paul

Mikael Magnusson wrote:
> On Thu, Aug 06, 2009 at 05:27:10PM +0530, Abhishek Dhammawat wrote:
>> Hi
>>
>> In my opinion RBT(Ring Back Tone) should be played.
>>
>> regards
>> Abhishek Dhammawat
>>
> 
> Since nobody has mentioned RFC 3960 I thought it would be appropriate to
> quote a portion of section 3.2[1].
> 
>With this in mind, a UAC should develop its local policy regarding
>local ringing generation.  For example, a POTS ("Plain Old Telephone
>Service")-like SIP User Agent (UA) could implement the following
>local policy:
> 
>   1. Unless a 180 (Ringing) response is received, never generate
>  local ringing.
> 
>   2. If a 180 (Ringing) has been received but there are no incoming
>  media packets, generate local ringing.
> 
>   3. If a 180 (Ringing) has been received and there are incoming
>  media packets, play them and do not generate local ringing.
> 
>  Note that a 180 (Ringing) response means that the callee is
>  being alerted, and a UAS should send such a response if the
>  callee is being alerted, regardless of the status of the early
>  media session.
> 
> I think 3 above answers the original question about local ringtone
> generation.
> 
> /Mikael
> 
> [1]http://tools.ietf.org/html/rfc3960#section-3.2
> 
>> 2009/8/6 Abhishek Dhammawat 
>> mailto:abhishek.dhamma...@aricent.com>>
>> Hi
>>
>> I would request you not to remove the original question from the mail chain 
>> for better understanding of the issue I am putting the question by Miguel 
>> orielly again
>>
>>
>> "I am wondering if the below scenario is valid or not.
>>
>> <-- 183 (with SDP) then,
>> <-- 180 (without SDP)
> ___
> 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/2.0 487 LR2 - User not registered on this client

2009-08-05 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> 2009/8/4 Dale Worley :
>> Some SIP systems will not accept INVITEs from phones that are not
>> registered with the system.  This is not a requirement of SIP, but it
>> appears that your system enforces this requirement.
>>
>> In regard to the specific "487" response, its purpose is to report that
>> the processing of a request was terminated by a CANCEL.  So it appears
>> that that response code is being used incorrectly here.

While 487 is the typical response to an INVITE that has been terminated 
by a CANCEL, AFAIK there is no restriction that 487 *only* be used when 
a request has been canceled.

I think it is technically ok to use this response here, if the goal is 
to be vague about why.

(Or, I guess you could pretend that a proxy on the path first passed the 
message on, then decided to send a CANCEL. To the UAC it would look the 
same.)

> Yes, I don't understand why vendors don't use "403 Forbidden" (with
> appropiate reason phrase) in these cases.

I do agree that if the intent was to forbid incoming calls from anyone 
not registered to this system, then 403 would be a much more suitable 
choice.

Thanks,
Paul
___
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] Doubt in RTP(Media port)

2009-07-06 Thread Paul Kyzivat


friend friend wrote:
> Dear somesh,
> In hold condition, i set the media ip address as 0 and i set the 
> attribute as send only.
> is this enough? am not setting the port as 0.
>  
> and could you please tell me, when shall i use Inactive and send only
>  
> please advice me.

please read draft-ietf-sipping-sip-offeranswer-10 for a long discussion 
on this topic.

Thanks,
Paul

> Thanks & Regards,
>  vijay
> 
> --- On Fri, 3/7/09, Shanbhag, Somesh (NSN - IN/Bangalore) 
>  wrote:
> 
> 
> From: Shanbhag, Somesh (NSN - IN/Bangalore) 
> Subject: RE: [Sip-implementors] Doubt in RTP(Media port)
> To: "ext friend friend" , 
> sip-implementors@lists.cs.columbia.edu, shamik.s...@wipro.com
> Date: Friday, 3 July, 2009, 7:06 PM
> 
> 
> Vijay:
> 
> There is also one more implementation widely used. If you make your port as 
> 0, this will also result in an Hold condition.
> 
> There are two approaches used:
> 
> (1) Make port as zero
> (2) Include a=sendonly attribute
> 
> 
> Somesh
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu 
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of ext 
> friend friend
> Sent: Friday, July 03, 2009 5:48 PM
> To: sip-implementors@lists.cs.columbia.edu; shamik.s...@wipro.com
> Subject: Re: [Sip-implementors] Doubt in RTP(Media port)
> 
> Thanks for your Information
>  
> Regards,
> vijay
> 
> --- On Fri, 3/7/09, shamik.s...@wipro.com  wrote:
> 
> 
> From: shamik.s...@wipro.com 
> Subject: Re: [Sip-implementors] Doubt in RTP(Media port)
> To: sip_qu...@yahoo.co.in, sip-implementors@lists.cs.columbia.edu
> Date: Friday, 3 July, 2009, 5:05 PM
> 
> 
> 
> 
> During call hold just change the attribute to inactive don't change the media 
> port. 
> 
> 
> Thanks and regards,
> 
> Shamik Saha
> Project Engineer
> Voice Protocols
> Cell :  +91-9886704155
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu 
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of 
> sip_qu...@yahoo.co.in
> Sent: Friday, July 03, 2009 5:02 PM
> To: sip fourm
> Subject: [Sip-implementors] Doubt in RTP(Media port)
> 
> 
> Dear Experts,
> Caller sends INVITE with media port as 1000 to callee. ie caller says 
> to the callee, am listening in 1000. callee sends 200 OK with media port as 
> 2000. ie callee set the caller's ip and port(1000) and it says am listening 
> in 2000. after getting ACK, both ways RTP is going successfully. 
>  
> now when doing call onhold, media port shold be incremented to 1002 or same 
> 1000?
>  
> please tell me the standard.
>  
>  
> Thanks n Advance
>  
> Thanks & Regards,
> vijay
>  
>  
>  
>  
> 
> 
>   See the Web's breaking stories, chosen by people like you. Check out 
> Yahoo! Buzz. http://in.buzz.yahoo.com/ 
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
> Please do not print this email unless it is absolutely necessary. 
> 
> The information contained in this electronic message and any attachments to 
> this message are intended for the exclusive use of the addressee(s) and may 
> contain proprietary, confidential or privileged information. If you are not 
> the intended recipient, you should not disseminate, distribute or copy this 
> e-mail. Please notify the sender immediately and destroy all copies of this 
> message and any attachments. 
> 
> WARNING: Computer viruses can be transmitted via email. The recipient should 
> check this email and any attachments for the presence of viruses. The company 
> accepts no liability for any damage caused by any virus transmitted by this 
> email. 
> 
> www.wipro.com
> 
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
> 
> 
>   Love Cricket? Check out live scores, photos, video highlights and more. 
> Click here http://cricket.yahoo.com
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
> 
> 
>   See the Web's breaking stories, chosen by people like you. Check 
> out Yahoo! Buzz. http://in.buzz.yahoo.com/
> ___
> 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] Call Transfer through a SIP trunk

2009-07-01 Thread Paul Kyzivat


Manoj Priyankara [TG] wrote:
> Hi Paul,
> 
> Sorry for using more generic terms. In this case the IP-PBX acts as a
> B2BUA and the SS acts as a Proxy

OK. Looking at it again, the flows you describe aren't consistent with 
the transfer you seem to be talking about.

If C called A, and then A wants to transfer the call to B, then the goal 
is to have C talking to B, right? That's not what you showed.

And the simple answer is that you only have two choices:

- send a REFER to C, or B, to directly connect them.
   But I think you state the SS refuses this.
   (Depending on signaling, you *might* be able to
   bypass SS. But I doubt it.)

- you must insert something, which will have to be a B2BUA,
   to bridge the B call leg to the C call leg. It could be
   A, but the PBX is a more likely candidate.
   But you might not have to relay the media. With some care
   and some luck, you might be able to offer B's sdp to C
   and C's to B. Then you would be in the signaling path, but
   not the media path. That would make it a fairly small cost.

Paul

> BR,
> Manoj
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Paul Kyzivat
> Sent: Tuesday, June 30, 2009 6:50 PM
> To: Manoj Priyankara [TG]
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] Call Transfer through a SIP trunk
> 
> Manoj,
> 
> Virtually none of the terms you use below have well defined meanings in 
> sip standards. Many people use such terms, but AFAIK there are not well 
> understood and consistent implementations for them. So it is not 
> possible to answer your question as posed.
> 
> Tell us whether your SS and IP-PBX are proxies, or B2BUAs. And if 
> B2BUAs, do they terminate media or not.
> 
> Then it may be possible to give you an answer.
> 
>   Thanks,
>   Paul
> 
> Manoj Priyankara [TG] wrote:
>> Dear all,
>>
>> Please consider the following scenario.
>>
>> Assume that there is a standard Soft Switch; and an IP PBX is
> connected
>> to the SS using a SIP trunk. 
>>
>> IP PBX has a user (Say A)
>>
>> An incoming call comes from an external party through the SS to user
> A.
>> User A transfers that call to an external party. (Say B). This call
> leg
>> also goes through the SS
>>
>>
>> Incoming call to A
>>
>>  SIP Trunk
>> C-> |SS|>|IP-PBX|--> A
>>
>>
>> Transfer to B
>>
>> A>|IP PBX|--->|SS|---> B
>>
>> In this scenario, can the media be bridged from the SS and release all
>> the resources in the IP PBX once the call is transferred?
>>
>> Thanks
>> BR,
>> Manoj
>>
>> ___
>> 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] Call Transfer through a SIP trunk

2009-06-30 Thread Paul Kyzivat
Manoj,

Virtually none of the terms you use below have well defined meanings in 
sip standards. Many people use such terms, but AFAIK there are not well 
understood and consistent implementations for them. So it is not 
possible to answer your question as posed.

Tell us whether your SS and IP-PBX are proxies, or B2BUAs. And if 
B2BUAs, do they terminate media or not.

Then it may be possible to give you an answer.

Thanks,
Paul

Manoj Priyankara [TG] wrote:
> Dear all,
> 
> Please consider the following scenario.
> 
> Assume that there is a standard Soft Switch; and an IP PBX is connected
> to the SS using a SIP trunk. 
> 
> IP PBX has a user (Say A)
> 
> An incoming call comes from an external party through the SS to user A.
> User A transfers that call to an external party. (Say B). This call leg
> also goes through the SS
> 
> 
> Incoming call to A
> 
>   SIP Trunk
> C-> |SS|>|IP-PBX|--> A
> 
> 
> Transfer to B
> 
> A>|IP PBX|--->|SS|---> B
> 
> In this scenario, can the media be bridged from the SS and release all
> the resources in the IP PBX once the call is transferred?
> 
> Thanks
> BR,
> Manoj
> 
> ___
> 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 Redirect Server and SIP Trunks

2009-06-26 Thread Paul Kyzivat
There is a trunk-group parameter defined for the tel uri.
(Can be used in sip uri when it contains a phone number.)
I forget what RFC it is. Would that be what you are looking for?

Paul

Aniruddha Vaidya wrote:
> Hello Everyone,
> 
> I have a requirement wherein a Redirect server needs to populate
> redirected address with SIP trunking information in contact header of
> 302 response.
> 
> One option that we are considering of is to use maddr parameter to
> store SIP trunking information. Can you please let me if this is the
> correct way to put trunking information in contact header or there is
> any other mechanism of doing this?
> 
> Thanks in Advance!
> Aniruddha
> ___
> 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] Information Required

2009-06-23 Thread Paul Kyzivat
Linking of registration to authorization of sessions is an IMS concept. 
You will need to ask this question in some IMS forum.

As far as IETF is concerned, the presence, coming, or going of 
registrations has *no* bearing on extablished sessions, or on the 
ability to establish new sessions.

Thanks,
Paul


Siddhartha Singh wrote:
> Hi
> I need informartion on  SIP IMS behaviour in follwoing scenario:
> PreCondition:
>  
> 1. Mutiple public identities linked to one private identities are registered 
> in IMS.
> 2. We have implicit registration enabled meaning we do not need to send 
> individual registration messages for all public identity.
> 3.one on public identity is having active session at same time one of public 
> identity sends
> registration message with expire header set to 0.
> How should this be handled, should existing session get terminated or there 
> should be some error response.
> Please help
> 
> 
>   ICC World Twenty20 England '09 exclusively on YAHOO! CRICKET 
> http://cricket.yahoo.com
> ___
> 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] Query in Request URI

2009-06-23 Thread Paul Kyzivat
Sreenath,

I'm puzzled by how you are asking this question.
In general the form of the user part of a sip URI should only be of 
concern to the owner of the domain of that URI.

So in sip:VoiceMail;userparam=12...@wcom.com,
it is up to the owner of wcom.com to decide which user parts it is 
willing to accept. (Among those that are syntactically permitted.)

So, if you are responsible for wcom.com, you may decide the above is 
meaningful to you, or you may reject it.

Those who are *sending* requests should, in general, only be sending 
them to URIs that they have been given. So if somebody from wcom.com 
*gave* you the URI sip:VoiceMail;userparam=12...@wcom.com, then you 
should just send requests to it, not question whether it is valid.

OTOH, if you have been given the URI sip:voicem...@wcom.com, then *in 
general* you have *no business* modifying it by adding a parameter to 
create sip:VoiceMail;userparam=12...@wcom.com.

I say *in general* because that could be violated if you have some 
special knowledge of the policies of the wcom.com domain, that such an 
alteration is acceptable for URIs in its domain.

Thanks,
Paul

Sreenath Kulkarni wrote:
> Can u please provide me any reference for the same?
> 
> Regards,
> Sreenath.
> 
> 
> 
> 
> 
> From: Iñaki Baz Castillo 
> To: sip-implementors@lists.cs.columbia.edu
> Sent: Monday, 22 June, 2009 3:07:23 PM
> Subject: Re: [Sip-implementors] Query in Request URI
> 
> El Lunes, 22 de Junio de 2009, Sreenath Kulkarni escribió:
>> Hi Sudhir,
>>
>> According to RFC 3261 Section 19.1.1, the sip uri should be..
>>
>> sip:user:passw...@host:port;uri-parameters?headers
>>   
>> And in Section 25 of RFC 3261 it mentioned the ABNF for SIP uri.
>>   
>> But in the request uri its not clear that wht is the meaning of VoiceMail.
>> I think the request uri should be
>> INVITE sip:12...@wcome.com;userparam=VoiceMail SIP/2.0
> 
> Not at all.
> 
> "VoiceMail;userparam=12345" is a 100% correct username.
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Query in Request URI

2009-06-22 Thread Paul Kyzivat
There is nothing wrong with that as long as wcom.com is happy with it.

Regards,
Paul

Sudhir Kumar Reddy wrote:
> Hi All,
> 
> Can I consider following request-uri?
> 
> INVITE sip:VoiceMail;userparam=12...@wcom.com SIP/2.0
> 
> any response is highly appericated
> 
> Thanks in advance
> 
> regards
> sR
> 
> 
>   ICC World Twenty20 England '09 exclusively on YAHOO! CRICKET 
> http://cricket.yahoo.com
> ___
> 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] Dial logic based on presence status

2009-06-17 Thread Paul Kyzivat
Certainly things of this sort could be useful.
At least for now such things are in the realm of "products" rather than 
standards-based stuff.

Blocking of call delivery based on presence status does require a 
significant degree of trust in the accuracy of the presence status. When 
in doubt I think it would be better to deliver the call and let the 
device choose to reject the call without alerting if it is in DND 
status. But that might not work if you have a dumb phone device and a 
separate device (e.g. pc) publishing presence status. That's why I think 
for now this is an exercise in system design.

Thanks,
Paul

Iñaki Baz Castillo wrote:
> El Miércoles, 17 de Junio de 2009, Iñaki Baz Castillo escribió:
>> Hi, presence is basically defined for publishing status (user, device) and
>> notify watcher about them.
>>
>> Would make sense if a proxy/b2bua/application_server would retrieve the
>> presence status of an user in accept or reject a call for him?
>>
>> This is:
>>
>> - Bob publishes "offline" basic status.
>> - Alice calls Bob.
>> - The INVITE arrives to the PBX (or a proxy).
>> - The PBX checks the presence status of Bob and gets "offline" (even if Bob
>> is registered).
>> - The PBX decides then to reject the call with "480 User Not Avilable Now".
>>
>> I do know that it *could* be done. My question is: does it make sense?
> 
> Of course, other option would be the client software setting DND when the 
> user 
> selects "offline"/"away"/"busy" presence status. Some softphone do it.
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] XCAP: Why "org.openmobilealliance.pres-rules" instead of just "pres-rules"?

2009-06-17 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:

> Thanks for so great explanation.
> 
> However, I wonder why so many new features are needed when most of the 
> devices 
> don't implement XCAP yet. The fact I don't consider useful all the new 
> features described above. Is it really implemented "somewhere"?

I suspect the simple answer is that they don't care what you want.
They are designing for 3gpp/IMS, to build a closed system that supports 
the features they want. I imagine they don't need or want to talk to 
your systems or devices.

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


Re: [Sip-implementors] SIP Endpoing Disconnection

2009-06-12 Thread Paul Kyzivat


Victor Pascual Ávila wrote:
> Hi Paul,
> thanks for your comments. See responses inline.
> 
> 2009/6/11 Paul Kyzivat :
>> There is really no particular value in using session timers in this case.
>> Session timer is for the benefit of record-routed proxies.
> 
> Since session timer works fine even if only one of the UAs supports it
> (i.e with no proxy support), I wouldn't say that there's no particular
> value in using rfc4028 here.

The fact that it works doesn't imply that it has value.

>> If a UA suspects that there might be a problem it can test the signaling
>> path by sending an in-dialog message. It could be reINVITE, or UPDATE, or
>> OPTIONS. OPTIONS isn't a great choice because there is some ambiguity about
>> whether it should fail when sent "in dialog" and the dialog is gone. So
>> reINVITE or UPDATE are preferred choices.
>>
>> This is pretty much like session timer, but need not be negotiated, and
>> messages need not be sent on any schedule - just when one end or the other
>> has a question about the status of the session. For instance, if media has
>> stopped flowing for awhile, or ICMP messages are being received on the media
>> stream, an UPDATE can be sent to check the status of the session.
> 
> I believe it would be better to use an standard(*) mechanism
> (possibility to negotiate intervals and refresher while it eliminates
> the OPTIONS ambiguity) which does not assume the UAC/UAS to be
> handling also the media streams (e.g. B2BUA). In addition, one could
> also detect scenarios where the session has been released but the
> media streams are still flowing.
> 
> (*) SIPit23: 63% of the implementations supported rfc4028

Certainly if you want to request it in your UA, go right ahead.
That may mean that even though you want to verify the session every 5 
minutes you will end up doing it only every 5 hours because that is the 
minimum the other guy supports.

Or else you will end up doing every 5 hrs for session timer and doing 
every 5 mins on your own, independent of session timer, to satisfy your 
own requirement. You can certainly do that because there is no 
negotiation defined to limit how frequently you may send reINVITE or 
UPDATE in general.

There are few if any drawbacks to having each end manage session 
verification signaling on its own, at its own rate. If I decide I want 
to do every 5 hrs, then each time I receive a message from the other end 
I set a timer for 5 hrs. Subsequent received messages reset that timer. 
So as long as there is signaling I need not do any extra. If my 5 hr 
timer goes off, I send a reINVITE or UPDATE. If I get an acceptable 
answer to it I set another 5 hr timer. If not then the session is dead.

The other end can be doing the same thing. If he does so more often, 
then I will never need to send anything to do the verification.

The worst thing that can happen is glare if we both send at same time. 
Normally that requires backoff and retry. But if I was only sending to 
verify the connection then there is no need for me to retry. And same 
for other side.

And that assumes you want periodic checks even if things are otherwise ok.

Personally, in a UA with a real user, I think I will rely on the user to 
decide things are messed up and hang up, probably based on lack of 
media. If the media is flowing to the satisfaction of the user, then 
tearing down the call because the signaling has broken will probably not 
be appreciated.

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

Re: [Sip-implementors] Indicating "Call Waiting" in a 1XX response

2009-06-11 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> El Jueves, 11 de Junio de 2009, Paul Kyzivat escribió:
>> In one case I have a single phone with one phone number. Typically if a
>> 2nd call comes in while phone is in use it is signaled to the callee in
>> the media stream rather than through "ring". To switch between calls you
>> typically use "flash". This is case where typically the caller might get
>> a "call waiting" signal. (Because this case is considered a "call
>> waiting" feature.)
>>
>> A 2nd case is where I have a "desk phone" with multiple "line" buttons
>> on it. Those "lines" may be associated with distinct phone numbers. By
>> pushing the line buttons you can connect the microphone and speaker to
>> one or the other of the "lines". While a call is in place on one line, a
>> call may come in on the other "line". Typically the signaling in this
>> case would still be a ring, or maybe a flashing of the light on the line
>> button, or both. To switch and answer the 2nd call you might have to
>> first push HOLD and then press the button for the other line. In this
>> case, AFAIK, the caller is *not* likely to get a "call waiting" signal.
> 
> For the caller signalling perspective both mean the same: the callee is on a 
> call but has notification of this new call.
> 
> 
>> The above are "traditional" renderings of a couple of different
>> services. But fundamentally they are almost the same. In particular, the
>> increased effort and delay to answer the 2nd call is pretty much the
>> same in both cases. So if it makes sense to alert the caller to this in
>> one case, it ought to make sense to do so in the other case too.
> 
> I agree, it's exactly the same (jsut different technology but some concept).

OK. We are in violent agreement.
Its just "common practice" that doesn't agree!

>> OTOH, I am not convinced that it makes sense in either case. Being "on
>> the phone" at least means you are *near* the phone. So the time to
>> answer may actually be less, on average, than when you are not on the
>> phone. So what is the point in signaling anything special?
> 
> If I call somebody (my boss) and receive "Call-Waiting in remote side" 
> indication, I could hang-up inmediatelly and call later (this is really 
> useful 
> in case my call is not urgent at all and I don't want to disturb my boss who 
> could be on an important call).

You could. Of course in the meantime he might have already initiated the 
answer to your call, and so might be even more disturbed. :-)

>> If anything, it would be better if the callee could cause a signal to be
>> returned to the caller that affirmatively indicated "I acknowledge your
>> call, but will need extra time before I can answer it".
> 
> The Call-Waiting indication in the response could be generated in varios ways 
> by the callee:
> - Automatically when an active line already exists.
> - Never.
> - Manually by pressing a button (notify call-waiting to caller).
> 
> These options could be configurable in the phone.

Yup!

> So, if we consider 182 valid for this purpose (and I think we all agree) then 
> this feature would require:
> - UAC implementation (display "The remote is actually on a call" upon receipt 
> of 182).
> - UAS implemetation (with the options I mention above).
> 
> Do yo agree?

Pretty much. The 182 has a somewhat vague meaning, and it think it is 
fine that the meaning be that way. The implementation should be able to 
display whatever it wants - preferably something in line with the vague 
notion of 182 or it can choose to assume what it thinks is the most 
common usage and call it that.

So it might display or say:

- the remote is actually on a call
- the callee is occupied but will answer you eventually
- your call is waiting for the called party to answer
- your call has been queued until answered
- ...
- any of the above in Spanish :-)

Or it might just play a distinctive ringback tone. (Maybe that little 
tune they play on Jepardy while waiting for contestants to answer.) (Do 
you know Jepardy TV show where you are?)

Its not really essential that all phones do the same thing, any more 
than it is that all phones have the same ring tone.

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


Re: [Sip-implementors] Indicating "Call Waiting" in a 1XX response

2009-06-11 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> El Jueves, 11 de Junio de 2009, Paul Kyzivat escribió:
>> Specifically, from a caller perspective, how is a call handled via "call
>> waiting" at the callee any different from the call ringing on a phone
>> with two lines where the other line is in use? Why should the caller get
>> a special signal in one case and not in the other case?
> 
> Paul, i don't understand the "two" cases you mention, I just see one (as you 
> say):
> 
>   "the call ringing on a phone with two (or more) lines where the other
>line is in use"
> 
> Which is the second mean?

In one case I have a single phone with one phone number. Typically if a 
2nd call comes in while phone is in use it is signaled to the callee in 
the media stream rather than through "ring". To switch between calls you 
typically use "flash". This is case where typically the caller might get 
a "call waiting" signal. (Because this case is considered a "call 
waiting" feature.)

A 2nd case is where I have a "desk phone" with multiple "line" buttons 
on it. Those "lines" may be associated with distinct phone numbers. By 
pushing the line buttons you can connect the microphone and speaker to 
one or the other of the "lines". While a call is in place on one line, a 
call may come in on the other "line". Typically the signaling in this 
case would still be a ring, or maybe a flashing of the light on the line 
button, or both. To switch and answer the 2nd call you might have to 
first push HOLD and then press the button for the other line. In this 
case, AFAIK, the caller is *not* likely to get a "call waiting" signal.

The above are "traditional" renderings of a couple of different 
services. But fundamentally they are almost the same. In particular, the 
increased effort and delay to answer the 2nd call is pretty much the 
same in both cases. So if it makes sense to alert the caller to this in 
one case, it ought to make sense to do so in the other case too.

OTOH, I am not convinced that it makes sense in either case. Being "on 
the phone" at least means you are *near* the phone. So the time to 
answer may actually be less, on average, than when you are not on the 
phone. So what is the point in signaling anything special?

If anything, it would be better if the callee could cause a signal to be 
returned to the caller that affirmatively indicated "I acknowledge your 
call, but will need extra time before I can answer it".

Thanks,
Paul

>> AFAICT, from the caller perspective this is just a "this callee may take
>> an unusually long time to answer the call" indicator, and callees ought
>> to be able to make their own decision about when to specify it.
> 
> Yes, I agree :)
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Query for SDP Negotiation

2009-06-11 Thread Paul Kyzivat
Agree with Attila. So in the given circumstance the UAS could have 
responded to the invite with a 488 to indicate that it didn't support 
the offered media.

Another possibility is for the UAS to return an answer where the port in 
the m-line is zero, thus rejecting the media stream since it can't 
handle any of the offered media. It could also include in that m-line 
the codecs it *does* support as an indication, though they will not be 
used at that time.

Then the UAS could initiate another offer with the codecs it does 
support, in hopes of getting a working call.

Whether that is better than the 488 is arguable. Probably not in most cases.

Thanks,
Paul

Attila Sipos wrote:
> 415 is often confused with 488.
> 
> "415 Unsupported Media Type" is what you would use if if didn't understand
> the SIP message body content.
> 
> 488 (which is similar to 606) would be a more suitable response:
> 
> 21.4.26 488 Not Acceptable Here
> 
>The response has the same meaning as 606 (Not Acceptable), but only
>applies to the specific resource addressed by the Request-URI and the
>request may succeed elsewhere.
> 
> and 606 is described as...
> 
>The user's agent was contacted successfully but some aspects of the
>session description such as the requested media, bandwidth, or
>addressing style were not acceptable.
> 
>A 606 (Not Acceptable) response means that the user wishes to
>communicate, but cannot adequately support the session described.
>The 606 (Not Acceptable) response MAY contain a list of reasons in a
>Warning header field describing why the session described cannot be
>supported.  Warning reason codes are listed in Section 20.43.
> 
> 
> Regards,
> Attila
> 
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu 
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of Peter 
> Nijhuis
> Sent: 27 April 2009 14:30
> To: Shanbhag, Somesh (NSN - IN/Bangalore); ext friend friend; sip fourm
> Subject: Re: [Sip-implementors] Query for SDP Negotiation
> 
> I think Callee should respond with 415 unsupported media type, since it is 
> not supporting media types 102, 0, 8 or 106.
> 
> Met vriendelijke groet, with kind regards, mit freundlichen Gruß
> 
> Peter Nijhuis
> 
> 
>   
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu [mailto:sip- 
>> implementors-boun...@lists.cs.columbia.edu] On Behalf Of Shanbhag, 
>> Somesh (NSN - IN/Bangalore)
>> Sent: maandag 27 april 2009 15:07
>> To: ext friend friend; sip fourm
>> Subject: Re: [Sip-implementors] Query for SDP Negotiation
>>
>> The basic thing is CALLEE has to take the subset of codecs offered by 
>> CALLER and reply back.
>> But in your case, CALLEE is replying with different set of codecs (97
>> 101) in reply to CALLER codecs  ( 102 0 8 106 ) IMHO, since the 
>> capabilities mis-match, immdiately end the call using BYE / CANCEL 
>> which ever is relevant.
>>
>>
>> Somesh
>>
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu [mailto:sip- 
>> implementors-boun...@lists.cs.columbia.edu] On Behalf Of ext friend 
>> friend
>> Sent: Monday, April 27, 2009 2:59 PM
>> To: sip fourm
>> Subject: [Sip-implementors] Query for SDP Negotiation
>>
>> Dear Folks,
>>I have doubt in the following scenario.
>>
>> Caller's sdp :
>>
>> v=0
>> o=- 1234 1 IN IP4 10.10.20.35
>> s=-
>> c=IN IP4 10.10.20.35
>> t=0 0
>> m=audio 12000 RTP/AVP 102 0 8 106
>> a=rtpmap:102 iLBC/8000
>> a=rtpmap:0 PCMU/8000
>> a=rtpmap:8 PCMA/8000
>> a=rtpmap:106 telephone-event/8000
>>
>>
>> Callee's negotiated sdp :
>>
>> v=0
>> o=- 3449811996 3449811996 IN IP4 10.10.20.4 s=SJphone c=IN IP4 
>> 10.10.20.4 t=0 0 m=audio 49164 RTP/AVP 97 101 c=IN IP4 10.10.20.4
>> a=rtpmap:97 iLBC/8000
>> a=rtpmap:101 telephone-event/8000
>> a=fmtp:101 0-16
>> a=setup:active
>> a=sendrecv
>>
>> In this case,Is callee's negotiation method is wrong?
>>
>> Callee should send like m=audio 49164 RTP/AVP 102 106 rite?
>>
>> In this case, after call establishment,
>>  from caller sending RTP using 102 (UnKnown)
>>  from callee sending RTP using 97 (iLBC)
>>
>> So caller hearing callee's audio but callee not able to hear caller's 
>> audio.
>>
>> please clarify this issue.
>>
>> Thanks & Regards,
>> vijay
>>
>>
>>   Bring your gang together. Do your thing. Find your favourite 
>> Yahoo! group at http://in.promos.yahoo.com/groups/
>> ___
>> 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

Re: [Sip-implementors] SIP Endpoing Disconnection

2009-06-11 Thread Paul Kyzivat
There is really no particular value in using session timers in this 
case. Session timer is for the benefit of record-routed proxies.

If a UA suspects that there might be a problem it can test the signaling 
path by sending an in-dialog message. It could be reINVITE, or UPDATE, 
or OPTIONS. OPTIONS isn't a great choice because there is some ambiguity 
about whether it should fail when sent "in dialog" and the dialog is 
gone. So reINVITE or UPDATE are preferred choices.

This is pretty much like session timer, but need not be negotiated, and 
messages need not be sent on any schedule - just when one end or the 
other has a question about the status of the session. For instance, if 
media has stopped flowing for awhile, or ICMP messages are being 
received on the media stream, an UPDATE can be sent to check the status 
of the session.

Thanks,
Paul

Victor Pascual Ávila wrote:
> On Thu, Jun 11, 2009 at 11:11 AM, Manoj Priyankara
> [TG] wrote:
>> Dear All,
>>
>> Could one of you please explain me how to handle following situation in
>> a SIP session?
>>
>> Let us imagine that UAC's A and B are in a call and due to a network
>> connectivity problem, user A disconnects without sending any message to
>> the UAS.
>> Then the UAS still thinks that UAC A is alive. Of course if we have SIP
>> OPTIONS kind of keep alive message then after sometime UAS can come to
>> know that UAC A has not accessible and release the call. But if there is
>> no such mechanism, how to handle this situation?
> 
> Although a UA may be able to determine whether a session has timed out
> by using session specific mechanisms (e.g. interpret a certain volume
> of ICMP unreachable on a particular RTP destination as evidence of a
> failed call), proxies are not able to do so. I'd recommend here the
> use of session timers (RFC 4028).
> 
> Cheers,
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Indicating "Call Waiting" in a 1XX response

2009-06-11 Thread Paul Kyzivat
This special treatment for "call waiting" has always baffled me.
It seems to be rooted in the telco partitioning of services rather than 
on any fundamental difference.

Specifically, from a caller perspective, how is a call handled via "call 
waiting" at the callee any different from the call ringing on a phone 
with two lines where the other line is in use? Why should the caller get 
a special signal in one case and not in the other case?

AFAICT, from the caller perspective this is just a "this callee may take 
an unusually long time to answer the call" indicator, and callees ought 
to be able to make their own decision about when to specify it.

Thanks,
Paul

Attila Sipos wrote:
>>> 182 doesn't mean "call-waiting", it can mean "call-waiting", "queued"... 
> 
> It's the same thing isn't it?
> 
> If you've got a "call-waiting", then your call is queued to be answered.
> And you're queuing, you're a call that is waiting to be answered.
> 
> For me, call-waiting is a type of queue (a queue of one).
> 
> 
> 
> 
> 
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu 
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of Iñaki 
> Baz Castillo
> Sent: 10 June 2009 21:30
> To: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] Indicating "Call Waiting" in a 1XX response
> 
> El Miércoles, 10 de Junio de 2009, Dale Worley escribió:
> 
>>> Do you mean that the UAC could display the reason phrase in *English*?
>>> IMHO a standarized code or "string" should be needed for this 
>>> instead of a custom string in English.
>> Strictly speaking, the UAC would display the reason phrase in whatever 
>> language the reason phrase is written in.  And since SIP uses Unicode 
>> consistently...  Try 
>> http://www.evertype.com/standards/csur/tengwar.html
>> or http://en.wikipedia.org/wiki/List_of_Unicode_characters#Dingbats
> 
> So, if something is written with Unicode encoding... it becomes automatically 
> readable by anyone in the world? Great, I'll talk my grandmother about it. XD
> 
> Ok, imagine that 180 and 183 don't exist. Instead an unique 101 code exists 
> and the description is the reason phrase. But any device could write that 
> description in whatever language (as you suggested above for 182 code) so:
> 
>   SIP/101 Ringing  <-- English
>   SIP/101 Sonando  <-- Spanish
>   SIP/101 Session Progress <-- English
>   SIP/101 Early Session<-- English too
>   SIP/101 En progreso  <-- Spanish
> 
> I'm sure that you don't agree with this "feature", so why do you suggest 
> exactly the same for 182? Note that 182 doesn't mean "call-waiting", it can 
> mean "call-waiting", "queued"...
> 
> Another possibility would take place if we all agree on the real meaning of
> 182: could it mean that the called has received the call but he is already on 
> other call? In that case 182 would just mean "call-waiting in remote side", 
> so our intelligent UAC doesn't require to "translate" the reason phrase and 
> display it to the user.
> 
> 
> Thanks.
> 
> 
> --
> 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 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] Indicating "Call Waiting" in a 1XX response

2009-06-10 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> El Miércoles, 10 de Junio de 2009, Paul Kyzivat escribió:
> 
>> Actually, *in theory*, you can put Accept-Language:es into your INVITE,
>> and then the text messages in the response ought to be written in Spanish.
>>
>> (And of course everybody's SIP implementation does that. :-)
> 
> Yes, I was to say the same XD
> 
> 
> 
>> Practically speaking, if you want the caller to display some indication
>> with a specific semantic then you do need some signaling that coveys
>> that semantic. The 182, ignoring the reason phrase, comes *close* -
>> close enough that IMO it would be reasonable for a UA to display some
>> message that the user would reasonably interpret as call waiting.
> 
> Ok, I like this, more than what you suggest now:
> 
> 
>> To get more specific than that, I have, for quite some time, been
>> promoting the concept of using Alert-Info with a URN, and defining URNs
>> with specific semantics. Having one with a "call waiting" semantic would
>> be quite reasonable. Alert-Info in a response is already defined, so
>> this is not an abuse. The main problem preventing use of Alert-Info with
>> URIs has, IMO, been one of trust - you don't know whether you are going
>> to get something offensive or dangerous. Using URNs with agreed upon
>> semantics eliminates that issue.
> 
> Do you mean that the UAC receives a 1XX with Alert-Info header containing an 
> URN for "call waiting" so the UAC would contact the URN URI and so on?

Yes.

> Sincerelly I don't like this idea, why should it contact a remote server just 
> to understand the call-waiting concept?

The point is URN, not URL. The URN is a *name*, not a *location*, so you 
don't contact any remote server. You either understand the name, or you 
don't. You are potentially able to understand it because there is a 
registry of URNs (in IANA) that points to a definition of what it means. 
But you will have to teach your software the URNs you want it to understand.

So, it is really just a different extension mechanism. In this case it 
would be used as an extension mechanism for alerts.

> Also, being realistic, most of the phones ignore Alert-Info header, or at 
> least, ignore contacting its URI. Am I wrong?

No, you are right, I think. This is just a potential way forward for 
functionality of this sort, where there might be lots of different kinds 
of alerts that are useful, but in an environment where I don't want to 
fetch some URL, especially an unknown one that I might not trust.

Because alerts are advisory, its probably fine if a recipient that 
doesn't understand one just ignores it.

Alerts defined by URNs could have all sorts of different degrees of 
definition:
- It could denote a particular tone or audio clip
- It could denote a particular piece of music but not its rendition
- It could be some text that is intended to be localized for the
   receiver
- It could simply be a concept, with the rendition left open for
   the implementation (e.g. EMERGENCY)
- ...

I believe this approach is being adopted by 3gpp for some things, but I 
don't have the details.

Of course if you just want something you can use today, this won't help. 
It is simply a possible direction forward.

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

Re: [Sip-implementors] Indicating "Call Waiting" in a 1XX response

2009-06-10 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> El Miércoles, 10 de Junio de 2009, Dale Worley escribió:
>> And a UAC might want to display the reason phrase, so you could use
> 
> Do you mean that the UAC could display the reason phrase in *English*? IMHO a 
> standarized code or "string" should be needed for this instead of a custom 
> string in English.

You mean everybody doesn't speak English? :-)

Actually, *in theory*, you can put Accept-Language:es into your INVITE, 
and then the text messages in the response ought to be written in Spanish.

(And of course everybody's SIP implementation does that. :-)

Practically speaking, if you want the caller to display some indication 
with a specific semantic then you do need some signaling that coveys 
that semantic. The 182, ignoring the reason phrase, comes *close* - 
close enough that IMO it would be reasonable for a UA to display some 
message that the user would reasonably interpret as call waiting.

To get more specific than that, I have, for quite some time, been 
promoting the concept of using Alert-Info with a URN, and defining URNs 
with specific semantics. Having one with a "call waiting" semantic would 
be quite reasonable. Alert-Info in a response is already defined, so 
this is not an abuse. The main problem preventing use of Alert-Info with 
URIs has, IMO, been one of trust - you don't know whether you are going 
to get something offensive or dangerous. Using URNs with agreed upon 
semantics eliminates that issue.

Thanks,
Paul

>> SIP/2.0 182 Call waiting
>>
 Another option would be a new response code:
  "184 Call-Waiting"
 but it would be very complex to make it work with existing devices
 which basically expect 180 and 183.
>> Any UA must be prepared to receive any 1xx response and perform
>> adequately.
> 
> Sure, but do they do? :)
> 
> Thanks.
> 
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Doubt in Instant Message

2009-06-05 Thread Paul Kyzivat
This discussion has all assumed MESSAGE.
If you want to send big messages, use MSRP.
Then they can be as big as you like. Multi-GB messages were considered 
when designing it.

Paul

Victor Pascual Ávila wrote:
> Iñaki,
> 
> On Fri, Jun 5, 2009 at 11:56 AM, Iñaki Baz Castillo wrote:
>> 2009/6/5 Tomasz Zieleniewski :
>>> Any way request size can not exceed 1300 bytes.
>> Remember that TCP does exist ;)
> 
> You cannot assume all hops along the routing path to use TCP (unless
> you force it and your message possible get discarded where TCP is not
> supported).
> 
> Cheers,
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] SDP in Session Refresh Request

2009-06-05 Thread Paul Kyzivat


shamik.s...@wipro.com wrote:
> Hi Paul,
> 
> When the re-invite reaches the other end will it searches for the best
> bandwith codec again from the offered codecs even if the VERSION number
> is the same in the re-invite as the original invite.

I don't know if it *will*, but it MAY.

Thanks,
Paul

> Thanks and regards,
>  
> Shamik Saha
> Project Engineer
> Voice Protocols
> Cell :  +91-9886704155
> 
> -----Original Message-
> From: Paul Kyzivat [mailto:pkyzi...@cisco.com] 
> Sent: Thursday, June 04, 2009 9:05 PM
> To: Attila Sipos
> Cc: Shamik Saha (WT01 - Telecom Equipment);
> sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] SDP in Session Refresh Request
> 
> 
> 
> Attila Sipos wrote:
>> One more thing.
>>
>> I have seen UAs refresh the session using an UPDATE without any SDP.
>> Doing it this way doesn't change any of the codecs.
>>
>> RFC 4028 says:
>>  It is RECOMMENDED that the UPDATE request not contain an
>>offer [4], but a re-INVITE SHOULD contain one, even if the details
> of
>>the session have not changed. 
>>
>> so I think this would be ok, wouldn't it?
> 
> Yes, IMO this is the preferred approach for a simple refresh if the
> parties support UPDATE.
> 
>   Thanks,
>   Paul
> 
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu
>> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of 
>> Paul Kyzivat
>> Sent: 03 June 2009 16:42
>> To: shamik.s...@wipro.com
>> Cc: sip-implementors@lists.cs.columbia.edu
>> Subject: Re: [Sip-implementors] SDP in Session Refresh Request
>>
>> It wasn't stated who is doing the reinvite, and that can make a 
>> difference.
>>
>> Also, there is nothing special about a reinvite used for session timer
> 
>> refresh vs any other reinvite. Only the sender of the reinvite knows 
>> why it was sent, and reinvites that are primarily for some other 
>> purpose also refresh (or cancel) the session timer.
>>
>> If the sender of the reinvite has no motivation for doing so other 
>> than refreshing the session timer, or simply verifying the state of 
>> the session, then it could:
>> - send the same sdp it did the last time
>> - send an offer reflecting how it would like the session to be
>>
>> What it should not do is make an offer that anticipates what it thinks
> 
>> the other party wants, based on what it has seen as responses from the
> 
>> other party. Doing so can get into some nasty states, not so much with
> 
>> codecs, but with other stuff, like sendonly/recvonly. Also, you can 
>> never be certain that circumstances haven't changed at the other end.
>>
>> So, if UA1 is sending the reinvite, if it still would prefer to use 
>> codec B or C, then it should probably offer them again, in addition to
> 
>> A. But it might prefer not to do that if the change would cause some 
>> added cost, pain, or poor user experience. For instance it it would 
>> require renegotiating QoS, that might be a reason not to offer a
> change.
>> IF, after it decides what it wants to offer, that turns out to be the 
>> same as what it sent last, then it should set the o-line the same as 
>> last time.
>>
>> You should also check out
>>
>> http://www.ietf.org/internet-drafts/draft-ietf-sipping-sip-offeranswer
>> -1
>> 0.txt
>>
>>  Thanks,
>>  Paul
>>
>>
>> shamik.s...@wipro.com wrote:
>>> Hi,
>>>
>>> I think you mean to say that the re-invite is send before the session
> 
>>> timer expires as otherwise the session will be terminated,I think 
>>> this
>>> re-invite should only contain codec A as it is the codec that has 
>>> been
>>> negotiated,and the media streams for the other codec has been 
>>> rejected
>>> by the far-end so your SDP can contain all the three codecs but only 
>>> codec A should be ACTIVE.
>>>
>>> Since the two-peer has locked down on codec A,I think this should be 
>>> the only active codec as the far end has not mentioned the other 
>>> codec's in his answer so we can be sure that there will be no change 
>>> of codec on the fly.
>>>
>>> To sum up,codec A can be the only active codec while B and C are 
>>> inactive.
>>>
>>>
>>>
>>> Thanks and regards,
>>>  
>>> Shamik Saha
>>> Project Engineer
>>> Voice Protocols
>>

Re: [Sip-implementors] SDP in Session Refresh Request

2009-06-04 Thread Paul Kyzivat


Attila Sipos wrote:
> One more thing.
> 
> I have seen UAs refresh the session using an UPDATE without any SDP.
> Doing it this way doesn't change any of the codecs.
> 
> RFC 4028 says:
>  It is RECOMMENDED that the UPDATE request not contain an
>offer [4], but a re-INVITE SHOULD contain one, even if the details of
>the session have not changed. 
> 
> so I think this would be ok, wouldn't it?

Yes, IMO this is the preferred approach for a simple refresh if the 
parties support UPDATE.

Thanks,
Paul

> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Paul Kyzivat
> Sent: 03 June 2009 16:42
> To: shamik.s...@wipro.com
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] SDP in Session Refresh Request
> 
> It wasn't stated who is doing the reinvite, and that can make a
> difference.
> 
> Also, there is nothing special about a reinvite used for session timer
> refresh vs any other reinvite. Only the sender of the reinvite knows why
> it was sent, and reinvites that are primarily for some other purpose
> also refresh (or cancel) the session timer.
> 
> If the sender of the reinvite has no motivation for doing so other than
> refreshing the session timer, or simply verifying the state of the
> session, then it could:
> - send the same sdp it did the last time
> - send an offer reflecting how it would like the session to be
> 
> What it should not do is make an offer that anticipates what it thinks
> the other party wants, based on what it has seen as responses from the
> other party. Doing so can get into some nasty states, not so much with
> codecs, but with other stuff, like sendonly/recvonly. Also, you can
> never be certain that circumstances haven't changed at the other end.
> 
> So, if UA1 is sending the reinvite, if it still would prefer to use
> codec B or C, then it should probably offer them again, in addition to
> A. But it might prefer not to do that if the change would cause some
> added cost, pain, or poor user experience. For instance it it would
> require renegotiating QoS, that might be a reason not to offer a change.
> 
> IF, after it decides what it wants to offer, that turns out to be the
> same as what it sent last, then it should set the o-line the same as
> last time.
> 
> You should also check out
> 
> http://www.ietf.org/internet-drafts/draft-ietf-sipping-sip-offeranswer-1
> 0.txt
> 
>   Thanks,
>   Paul
> 
> 
> shamik.s...@wipro.com wrote:
>> Hi,
>>
>> I think you mean to say that the re-invite is send before the session 
>> timer expires as otherwise the session will be terminated,I think this
> 
>> re-invite should only contain codec A as it is the codec that has been
> 
>> negotiated,and the media streams for the other codec has been rejected
> 
>> by the far-end so your SDP can contain all the three codecs but only 
>> codec A should be ACTIVE.
>>
>> Since the two-peer has locked down on codec A,I think this should be 
>> the only active codec as the far end has not mentioned the other 
>> codec's in his answer so we can be sure that there will be no change 
>> of codec on the fly.
>>
>> To sum up,codec A can be the only active codec while B and C are 
>> inactive.
>>
>>
>>
>> Thanks and regards,
>>  
>> Shamik Saha
>> Project Engineer
>> Voice Protocols
>> Cell :  +91-9886704155
>>
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu
>> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of 
>> Radha krishna
>> Sent: Tuesday, June 02, 2009 4:09 PM
>> To: sip-implementors@lists.cs.columbia.edu
>> Subject: [Sip-implementors] SDP in Session Refresh Request
>>
>>
>> Hi All
>>
>> What should be the SDP in the following scenario.
>>
>> 1) UA1:  Send INVITE with 3 codec's. A, B and C.
>> 2) UA2:  Received 200 with Codec A.
>> 3) UA1:  Session timer expired.
>> 4) UA1:  Sending Re-INVITE what should SDP contain?
>> According to RFC we should not change SDP's, so o-line 
>> version MUST be same as
>> initial INVITE, What about Codec? It should have A, B and 
>> C or just A.
>> I think it should contain all three A, B and C right? 
>>
>> Regards
>> S.Radha krishna
>>
>>
>>
>>   
>> ___
>>

Re: [Sip-implementors] 200OK without SDP.

2009-06-04 Thread Paul Kyzivat
Good answers.

Also look at

http://www.ietf.org/internet-drafts/draft-ietf-sipping-sip-offeranswer-10.txt

Paul

Attila Sipos wrote:
> yes, the call flow is fine.
> 
> But I can understand why you are confused.
> The important part is this:
> For this specification, that is
>  only the final 2xx response to that INVITE. 
> 
> "For this specification" is important.
> It allows for extensions which might permit other behaviour.
> 
> In your case, the extension which permits other behaviour
> is rfc 3262 which uses the 100rel option tag.
> In RFC 3262, the behaviour allows for a reliable 18x response
> to carry the SDP answer.  So:
> 1. If SDP is in reliable 18x, the 200 OK does not need SDP. 
> 2. If SDP is in reliable 18x and SDP is in the 200 OK,
> then the SDP of the 200 OK should be ignored.
> 
> Regards,
> 
> Attila
>  
> 
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Harsimran Singh
> Sent: 01 June 2009 11:25
> To: Sip-implementors@lists.cs.columbia.edu
> Subject: [Sip-implementors] 200OK without SDP.
> 
> Hi
> 
> I am confused about the section 13.2 of RFC 3261. The description given
> in the RFC looks inconsistent.
> My call flow is as follows:
> 
> INVITE with sdp & Supp 100rel
> --->
> 100 Trying
> <
> 180 Ringing with Req 100rel & sdp
> <
> PRACK no sdp
> >
> 200OK for prack no sdp
> <
> 200OK for INV no sdp  <>
> <
> ACK
> --->
> Is the above call flow correct?
> 
> 
> 
> o  If the initial offer is in an INVITE, the answer MUST be in a
>  reliable non-failure message from UAS back to UAC which is
>  correlated to that INVITE.  For this specification, that is
>  only the final 2xx response to that INVITE.  That same exact
>  answer MAY also be placed in any provisional responses sent
>  prior to the answer.  The UAC MUST treat the first session
>  description it receives as the answer, and MUST ignore any
>  session descriptions in subsequent responses to the initial
>  INVITE.
> --
> 
> Thanks
> Harsimran Singh
> ___
> 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] SRTP key transmission

2009-06-04 Thread Paul Kyzivat
A significant limitation in what you propose is that it requires Bob to 
have a public key that Alice knows. In general we don't find that to be 
the case in most telephony applications.

Thanks,
Paul

Vadim Lebedev wrote:
> I see,
> Well this particular attack could be prevented by adding a timestamp +  
> key validity period into the encrypted material...
> This is still much cheaper than using SSL in signalling path.
> Actually the current approach (SSL in signalling path and rtp key in  
> clear in SDP) seems to be weaker in case of compromised server - the  
> bad guy will be able to actually HEAR,SEE and FAKE
> rtp streams.
> 
> 
> Anyway thanks a lot for the feedback
> 
> Vadim
> Le 2 juin 09 à 18:55, Alexander Krassiev a écrit :
> 
>> Man in a middle. Encrypted key can be stored and re-used by man-in-a- 
>> middle to forge future conversations (to garble the stream). Further  
>> enhancing your suggestion will bring us close to SSL/TLS I am afraid.
>>
>> On Jun 2, 2009, at 8:27 AM, Vadim Lebedev wrote:
>>
>>> Vadim Lebedev wrote:
>>>
>>> Any thoughts on this issue?
>>> I've just realised that this approach will make lawful interception
>>> REALLY complicated... Maybe this
>>> is the reason there is no an RFC covering it?  Or am i missing  
>>> something?
>>>
>>> Thanks
>>> Vadim
>>>
 Hello,

 I've been reading various RFC describing  tranmission of master key
 for SRTP unside SDP's.
 They require (like in rfc4568) the INVITE/200/ACK be transmitted  
 using
 TLS to avoid key interception.

 I wonder why nobody proped following scheme:

 Alice generates a mester key, encrypts it wih Bob's public key and
 signs it with her own private key.
 The resulting material is stored in SDP which can be transmitted   
 ove
 unsecure connection...
 Bob receives the INVITE request extract the signed keye authenicate
 the Alice signature and decodes the master key using his onw private
 key



 Thanks
 Vadim

 ___
 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
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] SDP in Session Refresh Request

2009-06-03 Thread Paul Kyzivat
It wasn't stated who is doing the reinvite, and that can make a difference.

Also, there is nothing special about a reinvite used for session timer 
refresh vs any other reinvite. Only the sender of the reinvite knows why 
it was sent, and reinvites that are primarily for some other purpose 
also refresh (or cancel) the session timer.

If the sender of the reinvite has no motivation for doing so other than 
refreshing the session timer, or simply verifying the state of the 
session, then it could:
- send the same sdp it did the last time
- send an offer reflecting how it would like the session to be

What it should not do is make an offer that anticipates what it thinks 
the other party wants, based on what it has seen as responses from the 
other party. Doing so can get into some nasty states, not so much with 
codecs, but with other stuff, like sendonly/recvonly. Also, you can 
never be certain that circumstances haven't changed at the other end.

So, if UA1 is sending the reinvite, if it still would prefer to use 
codec B or C, then it should probably offer them again, in addition to 
A. But it might prefer not to do that if the change would cause some 
added cost, pain, or poor user experience. For instance it it would 
require renegotiating QoS, that might be a reason not to offer a change.

IF, after it decides what it wants to offer, that turns out to be the 
same as what it sent last, then it should set the o-line the same as 
last time.

You should also check out

http://www.ietf.org/internet-drafts/draft-ietf-sipping-sip-offeranswer-10.txt

Thanks,
Paul


shamik.s...@wipro.com wrote:
> Hi,
> 
> I think you mean to say that the re-invite is send before the session
> timer expires as otherwise the session will be terminated,I think this
> re-invite should only contain codec A as it is the codec that has been
> negotiated,and the media streams for the other codec has been rejected
> by the far-end so your SDP can contain all the three codecs but only
> codec A should be ACTIVE.
> 
> Since the two-peer has locked down on codec A,I think this should be the
> only active codec as the far end has not mentioned the other codec's in
> his answer so we can be sure that there will be no change of codec on
> the fly.
> 
> To sum up,codec A can be the only active codec while B and C are
> inactive.
> 
> 
> 
> Thanks and regards,
>  
> Shamik Saha
> Project Engineer
> Voice Protocols
> Cell :  +91-9886704155
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Radha krishna
> Sent: Tuesday, June 02, 2009 4:09 PM
> To: sip-implementors@lists.cs.columbia.edu
> Subject: [Sip-implementors] SDP in Session Refresh Request
> 
> 
> Hi All
> 
> What should be the SDP in the following scenario.
> 
> 1) UA1:  Send INVITE with 3 codec's. A, B and C.
> 2) UA2:  Received 200 with Codec A.
> 3) UA1:  Session timer expired.
> 4) UA1:  Sending Re-INVITE what should SDP contain?
> According to RFC we should not change SDP's, so o-line
> version MUST be same as 
> initial INVITE, What about Codec? It should have A, B and C
> or just A. 
> I think it should contain all three A, B and C right? 
> 
> Regards
> S.Radha krishna
> 
> 
> 
>   
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> 
> Please do not print this email unless it is absolutely necessary. 
> 
> The information contained in this electronic message and any attachments to 
> this message are intended for the exclusive use of the addressee(s) and may 
> contain proprietary, confidential or privileged information. If you are not 
> the intended recipient, you should not disseminate, distribute or copy this 
> e-mail. Please notify the sender immediately and destroy all copies of this 
> message and any attachments. 
> 
> WARNING: Computer viruses can be transmitted via email. The recipient should 
> check this email and any attachments for the presence of viruses. The company 
> accepts no liability for any damage caused by any virus transmitted by this 
> email. 
> 
> www.wipro.com
> 
> ___
> 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] subscription dialog on refer

2009-05-27 Thread Paul Kyzivat
I would just put a different spin on this without changing the facts:

If you *don't* terminate the subscription with your NOTIFY, then by 
definition it is not the last NOTIFY, because the subscription still has 
to be terminated sometime, and that will entail a NOTIFY.

So, if you sent a NOTIFY as part of handling the REFER, and have no 
expectation that you will want/need to send any additional NOTIFYs about 
the REFER, then you would be wise to indicate that this is the last 
NOTIFY, terminating the subscription. Else you need to maintain the 
subscription, respond to reSUBSCRIBE requests to refresh it if the come 
in (including sending NOTIFY with current state), and when the 
subscription expires you will still need to send another NOTIFY 
indicating termination.

So you save yourself a lot of grief by just saying you are done.

Paul

Attila Sipos wrote:
> according to RFC 3515
> 
> .4.7 Using the Subscription-State Header Field with Event Refer
> 
>Each NOTIFY must contain a Subscription-State header field as defined
>in [2].  The final NOTIFY sent in response to a REFER MUST indicate
>the subscription has been "terminated" with a reason of "noresource".
>(The resource being subscribed to is the state of the referenced
>request).
> 
> So it looks like the final NOTIFY MUST terminate the subscription.
> 
>>> is it okay to *not* terminate this SUBSCRIBE dialog but just let
>>> it timeout on some expires like a minute (handling any SUBSCRIBE
>>> with Expires: with zero from transferor)?
> 
> No. 



> (maybe you have some weird use case you want to elaborate on?)
> 
> 
>  
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of
> Christian Sommerfeldt
> Sent: 27 May 2009 12:36
> To: sip-implementors@lists.cs.columbia.edu
> Subject: [Sip-implementors] subscription dialog on refer
> 
> When getting an in-dialog REFER we get a new SUBSCRIBE-dialog.  I wonder
> if it is mandatory to explisitly terminate (by means of "noresource")
> this latter dialog from the transfer target once it sends the last
> NOTIFY (the one with a sipfrag of 200 OK), or that it is equivaliently
> alright to have the transferor terminating it with a SUBSCRIBE having
> Expires: of zero.
> 
> The question is: is it okay to *not* terminate this SUBSCRIBE dialog but
> just let it timeout on some expires like a minute (handling any
> SUBSCRIBE with Expires: with zero from transferor)?
> ___
> 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 Stacks

2009-05-20 Thread Paul Kyzivat


cool goose wrote:
> Thanks All for pointing me towards some resources. I have never written any
> protocol stacks before except for few small SIP tools. This would be my
> first time writing a SIP stack and that's where I felt a need for some
> literature or books on designing protocol stacks. Anyways, if I run into
> something I will definitely let you guys now.

With all due respect, unless you are a super-programmer, *and* have a 
year or two to work on it, you ought to be looking for an existing stack 
to use rather than build your own.

Regards,
Paul

> Thank You,
> CoolGoose.
> 
> On Tue, May 19, 2009 at 12:28 PM, Brett Tate  wrote:
> 
 Any of you are aware of literature on how to write SIP stacks
 besides the documentation provided by open source SIP stacks?
>>> I mean any literature discussing the architecture and design patterns
>>> used in the stack development.
>> I'm sure that you can find plenty with your favorite search engine.  The
>> following is more of an fyi since it likely isn't the kind of detail that
>> you are seeking.
>>
>> RFC 3261 discusses a layered approach and provides a few state machines.
>>  Some proposed fixes to the state machines are within
>> draft-sparks-sip-invfix.  RFC 5057 attempts to clarify some of dialog
>> sharing issues concerning RFC 3261 and RFC 3265.
>>
>> The following draft humorously proposes a more radical approach to fix SIP:
>> http://tools.ietf.org/id/draft-kaplan-sip-four-oh-00.txt
>>
>> RFC 5411 provides a snapshot of some of the SIP related RFCs and drafts.
>>
>> Most of the SIP design literature that I've noticed posted to
>> sip-implementors (or the IETF sip lists) related to SIP design is usually
>> protected by patents or licensing agreements such as the JAIN SIP JSR stuff.
>>
>> The following is Henning's web site in case you find anything of interest:
>> http://www.cs.columbia.edu/sip/
>>
>>
> ___
> 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] How In early dialog state can UAC send BYE?

2009-05-14 Thread Paul Kyzivat
A plausible case is when the call is forked, and there are 180 responses 
from multiple forks. The UAC may then be able to determine from the 
answer SDP that one of the early dialogs is undesirable - lacks features 
it wants. So it sends a BYE to that one while allowing the other to 
continue ringing.

For instance, this might be the case if the offer was audio/video, and 
one of the answers has only audio while the other has both. If video is 
*really* important on this call (e.g. because the caller is deaf) then 
this might be a reasonable behavior.

Thanks,
Paul

kishore sowdi wrote:
> Hi,
> Section 15 of RFC 3261 says - "The caller’s UA MAY send a BYE for 
> eitherconfirmed or early dialogs, and the callee’s UA MAY send a BYE 
> onconfirmed dialogs, but MUST NOT send a BYE on early dialogs".
> Section 12.1 of RFC 3261 says - "A dialog established by a non-final response 
> to a request is in the "early" state and it is called an early dialog".
> Section 9.1 of RFC 3261 says - "If no provisional response has been received, 
> the CANCEL request MUST NOT be sent; rather, the client MUST wait for the 
> arrival of aprovisional response before sending the request. If the original 
> request has generated a final response, the CANCEL SHOULD NOT be sent, as it 
> is an effective no-op, since CANCEL has no effect on requests that have 
> already generated a final response".
> So , How In early dialog state can UAC send BYE? 
> 
> I want to know the used case when caller's UA will send a BYE for a early 
> dailog case.
> 
> Regards,Kishore
> 
> 
>   Explore and discover exciting holidays and getaways with Yahoo! India 
> Travel http://in.travel.yahoo.com/
> ___
> 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] can conference participate know it is in conference state with some SIP method?

2009-05-13 Thread Paul Kyzivat
A callee capability of "isfocus" on the contact header field of the far 
end tells you that it is a conference focus. E.g.

Contact: sip:al...@atlanta.example.com;isfocus

Paul

wen ren wrote:
> hi, all
>  recently I am implement some complex features about conference. usually
> the conference master knows it is in
>  confernce state. But I want to let conference slave also konw it is in
> conference state. Does any SIP method,heads,
>  ,event package or parameters to send this indication to slave?
> thanks
> ___
> 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] early media and first SIP/Kamailio Configuration

2009-05-13 Thread Paul Kyzivat


bahan...@hotmail.de wrote:
> Hi,
> 
> 
> I am sorry. Same Email with Subject.
> 
> I am newcomer in SIP and Kamailio Wold an have a question.
> 
> I have two IP Telefones and would like to realize with Kamailio

What is Kamailio?

> an IP Communication. The Problem:
> 
> a. The UA 1 calls UA 2
> b. UA 2 start recording the video form UA 1, before a SIP call is established 
> (early media) 
> How can I do that? Can anybody help me or can give me Info about example 
> application.

 From a sip perspective this is simple:

- The UAC includes an SDP offer in the INVITE,
- the UAS may start transmitting early media toward the UAC
   as soon as it receives the INVITE with the offer
- the UAS includes an SDP answer in the 180 response,
- the UAC may start transmitting early media toward the UAS
   as soon as it receives the 180 with the answer

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


Re: [Sip-implementors] 487 after BYE on early dialog

2009-05-13 Thread Paul Kyzivat


Dale Worley wrote:
> On Tue, 2009-05-12 at 08:47 +0200, Damir Reic wrote:
>> If UAS receives BYE on early dialog and answers it with 200OK, does it have
>> to respond to initial invite with 487 (same as CANCEL was received)?
> 
> In RFC 3261 section 15.1.2, it says:
> 
>The UAS MUST still respond to any pending requests received for that
>dialog.  It is RECOMMENDED that a 487 (Request Terminated) response
>be generated to those pending requests.

Elaborating:

The uas MUST send *some* final response to the INVITE.
487 is the recommended response, but others could be used.
For one thing, there could be a race, the the response could be in 
flight already when the BYE is received, so the UAC might get most any 
final response. If not, the UAC might still decide some other final 
response is more appropriate. For instance it might send some 5xx response.

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


Re: [Sip-implementors] Question about CALL-ID in Pararell search

2009-05-13 Thread Paul Kyzivat
I agree with Dale. In addition, having the UAC do it this way makes the 
downstream behavior the same whether the recursion on the 300 is done by 
the UAC or by a proxy on the path.

Thanks,
Paul

Dale Worley wrote:
> On Mon, 2009-05-11 at 18:32 +0200, Francisco José Méndez Cirera wrote:
>> A question about the CALL-ID.
>>
>> 1. UAC sends an INVITE request to Redirect Server with CALL-ID: abc.
>> 2. Redirect server sends response "300 Multiples Choices".
>> 3. UAC makes a pararell search sending three INVITES with CALL-ID:
>> ¿abc?.
>>
>> I dont understand why first INVITE and three last INVITES have the same
>> CALL-ID...
> 
> The three INVITEs generated in step 3 are considered to be forks of the
> original INVITE from step 1.
> 
> The reason why this is the best way to organize the operation is that
> the UAC only wishes to establish one dialog, with whichever of the
> INVITEs receives a successful response.  Since all 4 INVITEs have the
> same call-id, if (through more forking downstream), one UAS receives two
> INVITEs derived from them, it can responds to the second INVITE with
> 482, thus avoiding having the UAS present two copies of the same logical
> call to its user.
> 
> 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] 300 Multiple Choices

2009-05-06 Thread Paul Kyzivat
Its also possible for the proxy to recurse on some of the alternatives, 
and then return a 300 containing some that it chose not to try itself.
But an all-or-nothing approach by the proxy is much more likely.

Thanks,
Paul

Iñaki Baz Castillo wrote:
> El Miércoles, 6 de Mayo de 2009, Vito Korleone escribió:
>> Hi to all SIPers,
>> I think my question is simple, if A sends an INVITE to a B passing the
>> INVITE of course from a proxy or BBUA.. Whatthe proxy should return to A if
>> B response is 300 Multiple Choices with 2 Contacts?
> 
> When Proxy receives a 300 from B it can do two things (depending on its local 
> policy/configuration):
> 
> 1) Reply the same 300 upstream to A, so A would (if the user wants) call to 
> the first Contact in the 300, later to the second if first doesn't reply...
> 
> 2) The proxy could perform "recursion", this is: the proxy takes the URI's 
> from the Contact received in the 300 reply and adds these URI's as new 
> branches so sends there the request.
> 
> 
>> Should the proxy notify
>> A for trying to connect him somewhere? If he don't probably atimer will
>> expire?
> 
> I didn't understand the above question.
> 
> 
>> And if we have many Contacts and BBUA needs time to try them?? What
>> happens then?
> 
> What does mean "B2BUA needs time to try them"??
> 
> 
>> Oh and something else relative to 300.. When do you think the
>> proxy or BBUA should try thesecond or generally next Contact in the 300?...
> 
> It depends on "q" parameter in each Contact URI (priority). Read about "q" 
> parameter in RFC 3261.
> 
> 
>> if the response of the a tried Contact is 4xx 5xx or 6xx?
> 
> At this point I strongly recommend you just to read the secion about "Proxy" 
> in RFC 3261, it explains all your questions clearly. Don't waste time trying 
> to guess them.
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Doubt on inclussion of Contact header in 200 OK to deregistration

2009-05-05 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> 2009/5/5 Paul Kyzivat :
>> Iñaki Baz Castillo wrote:
>>
>>> Please Bob, read the *oficially* reported bug about this subject which
>>> had a long discussion some time ago:
>>>  http://bugs.sipit.net/show_bug.cgi?id=775
> 
> 
>> I agree with Bob that there is no bug. Its how you parse the English that
>> matters.
> 
> Paul, I think that the bug is the ambiguity in the specification. You
> understand some thing, while others understand a different meaning.
> IMHO there *is* a bug.
> 
> 
>> IMO this is preferred to an alternative approach, which would also conform
>> to the current text - include a Contact header with the Contact in the
>> request, with an expires=0 parameter on it. I think I have heard of that
>> being done by some implementations, and it confuses some other
>> implementations, though they ought to be tolerant of it.
> 
> An UA can send a REGISTER with no "Contact" header in order to get the
> locations for its AoR. This REGISTER *doesn't* contain "Contact"
> headers.
> If this AoR is not registered, the how to compose the "200 OK"? The
> REGISTER has no "Contact" so your suggestion above fails.

We are picking over nits. The proposed change to the wording in the bug 
just makes it clearer that you can return a response with no contacts 
when there are no contacts registered. IMO the *current* wording allows 
returning no Contacts when there are none registered.

I agree that returning a Contact with expires=0 isn't a good option if 
there aren't any contacts in the REGISTER request.

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

Re: [Sip-implementors] Doubt on inclussion of Contact header in 200 OK to deregistration

2009-05-05 Thread Paul Kyzivat


Iñaki Baz Castillo wrote:
> 2009/5/5 Bob Penfield :
>> If there are no binding remaining, the 200 OK does not need to have a 
>> Contact header. A 200-OK response without any Contacts indicates that there 
>> are no bindings.
> 
> Please Bob, read the *oficially* reported bug about this subject which
> had a long discussion some time ago:
>   http://bugs.sipit.net/show_bug.cgi?id=775
> 
> Basically, what you suggest (even if it should be the correct
> approach) is not what RFC 3261 states:
> 
> ---
> 10.3 Processing REGISTER Requests
> 
>   The registrar returns a 200 (OK) response.  The response MUST contain
>   Contact header field values enumerating all current bindings.
> ---

I agree with Bob that there is no bug. Its how you parse the English 
that matters.

If there are no bindings, then a response with no contacts fulfills the 
requirement that it "MUST contain Contact header field values 
enumerating all current bindings." It does indeed contain a Contact 
header field for each and every current binding.

IMO this is preferred to an alternative approach, which would also 
conform to the current text - include a Contact header with the Contact 
in the request, with an expires=0 parameter on it. I think I have heard 
of that being done by some implementations, and it confuses some other 
implementations, though they ought to be tolerant of it.

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

Re: [Sip-implementors] Multiple concurrent transactions

2009-05-05 Thread Paul Kyzivat
Stephen,

I think you have arrived at the correct interpretation. In general it is 
*permitted*, but in most cases it is a bad idea. The cases where it 
might be reasonable are when the new transaction renders moot the 
outcome of the earlier transactions still in flight.

You should *never* assume that the transactions will be properly 
ordered, even if you think you have a direct TCP connection between UAC 
and UAS. For one, that assumption breaks a lot of the flexibility of 
sip. For another, you (as an application) cannot assume that the 
transactions will be processed in order in the UAC and UAS. Because 
there is no guarantee of order preservation in the network, the stacks 
may optimize by not assuming they must preserve order either.

Thanks,
Paul

Stephen Paterson wrote:
>> No, that's not right.  The UAS doesn't insist on an increment of one.
>>
>> It only insists that CSeq is increasing.
> That's exactly what I was saying. I was giving an example of where it would 
> fall over if a UAS did insist on this.
> 
> For the rest, I tend to agree but I provide a stack, not a finished UA. If my 
> customers want to do this, which is allowed, they should be able to. I can 
> recommend that they don't but not forbid it.
> 
> Steve
> 
>> -Original Message-
>> From: Attila Sipos [mailto:attila.si...@vegastream.com] 
>> Sent: 05 May 2009 12:01
>> To: Stephen Paterson; Iñaki Baz Castillo
>> Cc: sip-implementors@lists.cs.columbia.edu
>> Subject: RE: [Sip-implementors] Multiple concurrent transactions
>>
>>
>>
 and any UAS insisting on an increase of one and one only 
>> would reject 
 a perfectly legitimate, in order, request.
>> No, that's not right.  The UAS doesn't insist on an increment of one.
>>
>> It only insists that CSeq is increasing.
>>
>>
 If it is allowed for multiple transactions to exist, I must 
>> let them 
 if they want as it is they who build the final behaviour of 
>> their UA.
>>
>> I really don't believe the intention was to allow multiple 
>> transactions like this.
>>
>> I agree, I can't find text to say it isn't allowed but Iñaki 
>> has argued clearly that allowing it can cause problems.
>>
>> Apart from the problems described by Iñaki, there are other issues:
>> 1. Debugging is more difficult
>> 2. It is an inefficent use of SIP resources
>>(it is effectively using the SIP transaction to queue up 
>> all the events) 3. it is an inefficient use of network bandwidth
>>(It is flooding the network with SIP messages.
>> If the network is busy or slow, it will only help
>> provoke congestion)
>>
>> If you have events to send using INFO, you should queue them up.
>>
>> Regards,
>> Attila
>>
>>
>>
>>
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu 
>> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On 
>> Behalf Of Stephen Paterson
>> Sent: 05 May 2009 11:43
>> To: Iñaki Baz Castillo
>> Cc: sip-implementors@lists.cs.columbia.edu
>> Subject: Re: [Sip-implementors] Multiple concurrent transactions
>>
>> OK, imagine UA1 establishes a dialog with UA2.
>> UA2 then sends two INFOs which arrive out of order. UA1's 
>> current remote CSeq will be 0. The CSeq in the first INFO it 
>> receives can be anything so how would the UAS know?
>>
>> Also, even when only a single request is sent and the UAS 
>> does have a remote CSeq a proxy may still attempt to 
>> authenticate the request in which case the UAC would 
>> re-submit the request with an incremented CSeq. The UAS would 
>> not have seen the original request, would not know that it 
>> had been authenticated and any UAS insisting on an increase 
>> of one and one only would reject a perfectly legitimate, in 
>> order, request.
>>
>> Anyway, thanks for all your replies. From my perspective I 
>> just need to know what I can and can not allow my customers 
>> to do. If it is allowed for multiple transactions to exist, I 
>> must let them if they want as it is they who build the final 
>> behaviour of their UA.
>>
>> Steve
>>  
>>> -Original Message-
>>> From: sip-implementors-boun...@lists.cs.columbia.edu
>>> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On 
>> Behalf Of 
>>> Iñaki Baz Castillo
>>> Sent: 05 May 2009 11:27
>>> Cc: sip-implementors@lists.cs.columbia.edu
>>> Subject: Re: [Sip-implementors] Multiple concurrent transactions
>>>
>>> 2009/5/5 Rastogi, Vipul (Vipul) :
 That is correct but here we are mixing network behavior
>>> with UAC behavior. UAC can send such MESSAGES, 3261 does 
>> not restrict 
>>> UAC.
>>>
>>> Imagine a UAC wanting to send the following DTMF sequence to a GW
>>> (UAS):
>>>   1 2
>>> (yes, I know that INFO is not estandarized for DTMF's... but you 
>>> understand me).
>>>
>>> Imagine that the UAC sends INFO "1"  (CSeq 101) and before 
>> receiving a 
>>> reply it also sends INFO "2" (CSeq 102).
>>> Due to network congestion (or whatever) the first INFO is lost.
>>> INFO "2" arrives to GW (CSeq 1

Re: [Sip-implementors] What is the server side behavior if PRACK with new SDP receives (Urgent!!!!!!)

2009-04-30 Thread Paul Kyzivat


Krishna Rao Gurram wrote:
> Scenario:-
> UAS receives Invite with SDP.
> Application above UAS sends 100 Trying
> Application now sends 180 without SDP and with 100 rel.
> UAS receives PRACK with SDP for 180.
> Here what is the behavior of UAS? How to handle this PRACK at the UAS end.

Its not a valid scenario, so the behavior is undefined. I don't see 
anything you could do that is highly likely to result in a successful 
call in this case.

I guess I would be inclined to send a 200 to the PRACK, and a 400 (or 
pick some other error code) to the INVITE.

Thanks,
Paul

> Please find the messages.
> 
> INVITE sip:publi...@flextronics.com  SIP/2.0
> Via: SIP/2.0/UDP 172.16.107.21:51594;branch=z9hG4bK629348334-18296
> From: Alice;tag=abc123def
> To: Bob
> Call-ID: 1-15...@172.16.107.21
> Cseq: 1 INVITE
> Contact: sip:al...@172.16.107.21:51594
> Max-Forwards: 70
> Accept: application/sdp
> Supported: 100rel, replaces   
> <--
> Require:100rel
>  Content-Type: application/sdp
> Content-Length:  131
> 
> v=0
> o=ICF 12345 787 IN IP4 10.203.154.44
> s=Session
> c=IN IP4 10.203.154.44
> t=0 0
> m=audio 4568 RTP/AVP 0
> b=AS:128
> a=ptime:20
> 
> 
> SIP/2.0 100 Trying
> Via: SIP/2.0/UDP 172.16.107.21:51594;branch=z9hG4bK629348334-18296
> From: Alice;tag=abc123def
> To: Bob;tag=ICF_4168957464-5666
> Call-ID:  1-15...@172.16.107.21   
>   ->
> CSeq: 1 INVITE
> Supported: timer
> Contact: Bob
> Content-Length: 0
> 
> SIP/2.0 180 Ringing
> Via: SIP/2.0/UDP 172.16.107.21:51594;branch=z9hG4bK629348334-18296
> From: Alice;tag=abc123def
> To: Bob;tag=ICF_4168957464-5666- - 
> --->
> Call-ID: 1-15...@172.16.107.21
> CSeq: 1 INVITE
> Supported: 100rel,replaces,precondition,timer
> Require: 100rel
> RSeq: 2
> Contact: Bob
> Allow: INVITE,ACK,CANCEL,BYE,OPTIONS,UPDATE
> Content-Length: 0
> 
> 
> PRACK sip:publi...@flextronics.com  SIP/2.0
> Via: SIP/2.0/UDP 172.16.107.21:51594;branch=z9hG4bK629348334-18296
> From: Alice;tag=abc123def
> To: Bob;tag=ICF_4168957464-5666
> Call-ID: 1-15...@172.16.107.21
> Cseq: 1 PRACK
> Contact: sip:al...@172.16.107.21:51594
> RAck: 2 1 INVITE  
> <
>  Max-Forwards: 70
> Accept: application/sdp
> Expires: 3600
> Supported: replaces,100rel
> Require:100rel
> Content-type: application/sdp
> Content-Length:   131
> 
> v=0
> o=ICF 12345 788 IN IP4 10.203.154.44
> s=Session
> c=IN IP4 10.203.154.44
> t=0 0
> m=audio 4568 RTP/AVP 8
> b=AS:128
> a=ptime:20
> 
> "DISCLAIMER: This message is proprietary to Aricent and is intended solely 
> for the use of the individual to whom it is addressed. It may contain 
> privileged or confidential information and should not be circulated or used 
> for any purpose other than for what it is intended. If you have received this 
> message in error,please notify the originator immediately. If you are not the 
> intended recipient, you are notified that you are strictly prohibited from 
> using, copying, altering, or disclosing the contents of this message. Aricent 
> accepts no responsibility for loss or damage arising from the use of the 
> information transmitted by this email including damage from virus."
> 
> ___
> 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] billing in sip

2009-04-29 Thread Paul Kyzivat
In a topology such as shown below, you don't need an extra media relay 
to enforce your billing - you have the gateway, which is already 
terminating the media. Why aren't you doing the billing there?

Paul

Iñaki Baz Castillo wrote:
> 2009/4/29 Alex Balashov :
>> What I meant before was that I have hacked Kamailio in the past to basically
>> do this UA functionality despite it being very much a UA and not proxy thing
>> to do.  It originated and absorbed special re-INVITEs that were spoofed and
>> basically did dlg_bye() if no response.  Nasty, I know.
> 
> Be carefull with some easy attacks like this:
> 
> Phone1Proxy PGateway
> 
> INVITE CSeq:1 -> --->
> <--- < 200 OK
> ACK CSeq:1 > --->
> 
> < RTP ###>
> 
> BYE CSeq:1 > --->
>  [ ACC DONE ]
> <--- <-- 400 Bad CSeq
> 
>( audio remains )
> 
> 
> 
>> In the open source cottage industry world, what B2BUA do you recommend for
>> high-volume applications of this?  Yate perhaps?
> 
> Not experimented too much with B2BUA in high-traffic environments :(
> 
> 
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Query related to SUBSCRIBE Request

2009-04-29 Thread Paul Kyzivat
This isn't really the best place to discuss the logic behind IMS 
designs. While I have some knowledge of that, I'm not actively involved, 
and I find much of what is there to be strange.

Good Luck
Paul

Dushyant Dhalia wrote:
> Paul Kyzivat wrote:
>>
>>
>> Dushyant Dhalia wrote:
>>> In 3GPP specs, related to IMS procedure, it's written that P-CSCF 
>>> sends the SUBSCRIBE request to I-CSCF which in turns finds the 
>>> address of S-CSCF through Cx query. My question is why can't P-CSCF 
>>> send the SUBSCRIBE directly to S-CSCF using Service-Route it received 
>>> during Registration.
>>
>> A SUBSCRIBE to *what*? The Service-Route gets to the UAC's own S-CSCF. 
>> That's only useful if the UAC is subscribing to its own AOR. That 
>> might be useful for reg event subscriptions, and a few other odds and 
>> ends, but not in general.
> Dushyant - For subscription to reg event P-CSCF is subscribing to UAC's 
> AoR. In any case; service-route is treated as master data for routeing 
> decisions of UAC i.e. for every request originated by UAC which contains 
> route header; P-CSCf validates the route header to see if it matches 
> with the service route header stored with P-CSCF.
> I don't see any harm in using service route by P-CSCF, atleast for 
> subscription to reg event, but it will do some good i.e., it will reduce 
> load on I-CSCF as well as HSS. This aspect can be standardised so that 
> it doesn't remain a proprietary implementation.
> Please comment on the above opinion.
>> In any case, the use of the Service-Route is the responsibility of the 
>> UAC, not the P-CSCF. If the UAC has used it, then there will be a 
>> Route header in the request, which will influence with the P-CSCF does 
>> with the request.
>>
>> Paul
> 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Query related to SUBSCRIBE Request

2009-04-28 Thread Paul Kyzivat


Dushyant Dhalia wrote:
> In 3GPP specs, related to IMS procedure, it's written that P-CSCF sends 
> the SUBSCRIBE request to I-CSCF which in turns finds the address of 
> S-CSCF through Cx query. My question is why can't P-CSCF send the 
> SUBSCRIBE directly to S-CSCF using Service-Route it received during 
> Registration.

A SUBSCRIBE to *what*? The Service-Route gets to the UAC's own S-CSCF. 
That's only useful if the UAC is subscribing to its own AOR. That might 
be useful for reg event subscriptions, and a few other odds and ends, 
but not in general.

In any case, the use of the Service-Route is the responsibility of the 
UAC, not the P-CSCF. If the UAC has used it, then there will be a Route 
header in the request, which will influence with the P-CSCF does with 
the request.

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


Re: [Sip-implementors] billing in sip

2009-04-28 Thread Paul Kyzivat
It seems that usually people who ask about billing assume that something 
in the signaling path can just generate billing records at start and end 
of call, or save some data from start of call and generate a CDR when 
the call ends.

But that is naive. If you are only on the signaling path, not the media 
path, then there is much potential for clever callers to bypass the 
billing. Also, failures of the node that is charged with generating the 
billing record may not result in call termination.

One question to ask is: what is the service that is being billed for? If 
the service is simply the session establishment service of finding the 
recipient of the call, then you might as well just generate a one-time, 
duration independent, charge. If you want to charge for the full 
duration of the call, then you ought to be providing some service (such 
as a media path) for the duration of the call. Then you can bill for as 
long as the path is in use.

Thanks,
Paul

Alejandro Orellana wrote:
> As mentioned here SIP  does not provided in itself billing related
> mechanism,
> however all the information necessary is at hand. Usually the  B2BUA would
> gather
> the critical information  to formulate a Call Detailed Record that is to be
> sent to an external
> machine. This is normally done via some standard protocol such
> RADIUS/DIAMETER.
> then the RADIUS/DIAMETER server will have  a backed  that gets the records
> and consolidate them accordingly.
> 
> Cheers
> Alejandro
> 
> 
> On Mon, Apr 27, 2009 at 10:56 AM, Manish Kambdur
> wrote:
> 
>> Hi Nabam,
>>
>> No charging/billing messages are defined by the SIP protocol, which implies
>> that the application is responsible for the billing.
>>
>> That is, SIP does not specify any methods for billing, and you are 'free to
>> choose' and implement any application specific billing solution you need.
>>
>> Most often this is done in a pure SIP B2BUA as specified by Iñaki Baz
>> Castillo.
>>
>> As an example you may consider, that the B2BUA (AS) will start a timer on
>> receiving a 200 OK from callee and stops it when it gets a BYE. Now it has
>> the call duration, hence you can charge based on the call duration.
>>
>> Regards,
>> Manish
>> www.huawei.com
>>
>>
>> 
>> ***
>> This e-mail and attachments contain confidential information from HUAWEI,
>> which is intended only for the person or entity whose address is listed
>> above. Any use of the information contained herein in any way (including,
>> but not limited to, total or partial disclosure, reproduction, or
>> dissemination) by persons other than the intended recipient's) is
>> prohibited. If you receive this e-mail in error, please notify the sender
>> by
>> phone or email immediately and delete it!
>>
>>
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu
>> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of nabam
>> serbang
>> Sent: Monday, April 27, 2009 10:23 PM
>> To: Iñaki Baz Castillo
>> Cc: Sip-implementors@lists.cs.columbia.edu
>> Subject: Re: [Sip-implementors] billing in sip
>>
>> Hi Iñaki Baz Castillo,
>>
>> Could you elaborate what does  "SIP is not "designed" for billing" mean? I
>> mean there must be some way to do billing on SIP call otherwise how service
>> provider or vendor will get revenue. I understand that one way is by
>> specified duration such as monthly, yearly etc.
>>
>> In IP-PBX based we might avoid billing but one is really required in
>> IP-Centric SIP call server deployment.
>>
>> Regards
>> ~Nabam
>>
>>
>>
>>
>>
>>
>> 
>> From: Iñaki Baz Castillo 
>> Cc: Sip-implementors@lists.cs.columbia.edu
>> Sent: Monday, April 27, 2009 6:55:58 PM
>> Subject: Re: [Sip-implementors] billing in sip
>>
>> 2009/4/27 nabam serbang :
>>> Hi,
>>> Could some one tell me how billing is done is SIP? Any call flow example
>> would highly be appreciated.
>>
>> SIP is not "designed" for billing. Also billing is too much complex
>> and wide to try to explain it in an unique way.
>> Basically billing can be done in a gateway (which handles also the
>> media), in a proxy (very very very vulnerable), in a pure SIP B2BUA
>> (more reliable and secure than a proxy for billing)...
>>
>> There is no magic response.
>>
>>
>> --
>> 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 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-im

Re: [Sip-implementors] redirected reinvite to be sent to which address

2009-04-28 Thread Paul Kyzivat


Scott Lawrence wrote:
> On Mon, 2009-04-27 at 02:22 +0800, Avasarala Ranjit-A20990 wrote:
>> Hi
>>
>> I do not think a SIP entity can return a 302 response with contact
>> containing "mailto:"; because SIP is not a email protocol like SMTP. So I
>> feel its an error to receive "mailto: in Contact as the behaviour of
>> entity receiving 302 wuth mailto in contact would be that it should
>> invoke a email client and expect user to compose a email !!! 
> 
> It's perfectly valid to return any type URL in a 302 - there's just no
> way to be sure that whoever gets that 302 can do anything with it.

Yup. There has even been some idle speculation about using this as an 
alternative to voicemail:

- when you call me and I'm not there to answer, my phone or proxy
   sends a 302 with mailto: URI
- when you get that, your UAC solicits a message from you, packages
   it as a mail attachment, and emails it to you.

That works especially well if the initial invite had been for IM media, 
but it can work for voice and/or video too.

But, as Scott notes, you have no guarantee that the caller will do this. 
Lacking such a guarantee, its safer to provide a server at the UAS end 
to collect the message. But the approach could work if accompanied by 
some signaling to indicate willingness of caller to do it.

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


Re: [Sip-implementors] RFC 3842: meaning of SUBSCRIBE request-uri versus To

2009-04-21 Thread Paul Kyzivat
These are interesting cases. I think they go beyond what is specified, 
and hence are subject to creative implementation, which in this case is 
probably a bad thing.

I agree with the opinion that this should be treated much like an 
INVITE. In particular,
- the request should be routed to a destination based on the R-URI.
- if it doesn't reach a server responsible for the R-URI then it
   should fail
- if it does reach a server responsible for the R-URI, then that
   server should first consider in that context, if there are multiple
   contexts in which it might be processed.

Beyond that, I suppose the To uri might be treated as additional context 
to address what the resulting subscription might contain. In this regard 
I think of it again like INVITE. If I call Alice, and the call is 
forwarded to Bob, then the call will eventually be processed on behalf 
of Bob, not Alice. But Bob may still note that the call was *to* Alice, 
and process it differently than he might if the the call had been *to* 
Bob. (He might for instance say: "Hello, this is Bob, answering on 
behalf of Alice".)

Analogously, if Bob receives a SUBSCRIBE that is To:Alice, then he might 
adjust what is included in the subscription on that basis.

Thanks,
Paul

Vikram Chhibber wrote:
> Yes, in all these cases, the R-URI should be considered for
> identifying the target resource, but I am not sure what the "To
> header" is doing in RFC 3842 as pointed out by Brett.
> 
>If the Request-URI or To header in a message-summary subscription
>corresponds to a group or collection of individual messaging
>accounts, the notifier MUST specify to which account the message-
>summary body corresponds.
> 
> On Mon, Apr 20, 2009 at 3:25 PM, Iñaki Baz Castillo  wrote:
>> El Martes, 21 de Abril de 2009, Brett Tate escribió:
>>> My specific questions are how to interpret the following upon receipt of
>>> SUBSCRIBE at example.com (notifier) where user1, group1, and known-user are
>>> known and unknown-user is unknown at example.com.
>>>
>>> 1) To: us...@example.com and request-uri is example.com?
>>>
>>> 2) To: example.com and request-uri is us...@example.com?
>>>
>>> 3) To: gro...@example.com and request-uri is us...@example.com?
>>>
>>> 4) To: us...@example.com and request-uri is gro...@example.com?
>>>
>>> 5) To: known-u...@example.com and request-uri is unknown-u...@example.com?
>>>
>>> 6) To: unknown-u...@example.com and request-uri is known-u...@example.com?
>> This is really annoying for me and I would simplify it a lot:
>>
>> IMHO, even if this RFC talks about To uri (not too much in fact), the
>> SUBSCRIBE must be created according to the same rules of INVITE, MESSAGE...,
>> this is, the UAC creating the request must copy the RURI into the To header.
>> Period.
>>
>> Said that, if a server receives a message-summary SUBSCRIBE with RURI being
>> different from To, it could reject/drop it, or it could ignore the To uri. 
>> But
>> the important uri is the RURI.
>>
>>
>> --
>> 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 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] Query about Content-Type when Content-Length = 0

2009-04-21 Thread Paul Kyzivat
I disagree with the notion that you should include C-T:application/sdp 
and C-L:0 to indicate no offer. In fact, I think it is probably invalid 
to do so.

There are at least a couple of issues with that:

- If you specify a C-T, then the body needs to conform to the 
specification for that type. In the case of SDP, a valid SDP body always 
has a few lines. For instance it must have an o-line. So your zero 
length body will be ill-formed, resulting in an error.

- If that were not the case, then the empty sdp body would be an offer. 
In that regard, 3261 differs from 2543. In 2543 you could have an SDP 
body, and if it didn't have any m-lines, then it was considered not to 
be an offer. In 3261, the presence of an sdp body (with C-D session) 
constitutes an offer (or answer) assuming it is in a place where an 
offer or answer is valid. This is true even if it has no m-lines. If an 
entirely empty sdp body were valid, then it too would be an offer if in 
an initial INVITE.

If you want to omit the offer, then you need to omit the C-T: 
application/sdp as well as the body itself.

Thanks,
Paul

Vikram Chhibber wrote:
> On Mon, Apr 20, 2009 at 3:29 PM, Kevin Spencer
>  wrote:
>> Dave,
>> Thanks, thats clear from the point of view of the arbitrary binary body.
>> Vikram,
>> But in the case where no offer is made in the initial INVITE surely there is
>> no need to indicate a content-type at that stage (it may not be known at
>> that point?), for example the "Session via Redirect and Proxy Servers with
>> SDP in ACK" scenario in 3665 shows the initial INVITE with a content-length
>> 0 but no content-type header.
> As such, there is no defined behavior in case Content-Length 0 is
> defined and Content-Type is missing.
> I have seen few UA which rejects initial INVITE without SDP if it has
> missing type. On the safe side, you might
> want to include the type even though length is 0.
>> In this context would it be correct to say that while the type isn't
>> necessary you should still be prepared to receive it while not necessarily
>> acting upon it?
> For the above context, yes, we should be lenient enough to recieve or
> not receive the type if length is 0.
> But we can not generalize as it very much depends on the type and context.
>> Or, in the case of an SDP body does 0 length have no
>> significance and the content-type shouldn't be used, and rejected if
>> received - I don't see that in 4566 or 3264 though.
> I do not think RFCs should be that harsh and define the behavior for
> unexpected scenarios where presence
> or absence of something does not violate anything.
>> Thanks for the responses,
>> /K
>>
>> On Mon, Apr 20, 2009 at 10:15 PM, Dale Worley  wrote:
>>
>>> On Mon, 2009-04-20 at 16:21 +0100, Kevin Spencer wrote:
 Does anyone have any suggestions as to under what circumstances you would
 consider including a Content-Type: header when your Content-Length: is
>>> zero?
 3261 gives the following example in section 20.15:
>>> I don't know of any current application, but SIP is careful to allow the
>>> body to be an arbitrary (binary) object of any type.  As such, we must
>>> provide for the possibility that for a particular media type, a content
>>> of zero bytes has a useful meaning.
>>>
>>> Dale
>>>
>> On Mon, Apr 20, 2009 at 6:4 PM, Vikram Chhibber 
>>  wrote:
>>
>>> You will carry Conent-Type with 0 Content-Length when you say "I am
>>> carrying 0 length XYZ Content-Type", which is different then saying "I
>>> am carrying no body with an type". Typical scenario would be INVITE
>>> without offer sdp. You still need to have Conent-Type as
>>> "application/sdp". If you remove Content-Type itself, you can receive
>>> 488 response.
>>> Example of 0 Content-Length and no type would be BYE message where you
>>> typically do not send any body.
>> ___
>> 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] BYE after SUBSCRIBE?

2009-04-16 Thread Paul Kyzivat


shamik.s...@wipro.com wrote:
> Hi Brett,
> 
> In section 4 it is said that
> 
> " Dialogs come into existence along with their first usage.  Dialogs
>terminate when their last usage is destroyed.  The messages that
>create and destroy usages vary per usage.  This section provides a
>high-level categorization of those messages.  The section does not
>attempt to explore the REGISTER pseudo-dialog."
> 
> So since the invite transaction creates this dialog so this will be the
> first and the founding usage of this dialogue.
> 
> When we send the subscription request and gets back the 200OK the
> subscribe usage is created which is the second usage within the initial
> invite dialogue.
> 
> 
> 
> So when we get a 481 in response to a BYE it will only terminate the
> usage associated with that BYE transaction.

true

> Which in our case will be the subscription usage.

Brett already responded to you about this.
There is no single indicator in a request of which usage it belongs to. 
That must be determined contextually:
- certain methods are tied to a particular usage:
   . BYE, INFO, UPDATE, (re)INVITE are always part of INVITE usage
- some methods could be part of more than one usage.
   additional info from the message determines which one:
   . SUBSCRIBE, NOTIFY, PUBLISH are always part of a usage
 determined by the event type and id

So, the BYE is part of the INVITE usage if there is one, and is in error 
if there is none.

If we had a dialog with both INVITE and SUBSCRIBE usages, and then there 
can easily be cases in which both ends attempt to terminate the INVITE 
by sending BYE. In that case one of them will probably be getting a 481. 
And that should not harm the SUBSCRIBE usage.

(See RFC 5407 - race-examples.)

> However if the INVITE usage is destroyed after the esatblishment of the
> subscription usage then the subscription usage will be the last usage
> and its termination will terminate the dialog.

That is true

> Otherwise,the initial INVITE transaction will be unaffected.
> 
> It is said that 481 terminate the usage
> 
> "Destroys Usage  The error destroys the usage, but not the dialog.
>   Any other usages sharing this dialog are not affected."
> 
> So I think since INVITE usage is the dialog creating usage,

yes

> which is not
> related to the BYE message it will be un-affected.

no

> Please let me know if my thoughts are wrong.

done.

Thanks,
Paul

> Thanks and regards,
>  
> Shamik Saha
> Project Engineer
> Voice Protocols
> Cell :  +91-9886704155
> 
> -Original Message-
> From: Brett Tate [mailto:br...@broadsoft.com] 
> Sent: Thursday, April 16, 2009 6:56 PM
> To: Shamik Saha (WT01 - Telecom Equipment)
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: RE: [Sip-implementors] BYE after SUBSCRIBE?
> 
> Shamik,
> 
> Please reread section 4 concerning the distinction between INVITE usage
> and SUBSCRIBE usage.
> 
> Per tables 1 and 2, BYE 481 applies to the INVITE usage.
> 
> -brett
> 
>> -Original Message-
>> From: sip-implementors-boun...@lists.cs.columbia.edu [mailto:sip- 
>> implementors-boun...@lists.cs.columbia.edu] On Behalf Of 
>> shamik.s...@wipro.com
>> Sent: Thursday, April 16, 2009 9:12 AM
>> To: attila.si...@vegastream.com
>> Cc: sip-implementors@lists.cs.columbia.edu
>> Subject: Re: [Sip-implementors] BYE after SUBSCRIBE?
>>
>> But in RFC 5057 page 9,it is said that a 481 will terminate the 
>> SUBSCRIPTION usage but the INVITE usage dialogue within which the 
>> subscription is established will be un-affected.
> 
> 
> Please do not print this email unless it is absolutely necessary. 
> 
> The information contained in this electronic message and any attachments to 
> this message are intended for the exclusive use of the addressee(s) and may 
> contain proprietary, confidential or privileged information. If you are not 
> the intended recipient, you should not disseminate, distribute or copy this 
> e-mail. Please notify the sender immediately and destroy all copies of this 
> message and any attachments. 
> 
> WARNING: Computer viruses can be transmitted via email. The recipient should 
> check this email and any attachments for the presence of viruses. The company 
> accepts no liability for any damage caused by any virus transmitted by this 
> email. 
> 
> www.wipro.com
> 
> ___
> 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


<    2   3   4   5   6   7   8   9   10   11   >