Re: [Sip-implementors] [GRUU] is instance-id mandatory in 2xx of REGISTER?

2010-03-08 Thread Dale Worley
On Mon, 2010-03-08 at 12:49 +0530, hanifa.mohammed wrote:

 5.2.  Generating a REGISTER Response
When generating the 200 (OK) response to the REGISTER request, the
procedures of step 8 of Section 10.3 of RFC 3261 [1] are followed.
Furthermore, for each Contact header field value placed in the
response, if the registrar has stored an instance ID associated with
that contact, that instance ID is returned as a Contact header field
parameter.
 
 The actual problem is that openIms server returns the public gruu value 
 in 2xx of Register
 but without '+sip.instance' parameter.
 Is this ok to proceed processing the GRUU parameters?

It appears that openIms is violating section 5.2, in that it returns the
public gruu header parameter but not the +sip.instance header parameter.
Since the response is incorrect, you have great freedom deciding how to
process it.

Dale


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


Re: [Sip-implementors] Ringback on SIP 181 Call forward / 182 Queued

2010-03-02 Thread Dale Worley
On Tue, 2010-03-02 at 16:49 +0530, Sunita Bhagwat wrote:
 I'd like to know if a SIP gateway receiving a 181 (Call is being
 forwarded) or a 182 (call Queued) from SIP peer should play local
 ringback towards the originating endpoint (say PSTN/ISDN). RFC 3960
 mentions early media and ring-back only when a 180 Ringing is
 received. However I'm seeing a customer scenario involving a Microsoft
 OCS network forwarding calls to cell phones and sending a 181 to the
 gateway - expecting the originating gateway to play a ringing tone to
 calling party.
 I think it makes sense to play ringing tone and be prepared to play
 inband media if received, but such a scenario does not seem to be
 covered in rfc 3960.
 Appreciate your inputs.

Of course, if the terminating UA provides early media, that should be
played to the user.  But if no early media is arriving (that is, no RTP,
not no SDP), the originating UA should provide some useful indication.
A true ringing tone shouldn't be used other than for a 180, of course.
IIRC, many PSTN systems provide special indicator tones for call
forwarding and the like.  I seem to remember hearing two short pips for
call forwarding operations at times.  Perhaps you could use a tone like
that for 181 and 182?

In the situation you describe, I assume that a 180 arrives at the
originating UA (due to ringing of the destination cell phone) within a
few seconds after the 181.  So two pips (meaning please stand by) for
the 181 would be followed by ringback (for the 180).

Dale


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


Re: [Sip-implementors] FROM URI creation by UA behind SIP proxy

2010-03-01 Thread Dale Worley
On Mon, 2010-03-01 at 02:33 -0800, Arunachala wrote:
One of our UA's creates the FROM URI in its outbound INVITE as follows:
 1. If an outbound proxy is configured, puts the proxy's FQDN/ip in the
 hostname of From URI.
 2. If no outbound proxy is configured, puts its OWN ip/FQDN in
 hostname of From URI.
 
Is this behavior correct? Also, should the UAC who finally receives
 the request through the outbound proxy bother about the hostname part
 of the FROM URI?

In theory, any URI that ultimately routes to the UA is acceptable.  (In
some cases, the URI need not even do that, if the caller never receives
calls on the UA.)  The question to be answered is What URI identifies
(in the human sense) the caller?  In most cases, the best answer is an
AOR which the UA registers -- each registration creates a line
appearance on the UA's user interface, and the user selects which line
appearance he wants to use as his identity for that call.

Dale


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


Re: [Sip-implementors] Unattended Call Transfer

2010-03-01 Thread Dale Worley
On Mon, 2010-03-01 at 11:01 +0530, Bajaj, Gagandeep wrote:
 Hi Dale
 
 Thanks for the response. 
 
 Referring to RFC 5359, my question is regarding F15 containing sipfrag
 body with SIP/2.0 488 Not acceptable. 

There is no such F15 in RFC 5359 -- the only F15 in section 2.4 contains
a sipfrag body with SIP/2.0 200.  Please clarify what section of RFC
5359 you are referring to and what, if any, changes to it you are
contemplating.

Dale


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


Re: [Sip-implementors] Unattended Call Transfer

2010-02-26 Thread Dale Worley
(I assume you are referring to RFC 5359 section 2.4.)

On Fri, 2010-02-26 at 14:17 +0530, Bajaj, Gagandeep wrote:
 Bob sends NOTIFY terminated (15th message) to inform Alice that he has
 successfully connected with Carol. 

Beware that it in F15, it is not Subscription-State: terminated that
indicates that the transfer was successful, but rather the SIP/2.0 200
OK in the sipfrag body.

 1)   Why after doing an unattended transfer and sending BYE to Bob,
 Alice would be interested in the last NOTIFY?

Because Alice should not send BYE to Bob, but rather wait for Bob to
send BYE (when the dialog to Carol becomes established).

 3)   If say NOTIFY terminated body contains Failure response to
 Bob-Carol INVITE, what action Alice takes (generally seen) ??

The UA can show the call to Bob as on hold in the user interface, so
that the user can connect to the call and attempt to do something
useful.

Dale


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


Re: [Sip-implementors] Should a DTMF event (RFC 2833) be ignored if volume=0 ?

2010-02-26 Thread Dale Worley
On Fri, 2010-02-26 at 12:26 +0100, Iñaki Baz Castillo wrote:
 Hi, I've some interoperability problems with a PBX sending DTMF events as 
 follows:
 
   RFC 2833 RTP Event
 Event ID: DTMF Eight 8 (8)
 0...  = End of Event: False
 .0..  = Reserved: False
 ..00  = Volume: 0
 Event Duration: 0
 
 
 This DTMF is not recognized by my softswitch. But the following DTMF from a 
 different PBX is correctly detected:
 
   RFC 2833 RTP Event
 Event ID: DTMF Eight 8 (8)
 0...  = End of Event: False
 .0..  = Reserved: False
 ..00 1010 = Volume: 10
 Event Duration: 0

As you report these, the End of Event is false, so there is (should
be) a following RTP event with End of Event true and giving the full
duration of the event.

Dale



___
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-26 Thread Dale Worley
On Wed, 2010-02-24 at 21:16 +, Aaron Clauson wrote:
 Since that would take extra work on the server and the client I'll be a
 heretic and stick to my 184 info response approach for the time being. It's
 not much of a contravention of the standard. A UAS can send back as many
 info responses as it likes and the standard doesn't forbid a UAC from doing
 some arbitrary processing when it receives an info response, in this case
 forking a new call.

As long as you don't mind requiring the UAC to support the non-standard
feature.  But generally in SIP, even the largest vendors discover that
their business benefits if they can use strictly standard UAs.

Dale


___
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 Dale Worley
On Mon, 2010-02-22 at 21:19 +, Aaron Clauson wrote:
 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.

Uh, yes?

The client will return the first 302 when it knows what the first
redirection URI is.  It will then immediately receive the INVITE with
the phase=2 parameter.  It will then *wait* to answer that INVITE
until it knows what the second redirection URI is.  Each time the client
provides a 302, causing the upstream proxy to send a fork to a
destination, the client receives another INVITE, which it will
eventually respond to to provide the next response...

Dale


___
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 Dale Worley
On Thu, 2010-02-18 at 02:50 +, Aaron Clauson wrote:
 I have a scenario where I want a SIP client to be able to generate multiple
 redirect responses. The redirect responses will be generated based on user
 actions and will have a variable delay between them.
 
 As far as I can see there is no standard's compliant way to achieve that
 since the first redirect response will end the transaction with the client
 preventing it from being able to send any further redirects.

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 sip:UAS.

The incoming request is METHOD sip:UAS.  Once the client obtains the
first redirect URI, sip:DEST1, it responds SIP/2.0 302 Moved
Temp/Contact: sip:DEST1/Contact: sip:UAS;phase=2.

This causes the requestor to fork to sip:DEST1, but the requestor also
forks to sip:UAS;phase=2.  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.

Etc.

Dale


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


Re: [Sip-implementors] [Sip] TCP to UDP rtcp media attributes in SDP not passing through nextone

2010-02-16 Thread Dale Worley
On Fri, 2010-02-12 at 07:33 -0500, Nitin Kapoor wrote:
 Could anyone please help me out on this scenario. Why it’s not sending
 the RTCP attribute to my UAC? Is there anything related to standard.

Have you checked the configuration of the SBC or asked the SBC's
manufacturer?  Within SIP, there is no way to predict what the SBC will
do.

Dale



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

Re: [Sip-implementors] rfc3262: PRACK 481 response during race condition with INVITE 2xx

2010-02-16 Thread Dale Worley
On Mon, 2010-02-15 at 11:16 -0800, Brett Tate wrote:
 RFC 3262 allows the UAS to send a final response (such as 200 OK) to
 INVITE within some situations while there are still outstanding
 unacknowledged reliable provisional response.  Is it acceptable to
 send 481 response for unacknowledged reliable response's PRACK when
 the dialog still exists?  The relevance is mainly associated with
 somehow trying to communicate unwillingness to fully update the dialog
 per PRACK's headers/content because of race condition.

It doesn't seem right to send a 481 -- after all, the
dialog/dialolg-usage that the PRACK is referencing exists and the
provisional response it is confirming existed.

Why would the UAS want to reject an acknowledgment of a provisional
response that it sent?

Dale


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


Re: [Sip-implementors] Reg. SIP reinvite, UPDATE

2010-02-11 Thread Dale Worley
On Thu, 2010-02-11 at 10:39 +0530, Bala Murugan wrote:
 Thanks for your response , but in the call flow I have mentioned ,
 INVITE transaction is completed ,can you look at below flow the 200OK
 to INVITE has been already sent from UAS to UAC .My question can a UAC
 send RE-INVITE if the UPDATE request which it already sent is pending
 for response.

Looking at RFC 3311 section 5.1, it appears that that is allowed.

Dale


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


Re: [Sip-implementors] What does the description about 407 in RFC3261 mean?

2010-02-10 Thread Dale Worley
On Wed, 2010-02-10 at 20:11 +0900, Couret Tabt wrote:
 There is a description below about 407 in RFC3261:
 
 21.4.8 407 Proxy Authentication Required
 
This code is similar to 401 (Unauthorized), but indicates that the
client MUST first authenticate itself with the proxy.  SIP access
authentication is explained in Sections 26 and 22.3.
 
This status code can be used for applications where access to the
communication channel (for example, a telephony gateway) rather than
the callee requires authentication.
 
 Especially, what does the description below mean?
 
 ...but indicates that the
client MUST first authenticate itself with the proxy.

The client, in the re-send of the request, in order to be successful,
will have to present credentials for the realm shown in the
Proxy-Authenticate or WWW-Authenticate header.

The UAC never has to determine the actual identity of the proxy.  It
does have to determine the realm that the proxy is demanding credentials
for, but that is shown in the *-Authenticate header.

Dale


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


Re: [Sip-implementors] Reg. SIP reinvite, UPDATE

2010-02-10 Thread Dale Worley
On Wed, 2010-02-10 at 18:14 +0530, Bala Murugan wrote:
 Can a UAC send RE-INVITE , if a response is pending from UAS for
 UPDATE refresh Request in early dialog .

The UAC cannot send a re-INVITE in an early dialog, because its first
INVITE has not completed.  See RFC 3261 section 14:

   Note that a UAC MUST NOT initiate a new INVITE transaction within a
   dialog while another INVITE transaction is in progress in either
   direction.

Dale


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


Re: [Sip-implementors] Who may send '407 Proxy Authenticate Response' ?

2010-02-10 Thread Dale Worley
On Tue, 2010-02-09 at 22:16 +0100, Olle E. Johansson wrote:
 Oh. That's evil. I new I could count on you to come up with something
 even more stressful than what I could imagine in my strange SIP mind.
 We need to remember that for next SIPit. ;-)

As a general rule, any observation XYZ can happen only once is false.

Dale


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


Re: [Sip-implementors] Regarding escaped characters in response

2010-02-08 Thread Dale Worley
On Mon, 2010-02-08 at 21:18 +0530, zabi wrote:
 If the REQUEST_URI/ TO / FROM /CONTACT has escaped sequence, does the 
 response have to have the same escaped sequence or it may have its 
 parsed values.
 
 For e.g if the username in sip request had b%...@example.com.
 
 can the response have b...@example.com

The consensus is that an escape sequence is equivalent to the unescaped
character for all purposes (except in contexts where the unescaped
character may not appear).  See, e.g., RFC 3261 section 19.1.4, item 4:

  o  Characters other than those in the reserved set (see RFC 2396
 [5]) are equivalent to their % HEX HEX encoding.

So one would expect that in response values that have to be the same
as a value in the request, that the two values MAY differ in
non-required escaping.

Dale


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


Re: [Sip-implementors] Provision response with require header

2010-02-06 Thread Dale Worley
On Sat, 2010-02-06 at 21:43 +0530, Rohit Aggarwal wrote:
 RFC 3261 also says that although Require is an optional header, it must not 
 be ignored if present.
 In that case, it may be better option to cancel the request.

IMO canceling the request is the one thing the UAC should not do.  If
the UAC disregards the response, it cannot then cancel the request
because it received a response that it disregarded.  If the UAC
processes the response, then why is it canceling the request?

Although, of course, no external observer can prove why the UAC canceled
the request, and the UAC always has the right to do so (after it
receives a response).

Dale


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


Re: [Sip-implementors] Provision response with require header

2010-02-05 Thread Dale Worley
On Fri, 2010-02-05 at 16:37 -0500, preynold wrote:
 I have a question regarding appropriate behavior for a UAC when it receives
 a provisional response containing a Require header with an unrecognized tag.
 What should the UAC do? Ignore the provisional response? Process the
 provisional response normally? CANCEL the request? Something else?

In RFC 3261 section 8.2.4:

   Any extensions applied to a non-421 response MUST be listed in a
   Require header field included in the response.  Of course, the server
   MUST NOT apply extensions not listed in the Supported header field in
   the request.  As a result of this, the Require header field in a
   response will only ever contain option tags defined in standards-
   track RFCs.

So the UAC should never be in this situation.  Ideally, the UAC should
log an error of some sort.  Whether to process the provisional response
as best it can or ignore it is not well-defined by the standards.

Dale


___
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 Dale Worley
On Fri, 2010-01-29 at 19:30 +0900, OKUMURA Shinji wrote:
 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.

To be exact, the CSeq of the 2nd INVITE MUST be 2 or higher, and SHOULD
be 2.

The analysis is messy, and the rules that are needed to make SIP work
are not clearly stated in RFC 3261.

The principle is that the initial INVITE is part of a preliminary
dialog, that is, the sequence of messages with the given Call-Id and
from-tag, but no to-tag.  Each early (or established) dialog, that is,
each sequence of messages with the given Call-Id and from-tag but with a
specific to-tag, *continues* the preliminary dialog, from the point of
the INVITE that was responded to, but the early/established dialogs are
*independent of each other*.  Think of them as branches growing out of
the trunk of a tree.

This interpretation is the only way that allows the (potentially many)
UASs to not interfere with each other or with any needed retries of the
INVITE.

So the 1st and 2nd INVITEs are in the preliminary dialog, and the PRACK
is in the early dialog created by the 18x response to the 1st INVITE.
Since the 2nd INVITE and the PRACK are not within the same
preliminary/early/confirmed dialog, they take their CSeq's from
different counters.  They both have CSeq 2, because for both of them,
the preceding request is the 1st INVITE.

Dale


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


Re: [Sip-implementors] sip over tcp, message boundary issue

2010-01-20 Thread Dale Worley
On Wed, 2010-01-20 at 14:22 +0800, LIU Liping wrote:
 When TCP is used as transport lay for SIP messages. Maybe the SIP
 Stack can read some data from socket which includes more than one sip
 message and maybe the SIP stack can read only a part of a sip message.
 So, now Is it the stack's duty to determine the sip message boundaries
 by the START LINE and content length?  Is there any protocols to
 regulate the stack's behaviour?

Basically, No.  TCP does not provide or guarantee any sort of message
boundaries.  The recipient of SIP over TCP is required to discern the
boundaries using the Content-Length headers.

Dale


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


Re: [Sip-implementors] Reason Header in BYE

2010-01-20 Thread Dale Worley
On Wed, 2010-01-20 at 17:02 +0530, sunil.bha...@wipro.com wrote:
 I have a doubt regarding Reason Header in BYE request.
 
 We can have the different Reason Header in BYE request depending on the
 call state. Some of the examples are given below:
 
 Reason: SIP ;cause=600 ;text=Busy Everywhere 
 Reason: SIP ;cause=580 ;text=Precondition Failure
 Reason: SIP ;cause=200 ;text=Call Completed Elsewhere 
 
 My doubt is - what should be the Reason Header if BYE is sent after
 server transaction times out waiting for ACK?

Remember that there is no requirement that a BYE must contain a Reason
header.  So you could just omit the Reason in this case.

Dale


___
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-15 Thread Dale Worley
On Mon, 2009-12-14 at 17:43 +0530, Dushyant Dhalia wrote:
 1. Does the proxy server have to start a timer for receipt of NOTIFY?

No, because the proxy need not be stateful (beyond a single
request/response transaction).  The UAs are responsible for keeping
track of the subscription state.

Dale


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


Re: [Sip-implementors] Is SIP reason text required when sending Reason Header?

2009-12-15 Thread Dale Worley
On Tue, 2009-12-15 at 09:43 -0500, Adam Frankel wrote:
  Any ideas if this is actually required per RFC [3326] Standard or if
  the text= portion of the reason header is only optional?

The BNF in RFC 3326 clearly shows the 'text' parameter as optional, and
I don't see anything in the text of the RFC that modifies the effect of
the grammar.  For that matter, the 'cause' parameter appears to be
optional as well.

Dale


___
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-12-09 Thread Dale Worley
On Mon, 2009-12-07 at 17:30 -0500, pvall...@csc.com wrote:
 When will that happen to SBCs..:) 

Actually, SIP works quite well with SBCs, as long as the SBC does not
attempt to restrict what features of SIP are used.  Unfortunately, many
service providers configure their SBCs not only to perform specific
security activities (logging usage, hiding the topology of their
networks), they configure them to prevent any SIP usage other than a
specifically designated set.

Dale


___
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-09 Thread Dale Worley
On Tue, 2009-12-08 at 00:56 +0100, Iñaki Baz Castillo wrote:
 I just mean SIP/TEL URI's for two purposes:
 
 1) For user/device SIP identity (I've never seen a SIP AoR containing 
 parameters).
 
 2) The XUI field of XCAP URI (XUI is the AoR of the user whose document we 
 desire).
 
 So I could imagine no cases in whise these URI's have parameters (I hope).

Let me repeat myself:

If your question is Should my system be able to handle SIP URIs with
parameters?, the answer is Yes..  Because if you don't, in the next
few months, some usage of your system will require it.  It's a law of
nature.  ;-)

It may be that in your application you can sensibly remove parameters
from such URIs, or allow a lookup to fail (because the URI is not in the
form that the database contains).  But you do not want to have your
application fail in unexpected ways just because a URI contains a
parameter in a situation where you couldn't think of a reason for it to
have one.

Dale



___
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-12-09 Thread Dale Worley
On Tue, 2009-12-08 at 23:42 +, Brez Borland wrote:
 Dale has a point. I was impressed watching talk dedicated to ipv6
 where major minds behind ipv6 development seemed to be straight
 ignorant, or least interested, in the notion of private network
 implementations such as NAT. their position is that every device
 should have a public IP. Which in my opinion would be great yes. But
 NAT is the concept which has many uses as well, and I believe it is
 not going to go away very soon. some academics are just weird I guess.

It is a double-edged sword.  The development of the Internet has been
dominated by academic types who have strong ideals that are often
unrealistic.  But on the other hand, the success of the Internet often
results from these unrealistic ideals.  (The main one being the
end-to-end principle.)  Successful implementation often means
producing good solutions that simultaneously (nearly) adhere to
contradictory requirements.

 Hopefully we come to IPv6 sometime soon.

At the latest IETF meeting (in Hiroshima), the meeting hotel Internet
services all had global IPv6 routing.

Dale


___
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-12-07 Thread Dale Worley
On Wed, 2009-11-18 at 00:15 +0100, Iñaki Baz Castillo wrote:
 I still wake up every day asking myself how SIP protocol was born assuming 
 there is no NAT... :(

How long have you been involved with the IETF?  A lot of IETF people
hate NATs like the Pope hates Satan.

Dale



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

Re: [Sip-implementors] [Outbound] One device with multiple users - Should inst id be same for all users?

2009-12-07 Thread Dale Worley
On Thu, 2009-11-19 at 11:49 +0530, hanifa.mohammed wrote:
 Hi all,
 
 It is very common that a single UA stack, in a device, shall be used by 
 many users. In that case,
 shall all users use a common instance-id? Will it give any trouble, in real 
 time?
 
 Pl clarify whether instance-id is an user configuration or UA configuration.
 
 Below is an excerpt from RFC5626, that says that instance ID is device 
 specific and not user specific.
 
 The instance ID MUST NOT change as the device moves from one network to 
 another.

First, note that the sentence you quoted does not refer to user at
all.

The central question is what is a device, from the point of view of
the user.  A simple case is a desk telephone, which may have several
lines, each with a different AOR.  Because the user *thinks* of the
telephone as a single device, the registrations and other operations it
carries out should use a single instance-id.

A software-based telephone application running on a single-user computer
is in a similar situation; the user thinks of it as a single device,
so it uses one instance-id.

Now consider two different software-based telephone applications running
on a computer.  If they serve two different people, or if they are in
now way coordinated with each other, they must use two different
instance-ids.

It is also conceivable that a single software application could function
as *two* telephones, one for each of two different users (given the
necessary hardware devices).  In that case, the application needs to
partition its activities into two groups, one for each user, and use a
separate instance-id for each group.

Dale


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


Re: [Sip-implementors] Can we send port=0 in Req-URI?

2009-12-07 Thread Dale Worley
On Thu, 2009-11-19 at 14:47 +0800, Zhaoning Jiang wrote:
 SIP gurus, Please help identify this issue.
 
 Do Standard allow send Port=0 with FQDN in Req-URI?
 
 like
 t...@icscf-stdn.xxx.com:0 ?
 
 I went through RFC3261 and did not find answers.

The difficulty is that port 0 is a perfectly valid port for both TCP and
UDP (see RFC 768 and RFC 793) but that many TCP/UDP stacks do not handle
the specification of port 0 correctly (e.g., the Berkeley sockets
interface, which uses a port number of 0 to designate an unspecified
port).  Hence, although port 0 is technically valid, one should avoid
using it, as any operation with it is unlikely to work.

Dale


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


Re: [Sip-implementors] Payload Type for V23

2009-12-07 Thread Dale Worley
On Fri, 2009-11-20 at 14:38 +0530, Siddhartha Singh wrote:
 I have running test scenario in which there  is sip dialogue established   
 them 
 short message (data) is send in V23 format in RTP stream.
  
 I have to ckeck for conformance of transmission mode of V23 in RTP packet,
 We have fixed payload typed for G771 u law and a lab and we can verify
 this in RTP captures.
  
 Please let me know if there is similar fixed payloadtype for V23
 transmission  in RTP also.

(You mean V.23 don't you?)

The fixed payload numbers are listed in
http://www.iana.org/assignments/rtp-parameters, under Registry Name:
RTP Payload types (PT) for standard audio and video encodings - Closed.
I don't see V.23 listed there.

The fmtp values for use in SDP allocating dynamic payload numbers are
listed on the same page, under Registry Name: RTP Payload Format media
types.  I don't see V.23 listed there either.  So you will have to use
a private value, like x-V23.

Dale


___
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-12-07 Thread Dale Worley
On Mon, 2009-11-30 at 12:32 -0500, Paul Kyzivat wrote:
  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.

I believe that with sufficient care, a stateless proxy can be
constructed that performs additional forks when it receives a 3xx
response, and that this behavior is valid under RFC 3261.  But there is
no reason that one would want to build such a proxy, since it would be
much easier to pass the 3xx response upstream.

Dale


___
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-07 Thread Dale Worley
On Tue, 2009-12-01 at 13:44 +0100, 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?

IMS is hardly core SIP usage.

If your question is Should my system be able to handle SIP URIs with
parameters?, the answer is Yes..  Because if you don't, in the next
few months, some usage of your system will require it.  It's a law of
nature.  ;-)  (I once wrote a parser for a language.  The parser
(accidentally) restricted comments to 1024 characters.  The *second*
test program I wrote had a comment that was 1500 characters.)

If your system has to interpret a SIP URI, then in general, it should
ignore any URI parameters that it does not understand, or if the context
does not give any significance to the parameter.

Dale



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

Re: [Sip-implementors] [gruu] Registrar changes the Public GRUU for a refresh - REGISTER

2009-12-07 Thread Dale Worley
On Wed, 2009-12-02 at 13:14 +0530, hanifa.mohammed wrote:
 However, a UA MUST be prepared for the public GRUU to change from a 
 previous one, since the
 persistence property is not guaranteed with complete certainty.
 
 So, even for a refresh-REGISTER, the public GRUU may be different. In 
 that case, for all
 existing sessions that uses the previous Public GRUU, UA must send 
 target-refresh request, to update
 the contact.
 
 Wont the registrar keep the old public GRUU as valid till the user 
 de-registers?

There is no guarantee of anything.

The safest course of action is the target-refresh that you describe.
(Conveniently, if the UA sends a target-refresh request, its previous
GRUU contact need no longer be valid for the request to succeed.)

But if you expect GRUU changes to happen very infrequently, and are not
very concerned about reliability, the UA can simply use the GRUU for all
future requests.  Currently active calls might fail, but new ones will
succeed.

Dale


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


Re: [Sip-implementors] Collision free Ids: Call-ID, icid-value, Session-ID

2009-12-07 Thread Dale Worley
On Mon, 2009-12-07 at 14:11 +0530, Gaurav Nangla wrote:
 Is there an approppriate algorithm like the 'Session-ID generation algorithm'
 proposed in http://tools.ietf.org/html/draft-kaplan-sip-session-id-02, for
 the Call-ID header and icid-value (P-Charging-Vector) param.
 
 If another developer attempts to generate an id (vis-a-vis the Call-ID
 header and icid-value (P-Charging-Vector) param) using a different algorithm
 than the one I've cooked up, I'll have collisions with their ids, i.e. they
 will no longer be globally unique.

As long as the identifier you generate has at least 64 bits of
statistically random information, then the probability of one of your
identifiers colliding with *any* identifier that another system creates
(according to *any* method) is = 2^-64.

According to the birthday paradox, if you create a set of such
identifiers, it will have to contain 2^32 of them before there is a
reasonable chance of any collision.

The Kaplan draft proposes to use 128-bit random identifiers, which
changes those numbers to 2^-128 and 2^64, respectively.

Dale


___
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-12-07 Thread Dale Worley
On Mon, 2009-12-07 at 21:11 +0100, Iñaki Baz Castillo wrote:
 El Lunes, 7 de Diciembre de 2009, Dale Worley escribió:
  On Wed, 2009-11-18 at 00:15 +0100, Iñaki Baz Castillo wrote:
   I still wake up every day asking myself how SIP protocol was born
   assuming there is no NAT... :(
  
  How long have you been involved with the IETF?  A lot of IETF people
  hate NATs like the Pope hates Satan.
 
 Does it mean that RFC 3261 exists prior to NAT? XD

Not at all.  But the fact that RFC 3261 ignores NATs is not accidental
or an oversight.  Only after SIP became popular in real situations did
people work out how to make it work with NATs.

Dale



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

Re: [Sip-implementors] Proxy-Authorization in initial INVITE

2009-11-16 Thread Dale Worley
On Wed, 2009-11-11 at 18:35 +0530, Ayyanar PK wrote:
 I don't want to receive 407, instead I want to send Authorization
 credentials in the initial itself so that the proxy allows the call.
 Please read RFC3261 section referred below. In that case what are the
 parameters to be sent in ProxyAuthorization header in initial invite.

There is no guaranteed way to construct a Proxy-Authorization header in
an initial invite that will be accepted.  This is because the header
must include a nonce value that the proxy considers acceptable.  You are
guaranteed to get an acceptable nonce value in the 407 response.  But
since the proxy can make the valid nonce values dependent on the time
and the Call-Id of the request that contains the header, the UAC cannot
always predict what would be a valid nonce value.

For example, the sipXecs open-source PBX system calculates nonces based
on the Call-Id, the from-tag, the current time, and a secret value.
Thus, the UAC cannot use a nonce from one dialog in another dialog, and
it cannot construct nonces itself.

Dale


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


Re: [Sip-implementors] Maximum size of MIME body?

2009-11-16 Thread Dale Worley
On Fri, 2009-11-13 at 10:56 +0800, Tsunghao Lee wrote:
 I have a question about maxinum size of MIME body in SIP MESSAGE.

There does not seem to be a defined maximum size.  But there is a
response code (513) for reporting that a request's size is larger than
the UAS can process.

Dale


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


Re: [Sip-implementors] query in contact

2009-11-16 Thread Dale Worley
On Sat, 2009-11-14 at 19:57 +0530, Shamik Saha wrote:
 If there is a contact address that contains an octothorpe # as a prefix,is
 that a valid contact,the contact is of the form
 
 
 contact : sip:#1...@192.168.123.123:5060

Check the BNF in section 25.1 of RFC 3261.  In this case, the user-part
is specified by the production user, and you can trace the productions
to see that '#' will not be generated by user.

Dale


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


Re: [Sip-implementors] Why Via in SIP is the opposite to Via in HTTP(RFC 2616)?

2009-10-26 Thread Dale Worley
On Fri, 2009-10-23 at 11:15 +0100, Attila Sipos wrote:
 interesting.  Spotter's badge for you!

Indeed!

 I suspect that SIP changed it because it is best to have
 to most important headers at the top - less time to parse down?

I think that was the idea.  Consider this sentence from section 7.3.1:
However, it is RECOMMENDED that header fields which are needed for
proxy processing [...] appear towards the top of the message to
facilitate rapid parsing.  I've never heard of any implementation that
does not do at least preliminary parsing of every header, though.

Dale


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


Re: [Sip-implementors] An important query regarding SIP call estb

2009-10-19 Thread Dale Worley
On Thu, 2009-10-15 at 13:54 +0530, Bitan Kundu wrote:
 Should a SIP call get established if the username (Authorization OR
 Proxy-Authorization header) and the userinfo portion of the 'From' uri is
 different? Please point to the RFC section if anywhere it is mentioned.

There is no single answer.  The authentication username shows the user
whose authority is being used to send the request.  The From URI tells
who is the originator of the request.  In most cases these will be the
same, but I don't think there is any requirement that they be the same.
In any case, use the authentication username to determine if the request
should be allowed.

(In the sipXecs open-source PBX, the From URI is ignored completely, and
only the authentication username is used to determine if a request is
allowed.)

Dale


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


Re: [Sip-implementors] New Version Notification for draft-worley-instrument-identification-00

2009-10-19 Thread Dale Worley
I've written up an internet-draft describing how the sipXecs open-source
PBX identifies which telephone makes each registration, which allows us
to obtain information about specific telephones rather than about AORs.
For example, SUBSCRIBE sip:~~in~deadb...@example.net will get the
complete dialog status for the telephone with MAC address DEADBEEF,
even if the AORs that appear on it appear on other telephones.

Also, there are some problems with this method so we are looking for
input on better methods to accomplish this.  In particular, we'd like to
classify registrations by looking at the +sip.instance parameters on the
Contact, but there are a number of difficulties with that, mostly around
the fact that the sysadmin would have to key UUIDs into the provisioning
system, and that is really tedious.

Dale



On Sun, 2009-10-18 at 09:50 -0700, IETF I-D Submission Tool wrote:
 A new version of I-D, draft-worley-instrument-identification-00.txt has been 
 successfuly submitted by Dale Worley and posted to the IETF repository.
 
 Filename:  draft-worley-instrument-identification
 Revision:  00
 Title: Identifying Individual Telephone Instruments in SIP
 Creation_date: 2009-10-18
 WG ID: Independent Submission
 Number_of_pages: 18
 
 Abstract:
 When requesting and reporting dialog status in SIP, users often want
 to know the status of a particular telephone instrument, rather than
 the status of an Address of Record (AOR).  The architecture of SIP
 makes it difficult to obtain the status of a telephone instrument in
 a way that is convenient for use in common situations, in particular,
 in an organization's PBX.  This document describes a method for
 identifying which telephone instrument is making each registration
 request that is convenient to deploy in PBXs.  This information can
 be used to obtain the status of individual telephone instruments.
 
 Unfortunately, although the method works well in practice, it
 violates separation of concerns by carrying instrument identification
 information in an authentication-related field.  This draft includes
 a preliminary discussion of better ways to identify instruments.


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


Re: [Sip-implementors] New Version Notification for draft-worley-instrument-identification-00

2009-10-19 Thread Dale Worley
On Mon, 2009-10-19 at 16:51 -0400, Dale Worley wrote:
 I've written up an internet-draft [...]

It can be obtained at
http://www.ietf.org/id/draft-worley-instrument-identification-00.txt

Dale


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


Re: [Sip-implementors] An important query regarding SIP call estb

2009-10-19 Thread Dale Worley
On Mon, 2009-10-19 at 22:54 +0200, Iñaki Baz Castillo wrote:
 Does it means that a request with From sip:al...@domain.org and credentials 
 with username=bob, realm=domain.org would be accepted by sipXecs and routed 
 to the destination?
 This means that bob is spoofing the call originator.

It is true that one can spoof the call originator.  But the philosophy
we take is that the From and To headers (other than in REGISTERs) are
documentation, and not to be taken as reliable.

Dale



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

[Sip-implementors] People with experience in SIP performance metrics wanted

2009-10-06 Thread Dale Worley
If you have experience in SIP performance metrics, you might want to
join the discussion of draft-ietf-pmol-sip-perf-metrics on the IETF
working group mailing list p...@ietf.org.  That internet-draft is a
proposed standard for SIP performance metrics.

Dale


___
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-02 Thread Dale Worley
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: sip:u...@pc.example.com;automata

See RFC 3840.

Dale


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


Re: [Sip-implementors] Sip-implementors Digest, Vol 78, Issue 13

2009-10-02 Thread Dale Worley
On Fri, 2009-10-02 at 15:20 +0200, Iñaki Baz Castillo wrote:
 El Viernes, 2 de Octubre de 2009, Laurent Etiemble escribió:
  Hello,
  
  If you want to test protocol switching, try the Mercuro IMS Client
  (http://www.mercuro.net/). It supports the ability to switch from UDP
  to TCP when the packet size exceed ~1300 bytes.
 
 Twinkle (GPL softphone for Linux) also implements switching from UDP to TCP 
 whe the packet exceed a configured size (not fixed value but configurable).
 
 http://twinklephone.com/

The sipXecs PBX system (LGPL) switches between UDP and TCP based on
message size.  http://www.sipfoundry.org/

Dale



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

Re: [Sip-implementors] change source port within a SIP transaction

2009-09-30 Thread Dale Worley
On Tue, 2009-09-29 at 22:50 +0200, Mihaly Zachar wrote:
 Lets say I get the first INVITE from 10.1.1.1:53000.
 When I send the ReINVITE to the A leg it sends back the 100 Trying and
 then the 200 OK from 10.1.1.1:5060.
 
 Is this correct ?
 Can the UAC change port within a SIP transaction ?

With UDP transport, I believe it is allowed.

Dale


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


Re: [Sip-implementors] Initial NOTIFY without state information

2009-09-30 Thread Dale Worley
On Tue, 2009-08-04 at 13:13 +0200, be...@telekom.de wrote:
 What should a notifier send in its initial NOTIFY if it doesn't have
 valid state information?

As you've described below, the definition of the event package is
supposed to contain that information.

 Do end devices handle NOTIFYs with an empty body properly?

A good question.  I expect that any subscriber would handle missing
bodies sensibly.  But it's a complicated question what proper handling
might be.

 What is a neutral state?
 RfC 3265:
 'Documents which define new event packages MUST define
 this neutral state in such a way that makes sense for their application'
 
 If they only would. Eg. RfC 3842 (MWI) doesn't seem to contain any hint about 
 it.

A good point -- that's a deficiency in the specs.

Dale



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


Re: [Sip-implementors] [sipcore] Requests sent within early dialog -- CSeq mgmt

2009-09-30 Thread Dale Worley
On Wed, 2009-08-26 at 17:10 -0400, Szilagyi, Mike wrote:
 I’ve not been able to find definitive text regarding this issue so I’m
 hoping someone can provide clarification.  If a request (INFO or
 UPDATE) is sent on a dialog in the early state, how are the CSeq
 numbers managed by the UAS.  Here’s an example to demonstrate my
 confusion:

The model is that a CANCEL is not an independent transaction from the
INVITE, in the way that the UPDATE is an independent transaction from
the INVITE.  Indeed, CANCEL isn't even routed the same way that the
UPDATE is.  A CANCEL transaction is sort of a second half of the
INVITE transaction that it is canceling.  That is why the CANCEL has the
same CSeq as the INVITE.

(Also, your example shows the UPDATE being sent by the UAC before it
receives a non-100 response.  That can't be done, since the UAC doesn't
know the to-tag to use; there isn't an early dialog established at that
point.)

Dale




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

Re: [Sip-implementors] SUBSCRIBE 202 and 407

2009-09-29 Thread Dale Worley
On Tue, 2009-09-29 at 15:32 +, Scott Lawrence wrote:
 On Mon, 2009-09-28 at 16:05 +0530, Thomas george wrote:
  Hi,
  
  In case the Authentication takes more time for a SUBSCRIBE request,
  Can I first send 202 response to the SUBSCRIBE request and later send 401?
 
 No - proxies will not forward the second response because the
 transaction is complete.
 
 You need to send a NOTIFY to the accepted dialog with a
 Subscription-State of terminated (and some nice explanatory text would
 be good too).

Immediately after sending the 202, the notifier must send a NOTIFY, but
it can use Subscription-State: pending to indicate that the
subscription has been fully approved by the notifier.  If the notifier
eventually decides to reject the subscription, it would send another
NOTIFY with Subscription-State: terminated.

If you are using SIP authentication as a preliminary permission check,
you would apply that first, to the initial SUBSCRIBE.

Dale


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


Re: [Sip-implementors] Constructing an ACK request (non 2XX based) in a stateless case

2009-09-28 Thread Dale Worley
I see in RFC 3261 saction 17.1.1.3, titled Construction of the ACK
Request.  Have you carefully checked your ACK against its
specifications?

In regard to the example you provide, the 408 response has no to-tag,
which is quite strange for any modern SIP device.

Dale


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


Re: [Sip-implementors] Regarding Call Transfer

2009-09-23 Thread Dale Worley
On Wed, 2009-09-23 at 06:19 -0700, Bharat S wrote:
 In case of a call transfer, when a REFER request is received at
 Transferee (from Transferor), what is the method carried in the Cseq
 Header for the INVITE request originated towards Transfer Target?
 As per RFC 5589 in case of basic call transfer it is shown that the
 method in the Cseq Header for INVITE request is  REFER, where as on
 other sources it is observed that the method is being sent as INVITE.

That is an error in RFC 5589.  (I have just reported it to the RFC
editor.)  The method in the CSeq must match the method in the request.
See RFC 3261, section 8.1.1.5.

Dale


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


Re: [Sip-implementors] Contact mismatch in 200 resp for Register req

2009-09-15 Thread Dale Worley
On Sun, 2009-08-30 at 12:20 +0530, vijay wrote:
 Hi,
   If we get different contact in 200 response for Register request, Is it
 successful registration? 
 If yes, Can we consider the expires(for reg refresh) value present
 in the Contact?
 If no, Please suggest,  what should we do?

If the registrar accepts your registration (by sending a 200 response),
then it must list the contact that was in the REGISTER message in a
Contact header.  So there is an error in the above situation.  One
possibility is that the registrar is not registering the same URI that
the REGISTER message contains -- that is an error, even if the registrar
is doing complex tricks to compensate for NATs.  In such a situation,
the registrar needs to put the provided contact in a Contact header,
even if it puts a different URI in the database.  The other error
possibility is that some intermediate system is rewriting the REGISTER
and/or the 200, but doing so incorrectly -- similar considerations
apply.

Dale


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


Re: [Sip-implementors] Registrar: Contact matching decisions if NAT fails

2009-09-15 Thread Dale Worley
On Tue, 2009-09-08 at 23:24 +0200, Thomas Gelf wrote:
 The problem we were talking about are clients filling the registrars
 location database with multiple (usually in the range of 3-30) different
 records. Same UAC, same Call-ID, same username, same (official) IP but
 changing port in their Contact, usually followed by (equal) line= or
 uniq= param.

Well, the bindings will time out as usual, so if the phone
re-registration period is 1/2 of the expiration time that each
registration receives, then there will only be 2 records in the database
at a time.

Dale


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


Re: [Sip-implementors] overloading static RTP payload types with dynamic payload types

2009-09-15 Thread Dale Worley
On Mon, 2009-08-24 at 08:26 -0700, Amy Hwang wrote:
 Let's say SDP is offered with the following media line:
 
 m=audio 12345 RTP/AVP 97
 a=rtpmap:97 PCMU/8000
 
 That is, a dynamic payload type of 97 is being used to represent
 PCMU/8000, which is also mapped to the static payload type of 0 by RFC
 3551. If this offer is accepted, then would the resulting RTP stream
 contain a payload type of 0 or 97?

PCMU could only be sent using payload number 97 because the offer does
not specify that payload number 0 may be used.  A static payload type
only specified that *if* the number is listed in the m= line, then there
does not need to be an a= line to describe what the codec is for that
payload number.

However, if the offer is:

m=audio 12345 RTP/AVP 0 97
a=rtpmap:97 PCMU/8000

Then either 97 or 0 could be used for sending PCMU.

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 Dale Worley
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.

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-14 Thread Dale Worley
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
 
 snip
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
 /snip
 
 However, here comes the inconsistency.
 
 When answerer send media, it cannot send G723 packets to offerer per sec
 6.1 of RFC3264
 
 snip
 The answerer MUST send using a media format in the offer
that is also listed in the answer, 
 /snip
 
 Whereas RFC3264 does not forbid offerer to send G729 packets to answerer
 per sec 7

 snip
 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.
 /snip

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.

Dale


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


Re: [Sip-implementors] How to handle 183/SDP followed by 180/SDP?

2009-08-10 Thread Dale Worley
On Mon, 2009-08-10 at 17:52 +0530, Aryan wrote:
 Actually i am having an issue when 183 is not unreliable , but 180 is
 reliable. But i have read somewhere that 183 is more preferred over 180,
 right?

No...  In general, the answerer may send the answer in some or all of
the provisional responses, but it must ultimately send the answer in a
reliable response, either a reliable provisional response or a 2xx
response.  *All of these answers must be the same.*  So if you are
seeing a conflict between the 183's answer and the 180's answer, the
device generating them is malfunctioning.  (Unless I've made a mistake.)

 However if both the 183 and 180 are having different TO tags and different
 codec lists then its again an issue.
 then we cannot come to know whether to reject the 180 which is reliable or
 not?

If two provisional responses have different to-tags, then they are part
of two different dialogs, and the rules apply to each dialog separately.
In this case, the 180 and 183 answers can be different.

This does present the UAC with the problem of how to render the two
dialogs, for which there is no standard.  A common tactic is to check to
see if any dialog(s) are providing the media described in the answer(s).
If so, all of those media streams are mixed together and presented to
the user.  If no dialogs are providing media, and if a 180 (Ringing) has
been received, then a ring tone is presented to the user.

Dale


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


Re: [Sip-implementors] Example correct? (draft-schwarz-mmusic-sdp-offer-answer-examples-00.txt); RE: Revised SDPO/A; RE: codec negotiation

2009-08-03 Thread Dale Worley
On Mon, 2009-08-03 at 14:03 +0200, Schwarz Albrecht wrote:
 Right, the draft is very initial, the crucial part is just the SDP
 example only.
 As soon as we got agreement that the SDP syntax is correct and inline
 with SDPCapNeg and SDPMediaNeg, we'll polish the text and update
 scope, abstract etc.

It is extremely hard to determine if a particular SDP example is correct
if one does not have a clear description of what the SDP is attempting
to accomplish.  That is why you want to update the abstract and
descriptive text before bringing the question to a general mailing list
like SIP-Implementors.  After all, most of your readers here don't know
what SDPCapNeg, SDPMediaNeg, T.38, and V.152 are, nor have they
thought about the usage scenarios that the SDP is intended to support.

Dale


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


Re: [Sip-implementors] Example correct? (draft-schwarz-mmusic-sdp-offer-answer-examples-00.txt); RE: Revised SDP O/A; RE: codec negotiation

2009-07-31 Thread Dale Worley
On Fri, 2009-07-31 at 15:23 +0200, Schwarz Albrecht wrote:
 http://www.ietf.org/internet-drafts/draft-schwarz-mmusic-sdp-offer-answer-examples-00.txt
 
 Dear SDP Offer/Answer experts!
 
 Our draft provides an example in § 4.4.1.3, using the new SDP syntax
 according revised SDP O/A:
 SDP Capability Negotiation,
 draft-ietf-mmusic-sdp-capability-negotiation  
 SDP media capabilities Negotiation,
 draft-ietf-mmusic-sdp-media-capabilities
 
 Before progressing our draft we would appreciate any feedback,
 comments by the SDP O/A experts.

The Abstract isn't very clear.  The Abstract just describes the draft as
providing offer/answer examples.  But I think that the draft is trying
to give examples specifically for V.152 and T.38, and it seems that
draft-ietf-mmusic-sdp-capability-negotiation and
draft-ietf-mmusic-sdp-media-capabilities are essential to handling those
situations well.  If that is so, the Abstract should make it clear.
Otherwise, people won't realize why they want to read the I-D/RFC.

Dale



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

Re: [Sip-implementors] Updating the Route-Set on receiving 407 response

2009-07-30 Thread Dale Worley
On Thu, 2009-07-30 at 16:01 +0530, hanifa.mohammed wrote:
 On receiving 407 for the intiail INvITE request, should the Route-set
 be updated in the caller side?

No:  Because the request failed, it has no effect on the dialog state.
In addition, since the initial request failed, it does not create a
dialog (which would have a route-set).

Dale


___
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-28 Thread Dale Worley
If the far-end UA has set its Contact URI to have +sip.rendering=no, I
think that can be safely taken as the far-end has put us on hold.
Other than that, if all the media streams are on sendonly or
inactive, you could consider the call to be on hold.

Dale


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


Re: [Sip-implementors] Importance of version number in NOTIFY message

2009-07-28 Thread Dale Worley
On Tue, 2009-07-28 at 19:52 +0530, rishabh wrote:
 Is it important to change the version number in every communication we have.
 
 if not what will be the result.

If the contents of the NOTIFY do not change, then the version need not
be changed.  But if the contents of the NOTIFY are different from the
contents of the previous NOTIFY, then the version should be 1 greater
than the previous version.

Dale


___
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-22 Thread Dale Worley
On Tue, 2009-07-21 at 22:50 +0200, Iñaki Baz Castillo wrote:
  And it is implemented
  correctly in the sipXecs proxy system (and most likely all other
  high-quality SIP implementations).
 
 I don't understand what you mean, a proxy has nothing to do here:

sipXecs also includes a considerable number of subsystems for
implementing UAs.  In particular, there are SipSubscribeClient and
SipSubscribeServer classes -- and they do support forked subscriptions.

Dale



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

Re: [Sip-implementors] Terminating a Refer (Blind Transfer)

2009-07-21 Thread Dale Worley
On Fri, 2009-07-17 at 18:32 +0100, Ron Bowater wrote:
 We have a problem with SIP Blind Transfer using REFER where we get the
 Notify (100) but then we don't receive the Notify (200) within the time that
 the application is prepared to wait for. What we do at the moment is to send
 the INVITE to take the call off hold prior to returning to the IVR
 applications. However, the switch (not sure which type the customer is
 using) comes back with a 491 In-Progress error response so clearly we have
 some unfinished work to terminate the transfer request.
 
 Question is: How can I kill the outstanding REFER request ? I could send an
 unSUBSCRIBE but I *think* that this will only stop me receiving an further
 NOTIFY requests. I don't think that CANCEL or BYE is applicable in this case
 so how should I go about stopping the REFER immediately ?

I don't think there is any defined way to terminate the processing that
was started with a REFER.

Although it seems the switch is incorrect in rejecting the re-INVITE
with 491 -- the original dialog is unaffected until the REFER-stimulated
INVITE succeeds.

Dale


___
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-21 Thread Dale Worley
On Tue, 2009-07-21 at 01:54 +0200, Iñaki Baz Castillo wrote:
 As I explained in my other mail, parallel forking in subscription is really a 
 corner case. But the logic and code to implement it in the client is really 
 complex. I expect that a vendor cannot spend so much time to implement such 
 an 
 exotic and complex corner case.

Forking SUBSCRIBEs is complex, but it is absolutely necessary.  For
example, it is used in the implementation of call completion features.
(See draft-ietf-bliss-call-completion-04.)  And it is implemented
correctly in the sipXecs proxy system (and most likely all other
high-quality SIP implementations).

Dale



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

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

2009-07-21 Thread Dale Worley
On Mon, 2009-07-20 at 11:59 +0800, JC wrote:
 My scenario is as follows, one SIP client sends one fresh SUBSCRIBE to 
 SIP server via TCP, and SIP server sends 200OK back immediately. 
 Unfortunately, SIP client does incorrect thing to retransmit SUBSCRIBE 
 once before it gets final response.

Or it is possible that the 200 is lost by the network, and the UAC must
retransmit the SUBSCRIBE.

  In this error case, when SIP server 
 sends 200OK, associated transaction releases immediately. So for 
 retransmitted SUBSCRIBE, transaction layer will regard it as a new msg, 
 not retransmitted one, and will create a new transation. And dialog 
 layer cann't find one matched dialog for retranmited msg because TO tag 
 not match, so maybe will create a new dialog.

There is a known bug/deficiency in the description -- the lower levels
of the SIP stack in the UAS retain a record of the received SUBSCRIBE
and the 2xx response to it for the maximum retransmission time (3
minutes, IIRC).  So when the UAS receives the retransmitted SUBSCRIBE
(which it can determine by the repeated branch value), the lower levels
of the stack retransmit the 2xx response without notifying the
application layers of the arrived SUBSCRIBE.

Dale


___
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-17 Thread Dale Worley
On Thu, 2009-07-16 at 17:53 -0400, Lakshminarayana Jayaprakash wrote:
 Is there a convention how SIP video terminal should do call  hold?  

Remember that there is no specified concept of hold.

Presumably, you put a multi-media call on hold by setting all the
streams to sendonly.

Dale


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


Re: [Sip-implementors] Need Info: reg. REFER TO Header

2009-07-10 Thread Dale Worley
On Thu, 2009-07-09 at 08:07 -0400, Uttam Sarkar wrote:
 Please see the definition of Refer-To header.
 
 2.1 The Refer-To Header Field
 
Refer-To is a request header field (request-header) as defined by
[1].  It only appears in a REFER request.  It provides a URL to
reference.
 
   Refer-To = (Refer-To / r) HCOLON ( name-addr / addr-spec ) *
   (SEMI generic-param)
 
 
 addr-spec  =  SIP-URI / SIPS-URI / absoluteURI
 
 SIP-URI  =  sip: [ userinfo ] hostport
 uri-parameters [ headers ]
 headers =  ? header *(  header )
 header  =  hname = hvalue
 hname   =  1*( hnv-unreserved / unreserved / escaped )
 hvalue  =  *( hnv-unreserved / unreserved / escaped )
 escaped =  % HEXDIG HEXDIG

hnv-unreserved  =  [ / ] / / / ? / : / + / $


In particular, you will see that = and ; are not contained in either
hnv-unreserved or unreserved, and so they must be escaped if they appear
in the intended value of a 'header'.

Dale


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


Re: [Sip-implementors] Registration - Challenging Question

2009-07-10 Thread Dale Worley
On Thu, 2009-07-09 at 13:33 +0200, Michael Hirschbichler wrote:
 UAC   Proxy
 REGISTER
 401 Unauthorized (w challenge)--
 ---REGISTER (w correct Credentials)-
 401 Unauthorized (w challenge)--
 
 (The credentials are correct and the 401 are no retransmissions)
 
 How should the client now behave? Should he retry to register using the 
 Digest from the last 401? How often should the client retry until he 
 stops trying to register?

The expectation is that an immediate re-REGISTER will not succeed, and
that the UA has to wait for some external change.  So it should send
re-REGISTERS at a slow pace, waiting to detect the external change.

Dale


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


Re: [Sip-implementors] About Transport Selection in Response

2009-06-30 Thread Dale Worley
A major difficulty is that the only IP/port/transport that you *know*
the sender is listening on is the one specified in the Via.  Many if not
most SIP elements will properly process a SIP message no matter what
port it is received on, but there is no guarantee that the sending
element is listening on any other port than the one described in the
Via.  Since TCP and UDP have separate port-number spaces, you cannot
convert a UDP port number into a TCP port number.

Dale


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


Re: [Sip-implementors] Developing SIP application

2009-06-24 Thread Dale Worley
On Sun, 2009-06-21 at 01:45 +0800, ChunSean wrote:
 Hi all, I am planning on developing a SIP application on knopflerfish osgi
 framework. I face some difficulties when developing the program. This
 program is planned to be able to

Writing a SIP application is a great deal of work.  I would suggest you
start with an existing SIP software phone application and adapt it to
your platform.

Dale


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


Re: [Sip-implementors] same session-id in o= line of offer-answer SDP

2009-06-24 Thread Dale Worley
On Tue, 2009-06-23 at 11:55 +0530, Dushyant Dhalia wrote:
 I have a basic query regarding offer-answer model.
 Why can't/don't UAC  UAS use the same session-id in o= line of the 
 SDP? I agree that RFC 4566 define session-id as
 sess-id is a numeric string such that the tuple of username, 
 sess-id, nettype, addrtype, and unicast-address forms a globally 
 unique identifier for the session, which makes it different for UAC  
 UAS but i want to know what advantage does give it over same session-id 
 as we have same call-id.

SDP was designed and standardized before SIP -- see RFC 2327/4566.  One
requirement of SDP is that the identifying tuples must be different if
the SDPs are different.

Dale


___
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-24 Thread Dale Worley
On Tue, 2009-06-23 at 16:24 +0200, Iñaki Baz Castillo wrote:
 2009/6/23 Sudhir Kumar Reddy sudhir_kuma...@yahoo.co.in:
  thanks folks for detailed info. can we consider following 
  P-Asserted-identity Header
 
  P-Asserted-Identity: Cullen Jennings sip:flu...@cisco.com ; urip=1234
 
  or should we consider following
 
  P-Asserted-Identity: Cullen Jennings sip:flu...@cisco.com; urip=1234

Note that while spaces are allowed around the ; that introduces a
header parameter, they are *not* allowed around the ; that introduces
a URI parameter.  So the above header must be written:

P-Asserted-Identity: Cullen Jennings sip:flu...@cisco.com;urip=1234

  Any response / reference is higly appreciated
 
 You are insiting too much in something that has no response. BTW:
 
 
 a) P-Asserted-Identity: Cullen Jennings sip:flu...@cisco.com;urip=1234
 
 urip is NOT a SIP URI parameter, but a *header* parameter.
 
 
 b) P-Asserted-Identity: Cullen Jennings sip:flu...@cisco.com;urip=1234
 
 In this case urip is a SIP URI parameter.

Dale



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

Re: [Sip-implementors] 100Rel from UAS

2009-06-24 Thread Dale Worley
On Wed, 2009-06-17 at 17:10 +0400, Kashin Mihail wrote:
 Hi, everybody!
 
 Is it legitimate for UAS to request reliable provisional response
 option after receiving INVITE without Required or Supported headers.
 
 In my case the flow is like this
 
  
 
 Inv (no 100Rel*)-
 
 -100 Trying
 
 - 180 Trying (no 100Rel)
 
 **
 
 -INFO (Required:100Rel)
 
 200OK(no 100Rel)
 
 
 
  
 
 *   - Means no 100Rel indication in the message
 
 ** - At this moment UAS (which is actually a B2BUA) establishes a
 session with another proxy where it uses 100Rel and now it is trying
 to back-enable 100Rel in our call leg.
 
  
 
 So is it OK for UAC to answer 200OK to INFO without 100Rel indication?
 Or should it send 200OK with Req:100Rel and then initiate reliable
 prov. Response procedure?

First, there is no reason to consider 100rel to be a feature of the
dialog or call leg.  In principle, it is applied to each request
individually.

In practice, the only requests that get provisional responses (other
than 100) will be INVITEs that establish dialogs.  So there is no reason
to consider 100rel except in the context of an initial INVITE.

Dale


___
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 Dale Worley
On Thu, 2009-06-11 at 15:11 +0600, Manoj Priyankara [TG] wrote:
 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?

Eventually user B will hang up, which will clear the state in UA B.
Since there is no state contained in the network between the UAs, the
network does not care whether the call is properly torn down or not.

Dale


___
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 Dale Worley
On Fri, 2009-06-12 at 22:38 +0600, Manoj Priyankara [TG] wrote:
 In this case UAC B should have a mechanism to release the call leg by
 observing RTP (or some other protocol than SIP) and then of course UAS
 can release the session.
 
 This seems to be a possible way to handle the situation if the both
 users are SIP end points.
 But what would happen if the B party is a legacy subscriber connected
 via a H.248 or MGCP media gateway ?

The B party won't hear anything, and will hang up!

Dale


___
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 Dale Worley
On Wed, 2009-06-10 at 15:01 -0400, Simon Perreault wrote:
 Iñaki Baz Castillo wrote, on 2009-06-10 14:49:
  Hi, calling today to a cell phone I've seen in my mobile screen:
Call waiting in the other side
  
  Does something similar exist for SIP?
 
 Isn't this exactly what code 182 is for?

I think you're right:

   21.1.4 182 Queued

   The called party is temporarily unavailable, but the server has
   decided to queue the call rather than reject it.  When the callee
   becomes available, it will return the appropriate final status
   response.  The reason phrase MAY give further details about the
   status of the call, for example, 5 calls queued; expected waiting
   time is 15 minutes.  The server MAY issue several 182 (Queued)
   responses to update the caller about the status of the queued call.

And a UAC might want to display the reason phrase, so you could use

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.

Dale



___
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 Dale Worley
On Wed, 2009-06-10 at 21:13 +0200, Iñaki Baz Castillo wrote:
 Yes, it could reply 
 a 182 with SDP but, how many today's devices would render the SDP in a 182 
 response?

They all should.  That's a central tenet of SIP design -- there is a
default behavior for each class of responses that a device should use if
it does not specifically understand the response code.

Dale



___
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 Dale Worley
On Wed, 2009-06-10 at 21:22 +0200, 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.

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

Dale



___
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-08 Thread Dale Worley
On Sat, 2009-06-06 at 12:31 +0200, Iñaki Baz Castillo wrote:
 Hi Dale, please don't take me wrong but that sounds too much exotic for me 
 and 
 I don't expect a SIP device being so clever in the next 25 years XD

I wouldn't be surprised if the peer-to-peer SIP people use such a
scheme.  After all, it is pretty much what PGP-encrypted e-mail does, it
doesn't protect the transit path, but rather ensures that the only
recipient that can read it is the intended one.

The deficiency of such a system for telephony is that in many cases, one
is not communicating with a known individual, but rather with a person
whose significance is their role in an organization.  So the caller does
not possess a key for the ultimate callee.

Dale



___
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 Dale Worley
On Tue, 2009-06-02 at 03:39 -0700, Radha krishna wrote:
 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? 

One detail that nobody has mentioned:  If the o-line in the SDP is the
same as that in a previous SDP, the SDPs must be *identical*.  But there
is no requirement in any of these scenarios that the SDP must be the
same as any previous SDP, which would require that the o-line be
different.

Dale


___
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-05 Thread Dale Worley
On Tue, 2009-06-02 at 18:14 +0200, Iñaki Baz Castillo wrote:
 Anyhow, it seems that before securing the media transmission, it makes
 sense to also secure the signalling. Since TLS secures the signalling
 it allows the secure tranmission of master key for SRTP. This is, with
 TLS you get all the goals (secure SIP + SRTP).

In some circumstances, there isn't a need to secure the signaling.
Those circumstances are where the callee has knowledge of who the callee
is and possesses a key or identifier of the callee.  The caller uses SIP
as an unsecure rendezvous protocol, and then confirms the identity of
the callee using the key.  (This is much simpler to implement, and even
to define, that secure signaling.)

Dale



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

Re: [Sip-implementors] Subscription is done for 'presence'. But NOTIFYrecd with event header 'reg' (or/and) 'presence'. What err resp?

2009-06-01 Thread Dale Worley
On Mon, 2009-06-01 at 11:58 +0530, hanifa.mohammed wrote:
 Pl find the snippet from RFC3265:
 
 If, for some reason, the event package designated in the Event
 header of the NOTIFY request is not supported, the subscriber will
 respond with a 489 Bad Event response.
 
 It means that the dialog matching does not include Event header. If the 
 dialog ID matches,
 but Event package is NOT suppoertd, 489 shall be sent from Subscriber also. 
 Pl clarify.

The best response is 481, as the NOTIFY that was received does not match
any subscription that was established (as the identity of the
subscription includes the event-type).

It is possible that a particular subscriber must first sort NOTIFYs
based on their Event values, and thus would discover that it does not
support 'reg' before it discovers that there is no matching
subscription.  In that case, a 489 would probably be acceptable.

But since the notifier is malfunctioning (rather than experiencing an
ordinary operation problem), the only truly necessary requirement is
that it returns a 4xx response of some sort.

Dale


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


Re: [Sip-implementors] Signaling SIP-ISDN Gateway.Supplementary Services.

2009-06-01 Thread Dale Worley
On Sun, 2009-05-31 at 15:03 +0200, Rodriguez Merchan, Pedro Julian
wrote:
 Could you help me about making Gateway ISDN supplementary services
 betwen SIP and ISDN (Q931/QSIG)?

Some work has been done on this, but not a lot.  E.g., the IETF Bliss
working group has done work on interoperation of call completion.  I
believe that TISPAN has been working on some of the supplementary
services as well.

Dale


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


Re: [Sip-implementors] is this a valid rtpmap attribute?

2009-05-26 Thread Dale Worley
On Tue, 2009-05-26 at 09:21 +0300, Brocha Strous wrote:
 Is the following line valid:
 
 a=rtpmap:101 telephone-event/000
 
 What is the meaning of a 0 clock rate? And isn't it supposed to be a
 number? I tried to find somewhere a BNF specification for RTPMAP
 attribute lines but only found very general statements. What would be
 the correct way to parse a RTPMAP line into all its pieces that would
 account for the different syntaxes? Should the clock rate be treated
 as a string and not a number?

Looking at RFC 2833, especially section 3.5, the rate part of the
rtpmap specification means that the time units in the RTP
telephone-event packets are at that many per second.  E.g., the standard
value 8000 means that the timestamps are in units of 1/8000 second.

Given that, a rate value of zero is useless.

In your case, the standard value is 8000, and what we see is 000,
making it extremely likely that the line you see is a typo for

a=rtpmap:101 telephone-event/8000

Dale


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


Re: [Sip-implementors] Distinguishing Forked and Looped scenarios atSIP proxy

2009-05-13 Thread Dale Worley
On Wed, 2009-05-13 at 15:30 +0530, Ashwath Kumar wrote:
 So if proxy  is sending 404 not found is it valid behavior of the proxy ?
 or should we expect 5xx 'loop detected' ?

482 is used for Loop Detected (this request has passed through this
proxy before) and Merged Request (a copy of this request from a
different fork has passed through this proxy before).

Dale


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


Re: [Sip-implementors] LWS allowed at the end of WWW-Authenticate field value ?

2009-05-13 Thread Dale Worley
I believe that we have discovered that the RFC 3261 grammar allows
whitespace at the end of (almost) no headers.  But people expect that
parsers will accept (linear) whitespace at the end of all headers.

Dale


___
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-12 Thread Dale Worley
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.

Dale


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


Re: [Sip-implementors] Question on ISUP-SIP mapping on receipt of ACM followed by CPG (Alerting)

2009-05-12 Thread Dale Worley
On Tue, 2009-05-12 at 14:25 +0530, Kapil Saxena wrote:
 I have a MGW that has SIP interface towards UE and ISUP towards MSC.
 
 For a SIP-ISUP call:
 
  1.  MGW receives SIP INVITE from UE and sends IAM to MSC-A.
  2.  MGW receives backward ACM message with called party status =
 free from MSC-A.
  3.  MGW sends 180 Ringing towards SIP UE.
  4.  Called Party (on MSC-A) rings but does not answer
  5.  Call is now forwarded by MSC-A (this is the case of call
 forwarding after alerting the user) towards MSC-B. Thus, MSC-A sends
 IAM to MSC-B
  6.  MSC-B sends ACM message with called party status = free towards
 MSC-A
  7.  MSC-A transforms it to CPG (Alerting) and sends it towards MGW.
  8.  My question is: what MGW should do with 2nd CPG (Alerting)
 message? RFC 3398 (ISUP-SIP interworking) mandates to send out 180
 but as MGW has already sent out 180 (see #3 above), so it can not send
 duplicate 180 with same tag.

Certainly, it is legal in SIP to send more than one 1xx message with the
same to-tag.  As a matter of implementation, the MGW may prefer not to
do so, as it may not carry any additional information.

More difficulty arises if the offered media from MSC-B is different than
the offered media from MSC-A, because that would require that the second
180 have different SDP than the first 180, and that is not allowed if
they have the same tags.

Another implementation approach would be for the MGW to construct the
second 180 using a different to-tag than the first 180.  That would give
it the freedom to apply different SDP to the second 180.

I expect that there are a lot of possible implementations of such an
MGW.

Dale


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


Re: [Sip-implementors] Early dialog can be replaced if TransferTarget is the reciepient of dialog (early) during Attendant Call Transfer

2009-05-11 Thread Dale Worley
On Sat, 2009-05-09 at 10:05 +0530, Vivek Batra wrote:
 Moreover, does this mean that an Operator initiating Attended Transfer
 cannot free-up herself since the transfer target is not responding?
 This would be very taxing in practical world because most of the
 times, the Operator wishes to execute Attended Transfer but since the
 transfer target does not respond in time, she frees up herself (by
 performing the Attendant Transfer activity in ringing state) for
 receiving other calls.

 What is the way out?

In practice, the solution is for the user agent to perform the transfer
in the background by doing nothing until the new call leg is answered,
and then sending the REFER that completes the transfer.  (This has been
understood since at least 2003, when the Pingtel Xpressa phone
implemented it.)  Although the phone must perform much activity, the
user of the phone is freed to do other things.

Dale


___
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-11 Thread Dale Worley
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

Re: [Sip-implementors] Early dialog can be replaced if TransferTarget is the reciepient of dialog (early) during Attendant Call Transfer

2009-05-11 Thread Dale Worley
On Mon, 2009-05-11 at 23:06 +0200, Iñaki Baz Castillo wrote:
  In practice, the solution is for the user agent to perform the transfer
  in the background by doing nothing until the new call leg is answered,
  and then sending the REFER that completes the transfer.  (This has been
  understood since at least 2003, when the Pingtel Xpressa phone
  implemented it.)  Although the phone must perform much activity, the
  user of the phone is freed to do other things.
 
 Interesting. And does some phone implement it? (I've never seen it).

I call your attention to the sentence I wrote:  ... the Pingtel Xpressa
phone implemented it.  I suspect that if you check other high-quality
phones that have been in the market for several years, you will find
others.

Of course, many low-quality phones with poor software do not handle this
case correctly, and customers discover that their calls fail
unexpectedly in various circumstances.  (I know, because I've had to
debug many such cases and report them to the phone vendors.)

 IMHO this mechanism is really poor. The phone is using a line until the 
 transfer target answers the call. What about simple phones with just 2 lines?

Since the intention is to free the phone's user from dealing with the
call, any lines that show on the phone's user interface can be
released immediately.  Of course, the phone software will still have to
handle the signaling of these calls, but since SIP is an Internet
protocol, there is no intrinsic limitation on the number of calls that a
phone can handle at any one time.  And in this case, there is no
requirement that the phone handle media for *either* of the call legs
(even if it is implementing music-on-hold), the phone only handles
signaling, which is not computationally demanding.

 How to explain the human user that a phone line is still busy even if he has 
 already free-up himself?

Since the user-interface representation of the lines can be freed
immediately, this does not have to be explained, as the user-interface
appearance matches the user's mental model (even if it doesn't match
reality).

 This is a really bad design IMHO, and it's obvious why so many vendors have 
 decided not to implement it.

I invite you to design a mechanism that works better (but it needs to
work correctly in the face of forking).

Dale



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

Re: [Sip-implementors] 400 Bad Request response after 180 Ringing (I?aki Baz Castillo)

2009-05-08 Thread Dale Worley
On Fri, 2009-05-08 at 11:08 +0530, bharath.rangana...@wipro.com wrote:
 Let me make the question very clear.
 - There is NO Proxy/B2BUA in between uac  uas. In this scenario can the
 uas send 400 response after 180 Ringing.
 Because when the UAS generates 180 Ringing, it means that the received
 request is correct in terms of syntax(ABNF).

It would be quite foolish to assume that there is no proxy between the
UAC and the UAS.  Even if there is not one in your system now, there may
be one next year.

There is no reason to assume that the *only* reason that a 400 response
can be generated is due to syntax errors in the request.  Similarly,
there is no reason to assume that because you have received a 180
response, that there are no syntax errors in the request.

Let us make the answer very clear:  Yes, you can receive a 400 response
after you receive a 180 response (with the same to-tag).  Your UAC
should do something sensible in this situation.  Specifically, it is
required to consider that the call set-up has failed and that the early
dialog is terminated.

Dale


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


Re: [Sip-implementors] Early dialog can be replaced if Transfer Target is the reciepient of dialog (early) during Attendant Call Transfer

2009-05-08 Thread Dale Worley
On Thu, 2009-05-07 at 12:08 +0530, Rastogi, Vipul (Vipul) wrote:
 I don't know if sending 487 after 180 is good idea. I have seen
 following in few places ...

If the caller cancels the call while it is ringing, the UAS has no
choice but to send a 487 after it sends a 180.

Dale


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


Re: [Sip-implementors] Early dialog can be replaced if Transfer Target is the reciepient of dialog (early) during Attendant Call Transfer

2009-05-08 Thread Dale Worley
On Thu, 2009-05-07 at 21:44 +0200, Iñaki Baz Castillo wrote:
 El Jueves, 7 de Mayo de 2009, Vikram Chhibber escribió:
 
  I could not think of
  any useful case for early dialog getting replaced at UAS end.
 
 Let me tell an example (real example):
 
 - A calls B.
 - B answers.
 - B wants to transfer the call to C.
 - So B puts A on-hold and calls C.
 - C doesnt' answer in 5 seconds, but B *knows* that C is available (sitting 
 near the phone).
 - So B does the transfer (pseudo-attendant transfer in fact since B doesn't 
 talk with C).

Yes, this is a known problem with SIP.  What the phone must do is to
*pretend* to execute the transfer, but in fact, it keeps the call from A
on hold until the call to C is answered.  At that point, phone B then
executes the transfer.

Dale



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

Re: [Sip-implementors] Early dialog can be replaced if Transfer Target is the reciepient of dialog (early) during Attendant Call Transfer

2009-05-08 Thread Dale Worley
On Wed, 2009-05-06 at 10:11 +0530, Vivek Batra wrote:
 If we correlate the above RFC statement with the Attendant Call Transfer,
 does it mean that if Transfer Target receives the INVITE (replaces) header
 and it matches with the early dialog which is not initiated by the transfer
 target, transfer target should not replace the early dialog and return 481
 Call Leg Doesn't Exist.

Yes, that is what it means.

Dale


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


Re: [Sip-implementors] Early dialog can be replaced if Transfer Target is the reciepient of dialog (early) during Attendant Call Transfer

2009-05-08 Thread Dale Worley
On Wed, 2009-05-06 at 17:55 -0700, Vikram Chhibber wrote:
 I can not think of any reason why RFC did not allow replacement of
 early dialog at the UAS.

The reason that the replacement of an incoming early dialog is not
allowed is the complexity that would be introduced if the caller has
multiple early dialogs with several UASs.

In the attended transfer scenario, consider if the still-ringing call
to C was actually ringing on two different phones.  Then the Replaces
header would have to specify *one* of the two early dialogs, but there
would be no way for the executing phone to guess which early dialog was
the correct one.

Dale


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


Re: [Sip-implementors] C-line in SDP

2009-04-30 Thread Dale Worley
On Mon, 2009-04-27 at 12:12 +0300, Meir Leshem wrote:
 Does the sender of this SDP message obliged to put the same IP address
 also in the IP header of the RTP packets it sends to the peer?

No, there is no such requirement in RTP, SDP, or SIP.

However, some UAs do have such a requirement to prevent SPIT.  And with
many NAT techniques, it is necessary to send from your advertised
receive address.

Dale


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


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

2009-04-29 Thread Dale Worley
On Sun, 2009-04-26 at 12:56 +0200, Iñaki Baz Castillo wrote:
 A SIP phone *cannot* contact a mailto uri, SIP protocol ends when the 302 
 Contact is a mailto URI.

And there is a specific error code for reporting this situation:  416
Unsupported URI Scheme.

Dale



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

  1   2   3   4   >