Re: [Sip-implementors] What is the rule for retransmitting the SIP packet

2023-04-10 Thread Alex Balashov
Are you asking how TCP handles retransmission internally, or are you asking 
about retransmission intervals in SIP for messages sent over “unreliable 
transport”?

If the latter, every message type (it might be more accurate to say “message 
genre”) has different retransmission limits, and they are all regulated by 
Timer T1/T2/T4 and Timer A-K. See RFC 3261 page 264, “A Table of Timer Values”.

> On Apr 10, 2023, at 2:06 PM, Arun T  wrote:
> 
> Thanks, but what is the interval and how many times? Any spec. Or RFC ?
> Please suggest
> 
> On Mon, 10 Apr 2023 at 11:35 PM, Ranjit Avasarala 
> wrote:
> 
>> TCP takes care of re-transmissions.
>> 
>> On Mon, Apr 10, 2023 at 11:25 AM Arun T  wrote:
>> 
>>> Thanks RFC talks about the non-reliable transport (UDP) what about
>>> reliable
>>> transport (TCP). Don’t UE/NW retransmit?
>>> 
>>> On Mon, 10 Apr 2023 at 7:12 PM, Roman Shpount  wrote:
>>> 
>>>> Please take a look at hhttps://
>>> www.rfc-editor.org/rfc/rfc3261#section-17
>>>> _
>>>> 
>>>> Roman Shpount
>>>> 
>>>> 
>>>> On Mon, Apr 10, 2023 at 9:20 AM Arun T  wrote:
>>>> 
>>>>> Hi All,
>>>>> 
>>>>> Can any one share the spec./RFC which has information that SIP messages
>>>>> can
>>>>> be re-transmitted if no response is received?
>>>>> 
>>>>> What is the interval for retransmitting ? And how many retransmissions
>>> are
>>>>> permitted or allowed ? Does it depend on any timer ?
>>>>> 
>>>>> --
>>>>> 
>>>>> With Regards
>>>>> 
>>>>> Arun A. Tagare
>>>>> +91 9449 029729
>>>>> ___
>>>>> Sip-implementors mailing list
>>>>> Sip-implementors@lists.cs.columbia.edu
>>>>> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
>>>>> 
>>>> --
>>> 
>>> With Regards
>>> 
>>> Arun A. Tagare
>>> +91 9449 029729
>>> ___
>>> Sip-implementors mailing list
>>> Sip-implementors@lists.cs.columbia.edu
>>> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
>>> 
>> --
> 
> With Regards
> 
> Arun A. Tagare
> +91 9449 029729
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web: https://evaristesys.com
Tel: +1-706-510-6800

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


Re: [Sip-implementors] Sip-implementors Digest, Vol 81, Issue 4

2021-01-07 Thread Alex Balashov

I am not a list administrator, but speaking as a civilian:

I think we have been patient, but the time is nigh to mute this subscriber.

On 1/8/21 1:12 AM, supp...@advisory24.vip wrote:

Hi Sip-implementors,   May I have your order number please? And please 
offer the email address and full name that you filled in when you made this 
order on our website.   So I can check it for you.  Cathy Lin

 On

 Fri, 8 Jan at  1:23 AM
 ,  supp...@advisory24.vip  
 wrote:
  
Thank you for contacting us!

We have received the email.
We are really sorry that we're off work now.
Our working time is from 10am to 7pm (GMT 9), Mon to Fri.
Please do not worry.
We will arrange a dedicated customer service to solve your problem within 12 
hours.
We will try our best to help you.
Have a nice day!




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



--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] What

2020-04-27 Thread Alex Balashov
Yeah, I’d say that pretty much sums up the global state of affairs right now — 
the envelope sender name and the enquiry alike. 

An icon of our times. Flaming Pizza asking “what?”, but sans question mark. 
That’s about damn right.

—
Sent from mobile, with due apologies for brevity and errors.

> On Apr 27, 2020, at 8:37 AM, Flaming Pizza  wrote:
> 
> What
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Proxy handling of in dialogue request

2020-03-20 Thread Alex Balashov
On Fri, Mar 20, 2020 at 02:37:04PM -0400, Paul Kyzivat wrote:

> On 3/20/20 1:22 PM, Alex Balashov wrote:
> > The proxy will send the request onward to the next Route hop. If no further 
> > Route hops are available, it will consume the domain portion of the Request 
> > URI and send the request to that.
> 
> For the complete story, *carefully* read section 16 of RFC3261. There is a

Agreed; I was trying to provide the abridged, Cliff's Notes version for
what seemed like an expedient functional question.

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Proxy handling of in dialogue request

2020-03-20 Thread Alex Balashov
The proxy will send the request onward to the next Route hop. If no further 
Route hops are available, it will consume the domain portion of the Request URI 
and send the request to that.

—
Sent from mobile, with due apologies for brevity and errors.

> On Mar 20, 2020, at 9:23 AM, Jason Harrison  
> wrote:
> 
> Hi,
> 
> I know that a UA uses the remote target and route set to build the Route 
> headers and request URI. What I cannot find detail on is how a stateful proxy 
> will determine where to route the request.
> 
> Does the proxy have a remote target and route set like a UA, or does it 
> simply use the request URI. I ask as I have a proxy server that does not 
> route a BYE request and I am trying to understand why
> 
> Many thanks
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Query on SIP 488 response

2019-12-14 Thread Alex Balashov
Isn't this what late offers are meant to accomplish?

   Empty (no SDP) INVITE -->
   <-- 200 OK with SDP offer
   end-to-end ACK with SDP answer -->

-- Alex

On Sat, Dec 14, 2019 at 11:31:50PM -0600, Ranjit Avasarala wrote:

> Hi
> I have a scenario where the terminating device responds with SIP 488 Not
> Acceptable here response.  It is understood that the terminating device
> does not support any of the codecs that the incoming INVITE has.
> 
> this issue occurred when a landline called VoLTE device and the
> intermediate MSC/MGCF translated the SS7 message to SIP INVITE and put the
> codecs it supports.  So since the terminating device does not support any
> of the listed codecs in SIP INVITE SDP offer, it responded with 488 response
> 
> So my query is - is there a way the terminating device could indicate the
> list of codecs it supports in 488 response?
> 
> Thanks
> Ranjit
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] The purpose of late offers

2019-04-23 Thread Alex Balashov
Hi Roman,

On Tue, Apr 23, 2019 at 05:33:37PM -0400, Roman Shpount wrote:

> The most basic use case is click-to-call scenario. You have a web site or
> an application that imitates a call between two SIP end points. User clicks
> the web site which causes some sort of SIP application server to send an
> INVITE without an offer sent to SIP end point 1. SIP application server
> gets the answer with the SDP offer in 200 OK response to the initial INVITE
> to end point 1, and then sends this offer to SIP end point 2. SIP End point
> 2 answers the call with answer in the SDP in 200 OK response. SIP
> Application server send the answer from end point 2 in ACK to SIP end point
> 1. As a result, SIP signaling flow goes through SIP application server, but
> media goes direct between SIP end points 1 and 2.

I think I'm starting to understand what you and Paul are saying. 

There's nothing to offer in the initial INVITE, so you're asking one of
the endpoints to provide the offer that starts the process instead.

That seems obvious in hindsight, but I hadn't really considered it,
since most of the click-to-call type scenarios I'm familiar with use the
INVITE-hold-REFER approach.

Thanks a lot, guys!

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] The purpose of late offers

2019-04-23 Thread Alex Balashov
I still don't get it, I'm sorry:

On Tue, Apr 23, 2019 at 05:34:21PM -0400, Paul Kyzivat wrote:

> 1) it doesn't have any idea what codecs, or even what media, either of
> the endpoints support.

Yes, but how does a late offer confer this knowledge in some materially
different way to a normal one?

> 2) since it isn't planning on terminating the media it has no media
> address to include in an initial offer.

If it isn't planning on terminating the media, why wouldn't it just pass
through the SDP offer from the caller as-is, as any proxy or B2BUA (sans
integrated media apparatus) would?

In other words, what exactly is being accomplished for the benefit of a
third-party call controller via a late offer that can't be accomplished
via a normal one?

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] The purpose of late offers

2019-04-23 Thread Alex Balashov
Paul,

Why can’t it do that with an offer in the initial invite?

—
Sent from mobile, with due apologies for brevity and errors.

> On Apr 23, 2019, at 5:10 PM, Paul Kyzivat  wrote:
> 
> Alex,
> 
> A classic use case is 3PCC: A device in the middle wants to broker a call 
> between two other endpoints. A priori it doesn't know the capabilities of 
> either of those endpoints, and doesn't want to put itself in the media path 
> as a transcoder. So it asks one end to provide an offer so it can offer that 
> to the other end.
> 
>Thanks,
>    Paul
> 
>> On 4/23/19 1:48 PM, Alex Balashov wrote:
>> Hi,
>> Trying to fill a gaping hole in my knowledge:
>> What is the actual purpose of late SDP offers (no SDP in initial INVITE,
>> SDP offer in 2xx reply, SDP answer in end-to-end ACK)?
>> RFC 3261 mentions them, of course, but I’ve only ever seen them used in
>> Cisco (CCM and IOS voice gateway) land.
>> I understand that this puts some control in the hands of the caller - it
>> gives the caller the flexibility to respond based on the callee's SDP
>> offer more 'flexibly', since it doesn't have to tip its hand about what
>> it wants first.
>> But from what I understand, an SDP stanza is, in principle, a statement
>> about what / how each endpoint wants to receive, not send. Right? I am
>> aware that there are some cases where, as a matter of convention more so
>> than standardisation, some inferences about sending intentions are
>> permitted on the basis of an SDP advertisement -- such as the 183 early
>> media case.
>> Still, in principle, SDP is about what I want to receive and how I want
>> to receive it, I thought. And in principle, any session can involve
>> wildly asymmetric and non-isomorphic media stream characteristics, i.e.
>> two different codecs, packetisation durations, etc. on the respective
>> legs.
>> If so, what purpose does it serve for the caller to not have to tip its
>> hand preemptively about what codecs it is willing to accept, for
>> example?
>> Does it mirror some PSTN interoperability need? A lot of the discussion
>> around it seems to be in the context of third-party call control (3pcc),
>> but the exact connection is unilluminated, and in any case, that's not a
>> concept I understand particularly well.
>> Much technical discussion exists online about what it does and why it
>> needs to be supported: it allows the caller to respond flexibly based on
>> the callee’s offer. But I can't find a word about why one might actually
>> want to do that, what sort of scenario it is meant to support, or
>> otherwise anything about the underlying philosophical motivation.
>> Any insight is appreciated!
>> -- Alex
> 
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] The purpose of late offers

2019-04-23 Thread Alex Balashov
Hi Liviu,

Thank you for your answer. However, I’m afraid I still don’t quite understand — 
perhaps it is a matter of being thick-skulled, and if so, for that I apologise 
in advance.

What exactly can be remediated by the caller that cannot be addressed by the 
parties simply agreeing on a codec through the normal initial invite offer 
process?

The only scenario I can think of offhand is if the caller wishes to truly 
constrain the stream to a single codec, but is flexible about what codec that 
should be—just that there is a policy of settling on just one. But I am unsure 
of why this would be practically desirable.

—
Sent from mobile, with due apologies for brevity and errors.

> On Apr 23, 2019, at 3:37 PM, Liviu Chircu  wrote:
> 
> Hi Alex,
> 
> In my experience, late SDP negotiation has proved to be an essential
> mechanism for codec transcoding.  For example, given this setup:
> 
>   UA-1B2BUA   UA-2
> |   INVITE  | INVITE|
> |-->|->|
> |   (offer)| (empty) |
> |   ||
> |   |200 OK   |
> | |<-|
> | | (offer)  |
> |   |  |
> 
> the importance of late SDP offers becomes immediately obvious.  By
> removing the outgoing SDP on the B leg and receiving yet another SDP offer
> from UA-2, the B2BUA puts itself in a position where it has a high degree
> of control over the session setup.  Some ideas which come to mind:
> 
> * the ability to intersect codecs
> * the ability to detect codec incompatibilities and remediate, through
> transcoding hardware/software, a session setup which would have otherwise
> ended prematurely with a 488 (Not Acceptable Here)
> 
> Best regards,
> 
> Liviu Chircu
> OpenSIPS Developer
> http://www.opensips-solutions.com
> 
>> On 23.04.2019 20:48, Alex Balashov wrote:
>> Hi,
>> 
>> Trying to fill a gaping hole in my knowledge:
>> 
>> What is the actual purpose of late SDP offers (no SDP in initial INVITE,
>> SDP offer in 2xx reply, SDP answer in end-to-end ACK)?
>> 
>> RFC 3261 mentions them, of course, but I’ve only ever seen them used in
>> Cisco (CCM and IOS voice gateway) land.
>> 
>> I understand that this puts some control in the hands of the caller - it
>> gives the caller the flexibility to respond based on the callee's SDP
>> offer more 'flexibly', since it doesn't have to tip its hand about what
>> it wants first.
>> 
>> But from what I understand, an SDP stanza is, in principle, a statement
>> about what / how each endpoint wants to receive, not send. Right? I am
>> aware that there are some cases where, as a matter of convention more so
>> than standardisation, some inferences about sending intentions are
>> permitted on the basis of an SDP advertisement -- such as the 183 early
>> media case.
>> 
>> Still, in principle, SDP is about what I want to receive and how I want
>> to receive it, I thought. And in principle, any session can involve
>> wildly asymmetric and non-isomorphic media stream characteristics, i.e.
>> two different codecs, packetisation durations, etc. on the respective
>> legs.
>> 
>> If so, what purpose does it serve for the caller to not have to tip its
>> hand preemptively about what codecs it is willing to accept, for
>> example?
>> 
>> Does it mirror some PSTN interoperability need? A lot of the discussion
>> around it seems to be in the context of third-party call control (3pcc),
>> but the exact connection is unilluminated, and in any case, that's not a
>> concept I understand particularly well.
>> 
>> Much technical discussion exists online about what it does and why it
>> needs to be supported: it allows the caller to respond flexibly based on
>> the callee’s offer. But I can't find a word about why one might actually
>> want to do that, what sort of scenario it is meant to support, or
>> otherwise anything about the underlying philosophical motivation.
>> 
>> Any insight is appreciated!
>> 
>> -- Alex
>> 
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] The purpose of late offers

2019-04-23 Thread Alex Balashov
Hi,

Trying to fill a gaping hole in my knowledge:

What is the actual purpose of late SDP offers (no SDP in initial INVITE,
SDP offer in 2xx reply, SDP answer in end-to-end ACK)?

RFC 3261 mentions them, of course, but I’ve only ever seen them used in
Cisco (CCM and IOS voice gateway) land. 

I understand that this puts some control in the hands of the caller - it
gives the caller the flexibility to respond based on the callee's SDP
offer more 'flexibly', since it doesn't have to tip its hand about what
it wants first.

But from what I understand, an SDP stanza is, in principle, a statement
about what / how each endpoint wants to receive, not send. Right? I am
aware that there are some cases where, as a matter of convention more so
than standardisation, some inferences about sending intentions are
permitted on the basis of an SDP advertisement -- such as the 183 early
media case. 

Still, in principle, SDP is about what I want to receive and how I want
to receive it, I thought. And in principle, any session can involve
wildly asymmetric and non-isomorphic media stream characteristics, i.e.
two different codecs, packetisation durations, etc. on the respective
legs.

If so, what purpose does it serve for the caller to not have to tip its
hand preemptively about what codecs it is willing to accept, for
example?

Does it mirror some PSTN interoperability need? A lot of the discussion
around it seems to be in the context of third-party call control (3pcc),
but the exact connection is unilluminated, and in any case, that's not a
concept I understand particularly well. 

Much technical discussion exists online about what it does and why it
needs to be supported: it allows the caller to respond flexibly based on
the callee’s offer. But I can't find a word about why one might actually
want to do that, what sort of scenario it is meant to support, or
otherwise anything about the underlying philosophical motivation.

Any insight is appreciated!

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Routing of ACK

2019-02-10 Thread Alex Balashov
On Mon, Feb 11, 2019 at 03:50:01PM +1300, David Cunningham wrote:

> Is that the case always, or only when they're in response to a 200 OK?

There are two kinds of ACKs; end-to-end ACKs (in response to
dialog-establishing 2xx responses of an invite transaction), and
hop-by-hop ACKs (in response to negative transaction replies which
require a reliable acknowledgment). The latter are independently emitted
on a hop-by-hop basis, so every proxy in the chain would emit its own
downstream while absorbing the upstream ones.

But in answer to your question, they are still requests, not replies.
Only replies are replies:

   SIP/2.0 xxx Reason String

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Routing of ACK

2019-02-10 Thread Alex Balashov
On Mon, Feb 11, 2019 at 02:28:51PM +1300, David Cunningham wrote:

> Thank you. This is where I easily get mixed up, because an ACK sounds like
> it should be a reply to the 200 OK.

That's understandable. And ACKs are, of course, unusual. But they are
certainly requests in their own right, not replies.

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Routing of ACK

2019-02-10 Thread Alex Balashov
On Mon, Feb 11, 2019 at 02:16:50PM +1300, David Cunningham wrote:

> Thank you. So I was correct other than mixing up the Route and Via headers.
> Some day I'll get them right...

:-) 

The Via headers determine the path traversed by replies to a request.
They do not influence request routing, including that of in-dialog
requests.

So, for example, with an initial INVITE that traverses a chain of proxies
which do _not_ add Record-Route headers, subsequent in-dialog requests
(including the e2e ACK) will go directly to the remote target (Contact).
However, the replies within that INVITE transaction will still traverse
the entire chain on their way back to the recipient, because the INVITE
will arrive at its final destination with a stack of Via droppings added
by every intermediate proxy. But this has no bearing on future requests.

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Routing of ACK

2019-02-10 Thread Alex Balashov
On Mon, Feb 11, 2019 at 02:08:18PM +1300, David Cunningham wrote:

> OK, so the Contact is the address on the envelope, but the postal service
> should actually send it through the chain of Route headers?

Yes, but once the request exits the last proxy, that last proxy should
set the domain part of the request URI (the remote Contact) as its next
hop.

> Our issue is that the device is sending the ACK directly to the Contact
> address, but the Contact address doesn't support TLS, which is why we need
> it to go through the proxy listed in the route set.

Yes, that's wrong. The e2e ACK should follow the route set.

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Routing of ACK

2019-02-10 Thread Alex Balashov
Hello,

An end-to-end ACK should be sent to the Contact in the 200 OK. The
actual network and transport-layer destination will differ due to the
intermediate Record-Route hops.

In RFC parlance, this is known as the "remote target" of the dialog. The
ACK is in substance an in-dialog request, so the routing would be the
same as for a reinvite or a BYE: Record-Route hops are converted to
Route headers and stripped off by intermediate proxies, but the request
URI is set to the remote Contact URI and that is the final hop.

-- Alex

On Mon, Feb 11, 2019 at 01:48:06PM +1300, David Cunningham wrote:

> Hello,
> 
> Could someone please confirm the correct routing of an ACK?
> A device receives the following 200 OK. Should the ACK it sends in response
> be sent to the first Via address? I believe that sending it to the Contact
> address is incorrect? If anyone happens to know the part of the RFC that
> specifies this it would be very helpful.
> Thank you in advance.
> 
> SIP/2.0 200 OK
> Via: SIP/2.0/TLS xx.xx.102.10:5061;rport=51582;branch=z9hG4bK85341894
> Record-Route: 
> Record-Route: 
> From: Test ;tag=Nf5GGRC3g6plN!8si1807E2D3ad0440e
> To: ;tag=as448937d5
> Call-ID: 105176...@xx.xx.102.10
> CSeq: 5295 INVITE
> Server: ES8
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO,
> PUBLISH, MESSAGE
> Supported: replaces, timer
> Contact: 
> Content-Type: application/sdp
> Content-Length: 337
> 
> -- 
> David Cunningham, Voisonics Limited
> http://voisonics.com/
> USA: +1 213 221 1092
> New Zealand: +64 (0)28 2558 3782
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Reflection of non-registered SDP attributes

2019-01-30 Thread Alex Balashov
On Wed, Jan 30, 2019 at 10:23:21PM -0500, Dale R. Worley wrote:

> Perhaps the endpoint simply means "I received CustomAttribute:GID in
> the offer."

Yep, that's the interpretive frame in which I was contemplating the
problem.

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Reflection of non-registered SDP attributes

2019-01-29 Thread Alex Balashov
Hello,

On Tue, Jan 29, 2019 at 11:21:01AM -0500, Paul Kyzivat wrote:

> 5.13 says: "Attributes MUST be registered with IANA", so why do you
> say this isn't illegal?

Upon reflection, you are certainly correct. I suppose the notion of
legality I had in mind was implicitly to do with grammatical validity /
request intelligibility rather than policy.

So, if the attribute is not registered and if the foregoing applies to
unsupported but registered attributes, and is therefore illegal, then,
in the context of one of those acrimonious "how dare you say I'm not
following the standards?" disputes, does this--in any _reasonable_ way,
taking purely political phenomena out of it--open the door to the
receiver/answerer vendor arguing that an endpoint making use of an
unregistered attribute (that is to say, illegally so) is not justified
in expecting predictable or standards-prescribed results in the answer?

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Reflection of non-registered SDP attributes

2019-01-29 Thread Alex Balashov
Hi,

I am using a media relay which implements some internal loop detection
by adding a non-IANA-registered SDP attribute to any offer or answer
that passes through it:

   a=CustomAttribute:GUID

>From what I understood from RFC 4566 § 5.13, this isn't illegal, but
such an attribute must be ignored. 

Now, there is a particular type of endpoint in use in this environment
which takes that attribute from an incoming initial INVITE--which is, by
definition, not locally intelligible--and copies it dumbly into its
2xx/SDP answer.

Commonsensically, this seems like broken behaviour; if it doesn't
understand the attribute, it must be ignored, per § 5.13. Beyond that,
is there any specific proscription against doing this in the standard?

Thanks!

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Question if we reject a re-Invite with 404, we need to send a BYE message to end a call?

2018-12-21 Thread Alex Balashov
BUY message? What is this, Broadsoft? :-)

On Fri, Dec 21, 2018 at 01:29:26PM -0500, Roman Shpount wrote:

> You will need to send the BUY message. 404 response only cancels the
> re-INVITE transaction, not the call. This being said, most SIP
> implementations will hang up the call (send BUY) when they receive 404
> response to a re-INVITE.
> 
> Regards,
> _
> Roman Shpount
> 
> 
> On Fri, Dec 21, 2018 at 12:54 PM Moy Amiga  wrote:
> 
> > Hi.
> >
> > I Have a question.
> > When I have a already established call, and we send a Re-Invite, if this
> > Re-Invite was rejected with 404.
> > To finish the call, we need a BYE message or only with this reject 404  the
> > session is considered canceled?
> >
> > Thank you and best regards
> >
> >
> > --
> > *Moisés Amiga*
> >
> > *Voice Operations*
> > ___
> > Sip-implementors mailing list
> > Sip-implementors@lists.cs.columbia.edu
> > https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
> >
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Appropriate back-off response for overly frequent registrations

2018-11-29 Thread Alex Balashov
On Thu, Nov 29, 2018 at 05:35:19PM -0500, Roman Shpount wrote:

> Some applications do not support keep alive, so it is up to you to
> either not support such devices or handle frequent REGISTER messages
> gracefully.

Our position is to not support such devices.

Now that the philosophical question is out of the way, what's the right
SIP response? ;-)

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Appropriate back-off response for overly frequent registrations

2018-11-29 Thread Alex Balashov
Yep, we agree. So the question is what the safest response would be to
send for the largest number of endpoints, such that they don't mark the
trunk as being out of service/decide that the gateway is permanently
unreachable, and actually re-register as their binding comes up for
renewal.

On Thu, Nov 29, 2018 at 10:48:46PM +0100, Philipp Schöning wrote:

> There is no need to send REGISTER-Requests this often.
> This will generate unnecessary load on the application level.
> 
> If UDP is used for transport, empty UDP packets can be sent to keep the
> NAT-binding alive.
> When TCP is used, the method mentioned in RFC5626, 3.5.1 can be used to
> keep the NAT-binding alive.
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Appropriate back-off response for overly frequent registrations

2018-11-29 Thread Alex Balashov
On Thu, Nov 29, 2018 at 02:42:26PM -0500, Roman Shpount wrote:

> Some devices do this to keep a pinhole in NAT firewall open. Pleases see if
> you can enable keep-alive on your proxy and the device for the same purpose
> (https://tools.ietf.org/html/rfc5626#section-3.5).

Yep, they may. But a few seconds is simply too aggressive.

> We have successfully used 480 with "Retry-After" to reduce the load on the
> proxy after network connectivity disruption, so this should work for your
> purpose, but I would still suggest addressing the root cause. Other option
> is too have proxy to use some sort of in-memory DB to efficiently handle
> frequent registrations for devices that do no support SIP keep alive.

I agree. At this point it's a matter of principle rather than
unmanageable load.

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Appropriate back-off response for overly frequent registrations

2018-11-29 Thread Alex Balashov
Hi,

I have a SIP registrar with a policy-based registration interval floor
of 60 seconds. 

One would expect that this means most devices would register with such
an expiry time, and then refresh the registration a few seconds before
it expires. 

However, there are numerous endpoints out there which refresh the
registration at much higher frequencies, sometimes as low as every few
seconds. That is to say, they request an interval of 60 seconds or more,
but re-register every 2-5 seconds.

I am putting in a mechanism to stop this, as it generates unnecessary
load and is generally poor form. I am not sure, however, what the
appropriate SIP response to these endpoints should be. My best guess is
that '480 Temporarily Unavailable' with a 'Retry-After' header would
make the most sense, but the language in the RFC is ambiguous as to
whether this response is only contemplated in the context of a 'call' as
opposed to a registration flow.

Your insight is as always appreciated!

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] RTP with wrong payload

2018-11-14 Thread Alex Balashov
Correct -- if the party receiving the G.722 packets did not advertise
support for the G.722 payload type in its SDP stanza, it should just
ignore them if they arrive anyway.

On Thu, Nov 15, 2018 at 06:21:14AM +, Sundbaum Per-Johan (Telenor Sverige 
AB) wrote:

> I should have given more details, in the example I gave there was actual a 
> couple of G.722 packets that was marked with payload type G.722 received in a 
> session where G.711A(PCMA/8000) was established as the agreed codec, the 
> receiving PBX did not have support for G.722. 
> As I interpret  RFC 3550 the PBX should drop the G.722 packets and let the 
> session continue, and same applies also in case where G.722 is supported by 
> PBX,  am I wrong ?
> BR/pj
> 
> -Original Message-
> From: sip-implementors-boun...@lists.cs.columbia.edu 
> [mailto:sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of Dale R. 
> Worley
> Sent: den 15 november 2018 05:10
> To: Paul Heitkemper
> Cc: sip-implementors@lists.cs.columbia.edu
> Subject: Re: [Sip-implementors] RTP with wrong payload
> 
> Paul Heitkemper  writes:
> > RFC 3550 Section 5.1
> >
> > " A receiver MUST ignore packets with payload types that it does not 
> > understand."
> 
> Though this rule is based on the payload type code, and not the encoding.  
> The original post says only that the packets contain G.722 data, but if that 
> data is marked with the payload type code that was negotiated for G.711A, the 
> recipient will try to decode it as G.711A.
> Perhaps the recipient can determine that the data is invalid (as G.711A) and 
> discard it, but more likely it will decode it into some sort of noise which 
> it will present to the user.
> 
> Dale
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Sip proxies and REST endpoints

2018-11-01 Thread Alex Balashov
It sounds like Kamailio would do the trick for you, since it has a
number of HTTP clients:

https://kamailio.org/docs/modules/5.1.x/modules/http_client.html
https://kamailio.org/docs/modules/5.1.x/modules/http_async_client.html

And even a nice module for parsing JSON:

https://kamailio.org/docs/modules/5.1.x/modules/jansson.html

-- Alex

On Thu, Nov 01, 2018 at 05:15:31PM +, n...@spearheadcommunications.ca wrote:

> Hi I have a question regarding open source SIP proxies, I want to allow data 
> that sits on a REST endpoint to the SIP headers as they flow through the 
> proxy. Currently a Cisco CME is connected to a SIP trunk. Can we have a CME 
> connect to the proxy, and the proxy to the SIP trunk. The SIP proxy doesn’t 
> need to be production grade, but it does need to be flexible – ideally able 
> to run code to connect to a REST endpoints and pull that into the proxy for 
> inclusion in the SIP headers.
> 
> 
> 
> 
> Which RFP  should l investigate and what are the experiences with running sip 
> proxies to REST endpoints.
> 
> 
> 
> 
> 
> 
>  Thanks, Michael 
> 
> 
> 
> 
> 
> 
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Offer/answer model in early media with forking

2018-07-17 Thread Alex Balashov
On Mon, Jul 16, 2018 at 11:01:30PM -0400, Dale R. Worley wrote:

> > Well, the first branch is disposed of with a 5xx reply. But the UAC
> > cancels nothing, in spite of getting two different early responses
> > from two different dialogs.
> 
> You should have mentioned the 5xx reply in your original message, as
> that's how the first dialog ends.

But the 5xx reply is caught by the proxy, and never propagated to the
caller. The caller just sees a 183 with one To-tag, then a 183 and a 200
OK with a different To-tag. 

> A lot of low-budget UAs handle many situations incorrectly.  Ultimately,
> the answer is to avoid using them, because otherwise you're spending all
> your time adjusting your software to try to figure out what the UA is
> and avoiding its flaws.

That's certainly true enough! :)

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Offer/answer model in early media with forking

2018-07-16 Thread Alex Balashov
Well, the first branch is disposed of with a 5xx reply. But the UAC cancels 
nothing, in spite of getting two different early responses from two different 
dialogs.

Granted, I haven't tried waiting around for 3 minutes or whatever the maximum 
prescribed early/alerting state is. 

On July 16, 2018 6:24:35 PM EDT, Paul Kyzivat  wrote:
>On 7/16/18 2:00 PM, Alex Balashov wrote:
>> It should be noted that the UA with which I am testing (Freeswitch)
>does
>> not CANCEL or otherwise hang up the first dialog.
>
>In this case, since the proxy did the forking, it SHOULD (MUST?) send a
>
>CANCEL. So it will probably be ok.
>
>   Thanks,
>   Paul
>
>> On Mon, Jul 16, 2018 at 01:56:34PM -0400, Alex Balashov wrote:
>> 
>>> Oh, yes — they're different dialogs, for sure. I just wasn't sure if
>>> that would nevertheless pose a problem for some low-budget UAs.
>>>
>>> On Mon, Jul 16, 2018 at 01:47:32PM -0400, Paul Kyzivat wrote:
>>>
>>>> On 7/16/18 1:17 PM, Alex Balashov wrote:
>>>>> Hi,
>>>>>
>>>>> I have a scenario where a call is forked through a proxy to an
>early
>>>>> media announcement server and then subsequently to a SIP provider
>for
>>>>> actual termination.
>>>>>
>>>>> Due to the way the RTP relay works on the server side, this
>results in
>>>>> two different SDP offers from the two respective outgoing branches
>being
>>>>> sent back to the caller:
>>>>>
>>>>> 1. 183+SDP on branch #1.
>>>>>
>>>>> 2. 183+SDP' on branch #2.
>>>>>  200 OK+SDP' on branch #2.
>>>>
>>>> These are both sent back to the UAC?
>>>>
>>>> If so, these should arrive with different to-tags, and so will
>establish
>>>> distinct early dialogs. Those can coexist. Then when the 200
>arrives,
>>>> (regardless of which dialog it comes on), the UAC should send a
>CANCEL on
>>>> the other dialog (to the Contact URI for that dialog. Or it can
>send a BYE.
>>>>
>>>> There is a race condition where you get a 200 on *both* early
>dialogs. In
>>>> that case you have two separate calls to deal with. Then you can
>send a BYE
>>>> on one of them, or manage them both separately, or treat them as a
>>>> conference, or whatever you want.
>>>>
>>>> OTOH, if perchance the two 183 responses have the *same* to-tag,
>then you
>>>> have an error situation.
>>>>
>>>>Thanks,
>>>>Paul
>>>>
>>>>> I am not sure offhand whether this is a protocol semantics
>violation. On
>>>>> the one hand, RFC 3261 § 13.2.1 ("Creating the Initial INVITE")
>says:
>>>>>
>>>>>  If the initial offer is in an INVITE, the answer MUST be in a
>>>>>  reliable non-failure message from UAS back to UAC which is
>>>>>  correlated to that INVITE.  For this specification, that is
>>>>>  only the final 2xx response to that INVITE.  That same exact
>>>>>  answer MAY also be placed in any provisional responses sent
>>>>>  prior to the answer.  The UAC MUST treat the first session
>>>>>  description it receives as the answer, and MUST ignore any
>>>>>  session descriptions in subsequent responses to the initial
>>>>>  INVITE.
>>>>>
>>>>> So, I always understood that the first answer is the final answer,
>>>>> absent a session-updating request cycle. On the other hand, RFC
>3960
>>>>> ("Early Media and Ringing Tone Generation in the Session
>Initiation
>>>>> Protocol (SIP)") Section 4 says:
>>>>>
>>>>>  The application server model consists of having the UAS
>behave as an
>>>>>  application server to establish early media sessions with the
>UAC.
>>>>>  The UAC indicates support for the early-session disposition
>type
>>>>>  (defined in [2]) using the early-session option tag.  This
>way, UASs
>>>>>  know that they can keep offer/answer exchanges for early
>media
>>>>>  (early-session disposition type) separate from regular media
>(session
>>>>>  disposition type).
>>>>>
>>>>> I take this, along with RFC 3959 Section 3, to imply an amendment
>to
>>>>> 3261 § 13.2.1, but I'm not sure. 

Re: [Sip-implementors] Offer/answer model in early media with forking

2018-07-16 Thread Alex Balashov
It should be noted that the UA with which I am testing (Freeswitch) does
not CANCEL or otherwise hang up the first dialog.

On Mon, Jul 16, 2018 at 01:56:34PM -0400, Alex Balashov wrote:

> Oh, yes — they're different dialogs, for sure. I just wasn't sure if
> that would nevertheless pose a problem for some low-budget UAs.
> 
> On Mon, Jul 16, 2018 at 01:47:32PM -0400, Paul Kyzivat wrote:
> 
> > On 7/16/18 1:17 PM, Alex Balashov wrote:
> > > Hi,
> > > 
> > > I have a scenario where a call is forked through a proxy to an early
> > > media announcement server and then subsequently to a SIP provider for
> > > actual termination.
> > > 
> > > Due to the way the RTP relay works on the server side, this results in
> > > two different SDP offers from the two respective outgoing branches being
> > > sent back to the caller:
> > > 
> > > 1. 183+SDP on branch #1.
> > > 
> > > 2. 183+SDP' on branch #2.
> > > 200 OK+SDP' on branch #2.
> > 
> > These are both sent back to the UAC?
> > 
> > If so, these should arrive with different to-tags, and so will establish
> > distinct early dialogs. Those can coexist. Then when the 200 arrives,
> > (regardless of which dialog it comes on), the UAC should send a CANCEL on
> > the other dialog (to the Contact URI for that dialog. Or it can send a BYE.
> > 
> > There is a race condition where you get a 200 on *both* early dialogs. In
> > that case you have two separate calls to deal with. Then you can send a BYE
> > on one of them, or manage them both separately, or treat them as a
> > conference, or whatever you want.
> > 
> > OTOH, if perchance the two 183 responses have the *same* to-tag, then you
> > have an error situation.
> > 
> > Thanks,
> > Paul
> > 
> > > I am not sure offhand whether this is a protocol semantics violation. On
> > > the one hand, RFC 3261 § 13.2.1 ("Creating the Initial INVITE") says:
> > > 
> > > If the initial offer is in an INVITE, the answer MUST be in a
> > > reliable non-failure message from UAS back to UAC which is
> > > correlated to that INVITE.  For this specification, that is
> > > only the final 2xx response to that INVITE.  That same exact
> > > answer MAY also be placed in any provisional responses sent
> > > prior to the answer.  The UAC MUST treat the first session
> > > description it receives as the answer, and MUST ignore any
> > > session descriptions in subsequent responses to the initial
> > > INVITE.
> > > 
> > > So, I always understood that the first answer is the final answer,
> > > absent a session-updating request cycle. On the other hand, RFC 3960
> > > ("Early Media and Ringing Tone Generation in the Session Initiation
> > > Protocol (SIP)") Section 4 says:
> > > 
> > > The application server model consists of having the UAS behave as an
> > > application server to establish early media sessions with the UAC.
> > > The UAC indicates support for the early-session disposition type
> > > (defined in [2]) using the early-session option tag.  This way, UASs
> > > know that they can keep offer/answer exchanges for early media
> > > (early-session disposition type) separate from regular media (session
> > > disposition type).
> > > 
> > > I take this, along with RFC 3959 Section 3, to imply an amendment to
> > > 3261 § 13.2.1, but I'm not sure. Regardless, I'm not convinced all UAs
> > > will handle this situation.
> > > 
> > > Any insight would be appreciated!
> > > 
> > 
> > ___
> > Sip-implementors mailing list
> > Sip-implementors@lists.cs.columbia.edu
> > https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
> 
> -- 
> Alex Balashov | Principal | Evariste Systems LLC
> 
> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Offer/answer model in early media with forking

2018-07-16 Thread Alex Balashov
Oh, yes — they're different dialogs, for sure. I just wasn't sure if
that would nevertheless pose a problem for some low-budget UAs.

On Mon, Jul 16, 2018 at 01:47:32PM -0400, Paul Kyzivat wrote:

> On 7/16/18 1:17 PM, Alex Balashov wrote:
> > Hi,
> > 
> > I have a scenario where a call is forked through a proxy to an early
> > media announcement server and then subsequently to a SIP provider for
> > actual termination.
> > 
> > Due to the way the RTP relay works on the server side, this results in
> > two different SDP offers from the two respective outgoing branches being
> > sent back to the caller:
> > 
> > 1. 183+SDP on branch #1.
> > 
> > 2. 183+SDP' on branch #2.
> > 200 OK+SDP' on branch #2.
> 
> These are both sent back to the UAC?
> 
> If so, these should arrive with different to-tags, and so will establish
> distinct early dialogs. Those can coexist. Then when the 200 arrives,
> (regardless of which dialog it comes on), the UAC should send a CANCEL on
> the other dialog (to the Contact URI for that dialog. Or it can send a BYE.
> 
> There is a race condition where you get a 200 on *both* early dialogs. In
> that case you have two separate calls to deal with. Then you can send a BYE
> on one of them, or manage them both separately, or treat them as a
> conference, or whatever you want.
> 
> OTOH, if perchance the two 183 responses have the *same* to-tag, then you
> have an error situation.
> 
>   Thanks,
>   Paul
> 
> > I am not sure offhand whether this is a protocol semantics violation. On
> > the one hand, RFC 3261 § 13.2.1 ("Creating the Initial INVITE") says:
> > 
> > If the initial offer is in an INVITE, the answer MUST be in a
> > reliable non-failure message from UAS back to UAC which is
> > correlated to that INVITE.  For this specification, that is
> > only the final 2xx response to that INVITE.  That same exact
> > answer MAY also be placed in any provisional responses sent
> > prior to the answer.  The UAC MUST treat the first session
> > description it receives as the answer, and MUST ignore any
> > session descriptions in subsequent responses to the initial
> > INVITE.
> > 
> > So, I always understood that the first answer is the final answer,
> > absent a session-updating request cycle. On the other hand, RFC 3960
> > ("Early Media and Ringing Tone Generation in the Session Initiation
> > Protocol (SIP)") Section 4 says:
> > 
> > The application server model consists of having the UAS behave as an
> > application server to establish early media sessions with the UAC.
> > The UAC indicates support for the early-session disposition type
> > (defined in [2]) using the early-session option tag.  This way, UASs
> > know that they can keep offer/answer exchanges for early media
> > (early-session disposition type) separate from regular media (session
> > disposition type).
> > 
> > I take this, along with RFC 3959 Section 3, to imply an amendment to
> > 3261 § 13.2.1, but I'm not sure. Regardless, I'm not convinced all UAs
> > will handle this situation.
> > 
> > Any insight would be appreciated!
> > 
> 
> ___
> Sip-implementors mailing list
> Sip-implementors@lists.cs.columbia.edu
> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Offer/answer model in early media with forking

2018-07-16 Thread Alex Balashov
Hi,

I have a scenario where a call is forked through a proxy to an early
media announcement server and then subsequently to a SIP provider for
actual termination.

Due to the way the RTP relay works on the server side, this results in
two different SDP offers from the two respective outgoing branches being
sent back to the caller:

1. 183+SDP on branch #1.

2. 183+SDP' on branch #2.
   200 OK+SDP' on branch #2.

I am not sure offhand whether this is a protocol semantics violation. On
the one hand, RFC 3261 § 13.2.1 ("Creating the Initial INVITE") says:

   If the initial offer is in an INVITE, the answer MUST be in a
   reliable non-failure message from UAS back to UAC which is
   correlated to that INVITE.  For this specification, that is
   only the final 2xx response to that INVITE.  That same exact
   answer MAY also be placed in any provisional responses sent
   prior to the answer.  The UAC MUST treat the first session
   description it receives as the answer, and MUST ignore any
   session descriptions in subsequent responses to the initial
   INVITE.

So, I always understood that the first answer is the final answer,
absent a session-updating request cycle. On the other hand, RFC 3960
("Early Media and Ringing Tone Generation in the Session Initiation
Protocol (SIP)") Section 4 says:

   The application server model consists of having the UAS behave as an
   application server to establish early media sessions with the UAC.
   The UAC indicates support for the early-session disposition type
   (defined in [2]) using the early-session option tag.  This way, UASs
   know that they can keep offer/answer exchanges for early media
   (early-session disposition type) separate from regular media (session
   disposition type).

I take this, along with RFC 3959 Section 3, to imply an amendment to
3261 § 13.2.1, but I'm not sure. Regardless, I'm not convinced all UAs
will handle this situation. 

Any insight would be appreciated!

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] SIP 422 and RFC 4028

2018-07-03 Thread Alex Balashov
Yeah, that's true.

It's easily forgot in an applied sense because the mainstream FOSS proxies, 
e.g. Kamailio, both support dialog state tracking and issuing various kinds of 
in-dialog DPD requests (e.g. OPTIONS), and even support spoofing BYEs to hang 
up a dead call if DPD requests go unreplied.

But of course, that's radioactively non-standards-compliant. :-) 

On July 3, 2018 10:20:41 AM EDT, Paul Kyzivat  wrote:
>On 7/3/18 3:53 AM, Alex Balashov wrote:
>> No, it's not illegal to retry a call to the same gateway (in case of
>6xx response).
>> 
>> Nor is it illegal to reject it. :-)
>> 
>> My experience in an applied sense with SSTs (SIP Session Timers) is
>that they are poorly supported, seemingly due to all the state-keeping
>involved. Many UAs commit to a refresher role, for instance, but don't
>actually issue the reinvites to refresh.
>> 
>> Instead, it is a more commonplace to approach to just use
>nullary-change reinvites for signalling-level DPD (dead peer
>detection), without the baggage of SSTs. So for instance, there are a
>lot of carriers out there whose equipment will just send you a reinvite
>every 15 minutes to check if you're alive, quite regardless of any
>SSTs, roles, support for SSTs, etc.
>
>I think people forget that UAs have no need of session timers, since 
>they can do as you say, whenever they wonder about the status of the 
>session.
>
>The real point of session timers is in support of proxies in the 
>signaling path. If they want to keep session state, then they have no 
>way to know when to clear that state if they see no signaling for a
>long 
>time. The session timers give them a way to ask the UAs to help them
>out.
>
>More in another reply.
>
>   Thanks,
>   Paul


-- Alex

--
Sent via mobile, please forgive typos and brevity. 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] SIP 422 and RFC 4028

2018-07-03 Thread Alex Balashov
No, it's not illegal to retry a call to the same gateway (in case of 6xx 
response).

Nor is it illegal to reject it. :-)

My experience in an applied sense with SSTs (SIP Session Timers) is that they 
are poorly supported, seemingly due to all the state-keeping involved. Many UAs 
commit to a refresher role, for instance, but don't actually issue the 
reinvites to refresh.

Instead, it is a more commonplace to approach to just use nullary-change 
reinvites for signalling-level DPD (dead peer detection), without the baggage 
of SSTs. So for instance, there are a lot of carriers out there whose equipment 
will just send you a reinvite every 15 minutes to check if you're alive, quite 
regardless of any SSTs, roles, support for SSTs, etc. 

-- Alex

--
Sent via mobile, please forgive typos and brevity. 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] To tag in 407 challenges

2018-03-25 Thread Alex Balashov
My perplexion is rooted precisely in the fact that no dialog has been 
established upon a negative final reply to the invite transaction. 

On March 25, 2018 6:27:03 PM EDT, Paul Kyzivat <pkyzi...@alum.mit.edu> wrote:
>On 3/25/18 5:26 PM, Alex Balashov wrote:
>> Hi,
>> 
>> Are 407 challenges meant to have a To tag? If so, I can't find the
>> rationale in 3261. Any pointers would be appreciated.
>
>(working from memory)
>
>An argument against to-tag in 407 would presumably apply equally to any
>
>3xx, 4xx, 5xx, or 6xx. One could argue that the to-tag is for 
>establishing a dialog, and if no dialog has been established then it 
>isn't needed.
>
>OTOH, AFAIK the requirement to include a to-tag is across the board.
>
>   Thanks,
>   Paul
>___
>Sip-implementors mailing list
>Sip-implementors@lists.cs.columbia.edu
>https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


-- Alex

--
Sent via mobile, please forgive typos and brevity. 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] To tag in 407 challenges

2018-03-25 Thread Alex Balashov
Hi,

Are 407 challenges meant to have a To tag? If so, I can't find the
rationale in 3261. Any pointers would be appreciated.

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Some TLS questions

2017-11-21 Thread Alex Balashov
On Wed, Nov 22, 2017 at 01:00:47AM -0500, Alex Balashov wrote:

> You say Kamailio supports SNI? How?

I suppose the answer lies in multiple TLS configs for each domain:

https://kamailio.org/docs/modules/5.0.x/modules/tls.html#tls.p.config

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Some TLS questions

2017-11-21 Thread Alex Balashov
On Tue, Nov 21, 2017 at 12:13:14PM +0100, Olle E. Johansson wrote:

> Propably because they don’t trust your CA. You need to install the
> CA cert in the trust store on the systems you run Bria and Blink on
> (and remember to remove it later)

Since I wrote that, I got an authoritative certificate for the host from
Comodo. Its CN happens to correspond to the serving SIP domain &
canonical hostname, so I cannot tell whether the UAs properly deal with
SAN.

Bria and my Polycom VVX 411 validate the certificate. Bria does not,
despite using OpenSSL defaults which include root CA certs/chains for
several Comodo issuers. I suspect that this is an adequate bellwether of
how other UAs will behave: inconsistently.

I have heard it said by some that authoritative certificates from
well-known CAs are not a big thing in the SIP TLS world. The folklore
has it that most large service providers and enterprises run their own
CAs and simply mass-provision their own certificates into devices.

I cannot say if it's true. But if it is true, it would greatly differ
from the practice in the WWW world, it would seem.

I am also unsure as to the status of LetsEncrypt. It seems a handful of
handset vendors might have been persuaded to support it. 

> SAN is an extension so that ONE certificate is valid for multiple names.
> If you have SAN fields, the CN of the cert is ignored.
> 
> SNI is a TLS function where the client says “I’m going to connect to
> alex.domain.com <http://alex.domain.com/>” early in the TLS negotiation so 
> that the server
> can select a valid certificate. The server now has one certificate
> per domain and selects which one to use for the session.
> 
> In summary
>  * SAN = One cert, many names, one server
>  * SNI = One cert per domain, one server

Interesting. For my use-case, SNI might be more appropriate than SAN; 

You say Kamailio supports SNI? How?

> > Interesting; so as a practical matter, it is formally acceptable to send
> > a request with neither sips: scheme nor ;transport=TLS, just happen to
> > send it via TLS? The only indication of transport would then be
> > SIP/2.0/TLS in the Via header, no?

> Right. And hopefully the server will add proper headers (what they are
> without the transport flag) to the record-route and route headers.
> THis is a bug in SIP.

Kamailio adds RRs with ;transport=tls for the appropriate hop.  

> You need to look at SIP outbound so that the client opens the
> connection to the server and the server has the right to use
> the *very same* connection for messages to the client. Without
> outbound, the server is required to open a TLS connection to the
> client and vertify the client’s certificate against the target URI.

I assume it is common practice to turn off verification of the client
certificate? That is what I have done in my Kamailio test environment.

> In summary, one can get SIP over TLS to work if you break some parts
> of the RFCs and rely more on developers than the documentation from
> IETF. 

That has been consistent with my exploration thus far.

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Some TLS questions

2017-11-18 Thread Alex Balashov
Hello Olle,

Thank you for the education! 

By way of further question to the list:

On Sat, Nov 18, 2017 at 12:21:09PM +0100, Olle E. Johansson wrote:

> They are important and indicate that further work is needed here.
> Please also engage the SIPCORE wg in IETF with questions like these.

I am not sure that my ignorance of SIP-TLS basics constitutes a
deficiency in the work of the relevant IETF WG. 

> > 1. Are wildcard certificates (commonName of *.domain.com) permitted for
> > SIP-TLS?
> > 
> > RFC 5922 § 7.2 seems to suggest they are not:
> > [...]
> > Is this true in the wild?

> Not really. I haven’t seen any server that enforces this policy. At
> the time of the writing of this RFC wildcards where highly suspected
> for abuse but I haven’t seen much discussions about this lately.
> Propably because of SNI and SNA (see below).

I am more concerned about clients (e.g. phones, softphones) not
accepting this.

> Server Name Indication is supported in Kamailio and is the way forward
> to solve this problem. But if, as you say, the server only supports
> one certificate then Subject Alt names is the way to go. Look at the
> cert for Google services for an example. This means that you will have
> to change certificate for every new customer, which is a bad thing.

This may be getting a bit applied and away from the focus of this list,
but:

I successfully built (after painstaking research) a self-signed
certificate with openssl last night with a CN of domain.com and SANs of
sip.domain.com and sipgw.domain.com last night. It was signed by a
self-signed (non-authoritative) CA I also made using the usual openssl
folk traditions for that.

Both Bria and Blink refused to validate the certificate, but I cannot
figure out if this is because the CA is non-authoritative or because
they don't recognise the SNA attributes. 

What is the difference between SAN and SNI?

> Neither. It’s deprecated in RFC 3261 and something I’ve tried to get
> interest in reinstating. We need a way to indicate TLS transport.

Interesting; so as a practical matter, it is formally acceptable to send
a request with neither sips: scheme nor ;transport=TLS, just happen to
send it via TLS? The only indication of transport would then be
SIP/2.0/TLS in the Via header, no?

Why does this seem to differ for SIP over standard TCP? As far as I can
see, almost all TCP-speaking UAs send ;transport=tcp. Perhaps I'm wrong.
I guess RFC 3261 § 26.2.2 speaks to that.

> No, any URI scheme can be carried over TLS. Many implementations look
> for the TLS Naptr/SRV first and if existing always use TLS.  SIPS is
> required to use over a protected transport. But it’s impossible to
> implement, so forget about the SIPS: uri.

Thanks, that's an important point of clarity.

In my particular case, I am tinkering with an implementation that
provides TLS + SRTP on the "last mile" but forwards the traffic
unprotected to the SIP termination supply chain, which almost
universally does not generally provide transport or media security, at
least not in the USA. Nevertheless, last-mile encryption is required to
meet some compliance and regulatory requirements. It's absurd.

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Some TLS questions

2017-11-17 Thread Alex Balashov
Hi,

A few questions about TLS. I apologise that they're kind of idiotic, I'm
new to SIP over TLS. I have been a big supporter of LetsDecrypt, a
certificate authority sponsored by the NSA. :-)

1. Are wildcard certificates (commonName of *.domain.com) permitted for
SIP-TLS?

RFC 5922 § 7.2 seems to suggest they are not:

   Implementations MUST NOT match any form of wildcard, such as a
   leading "." or "*." with any other DNS label or sequence of
   labels.  For example, "*.example.com" matches only
   "*.example.com" but not "foo.example.com".  Similarly,
   ".example.com" matches only ".example.com", and does not match
   "foo.example.com".

  RFC 2818 [7] (HTTP over TLS) allows the dNSName component to
  contain a wildcard; e.g., "DNS:*.example.com".  RFC 5280
  [6], while not disallowing this explicitly, leaves the
  interpretation of wildcards to the individual specification.
  RFC 3261 [2] does not provide any guidelines on the presence
  of wildcards in certificates.  Through the rule above, this
  document prohibits such wildcards in certificates for SIP
  domains.

Is this true in the wild? If so, how to deal with a SIP server that
serves multiple domains but supports only one certificate and key pair?

2. Is ';transport=tls' or ';transport=TLS' appropriate? I've seen both,
but which one is correct?

3. Does a 'sips:' URI scheme imply ';transport=tls', or must the latter
be explictly included? In other words, will a 'sips:' URI like
'sips:5551...@domain.com' be constructed to be
'sips:5551...@domain.com;transport=tls'?

4. Is a 'sips:' URI scheme mandatory for secure transport? What are the
implications of a 'sip:' URI with ';transport=tls' affixed?

5. Is it permitted for a proxy to bend a 'sips:' Request URI scheme to
'sip:' when adapting TLS to an insecure transport?

Many thanks!

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Reinvite/ACK race

2017-10-31 Thread Alex Balashov
On Tue, Oct 31, 2017 at 10:38:00PM -0400, Dale R. Worley wrote:

> As others have said, the problem must be solved by the UAs, not the
> proxy.  Indeed, what with possible network delays and re-sending of
> lost packets, there's no way to guarantee end-to-end sequencing of
> messages.  Even with TCP service, there's no guarantee that none of
> the intermediate proxies aren't using multiple TCP connections to
> carry messages between themselves.

That's certainly true. But in this case I do control the entire setup
topology end-to-end, and implicit in my thesis was the desire to assert
control over that over which control can be asserted. :-) 

> You're correct to look to 5407 (which is important enough to be known as
> just "Hasebe") for guidance.  And it does look like section 3.1.4 is the
> relevant case, or very close to it.
> 
>This scenario illustrates the race condition that occurs when a UAS
>in the Moratorium state [having sent 2xx but not received ACK]
>receives a re-INVITE sent by a UAC in the Established state.
> 
> And as the text goes on, sending 2xx is recommended, rather than 491,
> because all of the state changes within the UA associated with the first
> re-INVITE have already been completed.  But a 491 response is also
> permissible.

The reason that I did not think § 3.1.4 was exactly pertinent was due to
this formulation:

   The UAS receives a re-INVITE (with offer2) before receiving an ACK
   for the ini-INVITE (with offer1).  The UAS sends a 200 OK (with
   answer2) to the re-INVITE (F8) because it has sent a 200 OK (with
   answer1) to the ini-INVITE (F3, F5) and the dialog has already been
   established.  (Because F5 is a retransmission of F3, SDP negotiation
   is not performed here.)

The scenario described in the foregoing is for a reinvite occuring after
an *initial* INVITE cycle but arriving before the ACK for that initial
INVITE. 

The scenario I've got going on is a reinvite following another reinvite.

As you suggest, there are few reasons to think that the reasoning should
be different, or at any rate substantially different, for a consecutive
reinvite vs. a reinvite following an initial INVITE. Nevertheless, that
was what motivated the perception that § 3.1.4 may not speak to the fine
letter of the exact scenario in play.

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Reinvite/ACK race

2017-10-31 Thread Alex Balashov
Paul,

I'm not a SIP standards expert by any stretch, but yours is the interpretation 
I tend to favour and which sits best with me.

Since in-dialog requests are originated by the dialog parties, timing issues 
belong with them, not with intermediate proxies IMHO. 

On October 31, 2017 10:50:45 AM EDT, Paul Kyzivat <pkyzi...@alum.mit.edu> wrote:
>On 10/31/17 8:44 AM, Liviu Chircu wrote:
>> Hi Alex,
>> 
>> IMO, building logic into the proxy which encourages/mends the proper 
>> sequencing of UDP messages does nothing more than to hide the
>underlying 
>> problem, i.e. "UDP does not guarantee message sequencing in the first
>
>> place" *. There is also a subtle point to be made here: your proxy's 
>> loosely coupled/parallelized way of handling the two transactions is 
>> effectively breaking the RFC some % of the time, since the proxy's TU
>is 
>> generating a new INVITE while another INVITE transaction is in
>progress 
>> (strictly judging by the network timestamps).
>
>One can argue that the proxy is doing nothing wrong and perhaps being 
>helpful by exposing bugs in handling of reordered UDP messages.
>
>   Thanks,
>   Paul
>
>> * From this angle, the only sane thing left to do is to have the
>proxy 
>> retry the re-INVITE for UASs who are properly responding with 491 and
>
>> propagate any other 4xx/5xx error replies back to the UAC (UA B in
>our 
>> case) in the hope that they retry their re-INVITE.
>> 
>> Best regards,
>> 
>> Liviu Chircu
>> OpenSIPS Developer
>> http://www.opensips-solutions.com
>> 
>> On 30.10.2017 19:11, Alex Balashov wrote:
>>> Hi,
>>>
>>> I've got a scenario like so:
>>>
>>>     UA A -> Proxy P > UA B
>>>
>>> 1. UA A initiates call through Proxy P;
>>>
>>> 2. Dialog is established and confirmed, with Record-Route;
>>>
>>> 3. UA B sends reinvite #1 through P to A;
>>>
>>> 4. UA B sends 2xx reply;
>>>
>>> 5. UA B sends end-to-end ACK for reinvite #1 and almost
>>>     simultaneously sends reinvite #2. The temporal delta is
>>>     between reinvite #2 and ACK for reinvite #1 on the wire
>>>     is 3 ms.
>>>
>>> The issue is that the concurrency characteristics of proxy P are
>such
>>> that its worker threads are very loosely coupled, and there's no
>>> synchronisation among them for message ordering. Transport is UDP,
>>> naturally.
>>>
>>> So, the result — for all kinds of stochastic processing and
>userspace
>>> scheduling type reasons — is that the reinvite is forwarded first,
>>> before the ACK.  That leads to a 500 / 491 scenario UA A.
>>>
>>> Is there any general guidance on what to do with these scenarios? I
>>> looked at RFC 5407 § 3.1.4, which appears to describe a similar, but
>not
>>> identical scenario involving an initial INVITE and subsequent
>reinvite.
>>> As far as I can tell, the recommendation in that standard is "space
>the
>>> messaging out more in time".
>>>
>>> Switching to TCP would presumably help, since any given flow would
>>> involve a single connection to a single worker thread and the
>transport
>>> would guarantee ordering. However, that's not really feasible in
>this
>>> implementation for a host of reasons.
>>>
>>> Any other thoughts welcome!
>>>
>>> Cheers,
>>>
>>> -- Alex
>>>
>> 
>> ___
>> Sip-implementors mailing list
>> Sip-implementors@lists.cs.columbia.edu
>> https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
>
>___
>Sip-implementors mailing list
>Sip-implementors@lists.cs.columbia.edu
>https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


-- Alex

--
Sent via mobile, please forgive typos and brevity. 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Reinvite/ACK race

2017-10-30 Thread Alex Balashov
Piece of errata here (always when I'm typing):

On Mon, Oct 30, 2017 at 01:11:50PM -0400, Alex Balashov wrote:

> Hi,
> 
> I've got a scenario like so:
> 
>UA A -> Proxy P > UA B
> 
> 1. UA A initiates call through Proxy P;
> 
> 2. Dialog is established and confirmed, with Record-Route;
> 
> 3. UA B sends reinvite #1 through P to A;
> 
> 4. UA B sends 2xx reply;

In #4, UA A is definitely sending the 2xx reply.

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Reinvite/ACK race

2017-10-30 Thread Alex Balashov
Hi,

I've got a scenario like so:

   UA A -> Proxy P > UA B

1. UA A initiates call through Proxy P;

2. Dialog is established and confirmed, with Record-Route;

3. UA B sends reinvite #1 through P to A;

4. UA B sends 2xx reply;

5. UA B sends end-to-end ACK for reinvite #1 and almost
   simultaneously sends reinvite #2. The temporal delta is
   between reinvite #2 and ACK for reinvite #1 on the wire
   is 3 ms.

The issue is that the concurrency characteristics of proxy P are such
that its worker threads are very loosely coupled, and there's no
synchronisation among them for message ordering. Transport is UDP,
naturally.

So, the result — for all kinds of stochastic processing and userspace
scheduling type reasons — is that the reinvite is forwarded first,
before the ACK.  That leads to a 500 / 491 scenario UA A.

Is there any general guidance on what to do with these scenarios? I
looked at RFC 5407 § 3.1.4, which appears to describe a similar, but not
identical scenario involving an initial INVITE and subsequent reinvite.
As far as I can tell, the recommendation in that standard is "space the
messaging out more in time". 

Switching to TCP would presumably help, since any given flow would
involve a single connection to a single worker thread and the transport
would guarantee ordering. However, that's not really feasible in this
implementation for a host of reasons.

Any other thoughts welcome!

Cheers,

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] SUBSCRIBE-NOTIFY method for CNAM querying

2017-10-30 Thread Alex Balashov
But to clarify my question:

Regardless of whether it's a rogue standard from an IETF POV, there
clearly is *some* kind of standard out there, as indicated by the number
of (big) vendors who implement it in an agreed-upon way.

So, what I'm trying to figure out is what that standard is and where
it's defined. 

The Neustar documentation contains obvious cut-and-paste from an ABNF
spec:

   calling-name-request = callee CRLF
   [ called CRLF ]
   callee =“Calling-Party” HCOLON addr-spec
   called =“Called-Party” HCOLON addr-spec
   addr-spec =SIP URI / SIPS URI / TEL URI

And it does not seem thematically consistent with the general tenor of
that document to suddenly break out some ABNF on their own accord. So,
this syntax spec comes from *somewhere*, though no citations revealing
its provenance are provided. 

The same kind of thing is true in all other docs on this topic from
other major vendors. None of them reference anything non-generic (e.g.
RFC 3265). 

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] SUBSCRIBE-NOTIFY method for CNAM querying

2017-10-30 Thread Alex Balashov
Hi Paul,

On Mon, Oct 30, 2017 at 11:04:40AM -0400, Paul Kyzivat wrote:

> > As far as I know, SIP redirects are the generally accepted transport
> > for generic data queries (e.g. LRN dips, CNAM) over SIP.
> 
> Can you provide a reference to a specification for how this is done?

My inspiration for this particular statement is RFC 4694. Every
LNP-query-over-SIP implementation I've seen in the wild returns a 3xx
redirect of some description (though exact status code does vary) with a
Contact that looks like this:

   Contact: <sip:orig_ruri_dest;npdi;rn=14045551...@orig.ruri.domain:port>

> > https://www.neustar.biz/resources/cnam/data-services-lidb-user-guide.pdf
> > 
> > See Chapter 7 - IP-CNAM Speification (page 25).
> 
> It looks like Neustar is acting as a quasi-standard for this mechanism.
> 
> [...]
> 
> > Whose proprietary information?
> 
> Based on your own reference, looks like it is Neustar's.

I'm not sure that's true. While Neustar's documentation is more
elaborate than that of most service providers and softswitch vendors who
offer this query mechanism, it is not substantially more authoritative.

In other words, if I had linked to another vendor's documentation and
you never saw Neustar's, you would most likely have concluded that the
other vendor is the de facto pusher of this standard. 

> > Why bother with an encapsulated body, then?
> 
> This isn't my definition so I can only speculate, but there is need
> for *some* syntax for the payload. This is the syntax that was chosen.
> If you already have a SIP parser, then it should be easy to write a
> parser for this too. If *you* were defining the event package then you
> might make a different choice.
> 
> If you are asking why not just use these as SIP headers in the NOTIFY,
> then the answer is that they aren't SIP headers, and you could never
> get them approved as such.

No, but if you're going off script (that is, off spec) anyway, surely
some custom X- headers in the reply would have made life simpler. 

I agree that this is a splitting-hairs objection.

> That is just the way the event mechanism is defined. It is a
> degenerate form of a subscription with a longer expiration, and hence
> follows all the same rules. Defining different rules would have just
> make implementations more difficult.

Most standard subscriptions for ordinary presence-type applications seem
to generate an immediate NOTIFY with a current state. I'm not sure if
this is required by the standard offhand. One could argue that such a
NOTIFY in this scenario represents fulfilment of that very case, I
suppose.

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] SUBSCRIBE-NOTIFY method for CNAM querying

2017-10-29 Thread Alex Balashov
Hello,

I apologise for cross-posting this from VoiceOps, and concede that it is
an applied and operational question as much as it is a formal one.
Nevertheless, any help would be appreciated.

As far as I know, SIP redirects are the generally accepted transport for
generic data queries (e.g. LRN dips, CNAM) over SIP. However, there is
another method, which is used by Metaswitch, Sansay, and possibly some
other softswitch vendors: the SUBSCRIBE-NOTIFY method. 

This is one in which an ephemeral presence subscription (i.e. with an
Expires: value of 0) is created by the querying switch, and the CNAM
gateway returns a NOTIFY some time later containing the CNAM data reply
some time later in its body. The most complete explanation, including
some limited insight into design rationales, is available from Neustar,
who offer this query method:

   https://www.neustar.biz/resources/cnam/data-services-lidb-user-guide.pdf

   See Chapter 7 - IP-CNAM Speification (page 25).

This is a weird and, in my opinion, ill-conceived mechanism[1][2].
Nevertheless, it is widely implemented.

What I can't seem to figure out is where the formal definition of the
standard comes from. It's certainly not an IETF RFC. The Metaswitch CFS
provides a hint:

   MetaSphere CFS and Metaswitch MGC support performing Caller Name Database
   (CNAM) lookups by sending SUBSCRIBE messages to a database server, and
   receiving NOTIFYs containing the caller name.

   The specification of this interface is non-Metaswitch proprietary 
   information. However, example message flows are shown in A.4.16.

Whose proprietary information? 

I found this Verizon patent:

   https://www.google.com/patents/US20080240383

But it appears to be concerned with an adaptation layer of this to the
ISCP side, though I only skimmed it. And if this is the patent in
question, why don't any footnotes in vendor docs refer to it? The
footnotes cite the SIP event pub-sub framework (RFC 3265) and little
else. 

What the heck is it? And why did it get to be preferred over redirects
for some vendors, especially given that it invokes — but ultimately
foregoes — most of the bureaucracy of the event subscription mechanism,
in a way that's seemingly contradictory.

-- Alex
 
[1] For one, it uses attributes in the encapsulated payload which look like 
headers, but aren't headers:

   Calling-Name-Status: available
   Calling-Name: “Joe Smith” <sip:9726840...@cnam-subscriber.com;user=phone>
   Presentation-Indicator: allowed

Why bother with an encapsulated body, then? 

[2] More objectively, a SUBSCRIBE creates a dialog. But if the lifetime
of the subscription is zero (expires immediately), presumably the dialog
it creates also ends immediately. Why, then, does the NOTIFY have to be
structured as an in-dialog NOTIFY (i.e. same From/To tags as the
SUBSCRIBE)?

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] No ACK for 200 OK

2017-08-07 Thread Alex Balashov
Hello,

On Mon, Aug 07, 2017 at 04:52:23PM -0700, NK wrote:

> 1) Is that really mandatory to send ACK for 200 OK to start the call?
> Because once my switch sent the 200 OK then logically the billing is
> started from my end, doesn't matter whether I received ACK or not?

Without an end-to-end ACK from the caller, it will be terminated after
64*T1 seconds by the callee (as a practical matter, 32 seconds in most
implementations). 

So, yes, sending the end-to-end ACK to fully confirm the session is
mandatory.

> 2) Even though if my understanding is not correct on point 1, but then
> client UA replied to BYE message immediately then how my switch will
> treat this, is that treat this as a connected call with duration?

How this should be treated from a billing perspective is a matter of
some philosophical debate. The call is answered with the 2xx reply, and
two-way media flows are possible henceforth, so my inclination is to say
that yes, this is a connected call with billable duration.

> 3) Do we have any document, I did research but cannot find any clear
> document who can state this along with 5407 etc.

Not sure what you are referring to here, but RFC 3261 § 13.2.2.4 is
quite clear on this subject:

   The UAC core MUST generate an ACK request for each 2xx received from
   the transaction layer. 

-- Alex

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) 
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Semantics of parameters in URI username

2016-11-04 Thread Alex Balashov

Brett,

Thank you for your answer, but it is still rather clear—likely to my 
feeble intellect—how to apply this to my question about use of Diversion 
to pass state.


On 11/04/2016 07:04 AM, Brett Tate wrote:


As far as I can tell from the RFC 3261 ABNF, it is
permitted to put SEMI and EQUAL in the username of
a URI, but it has no semantic validity.


The user-parameter can help.  However, be aware that some vendors add
"user=phone" when user portion is absent or otherwise cannot be decoded as
telephone-subscriber.

RFC 3261 section 19.1.1:

"If the user string contains a
telephone number formatted as a telephone-subscriber, the user
parameter value "phone" SHOULD be present.  Even without this
parameter, recipients of SIP and SIPS URIs MAY interpret the
pre-@ part as a telephone number if local restrictions on the
name space for user name allow it."

Concerning your RFC 4694 example, see RFC 3261 section 19.1.6 concerning
how to convert a tel URL into SIP URI.


So, how does that work? Is the voodoo that gives
username-embedded parameters meaning embedded
somehow in the complex rules governing the conversion
of 'tel:' scheme URIs to 'sip:'? Or am I mistaken in
my assumption that parameters cannot be embedded in
the user part of a URI to begin with?


The "user=phone" can be added to avoid the ambiguity.




--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Semantics of parameters in URI username

2016-11-03 Thread Alex Balashov

Hi,

As far as I can tell from the RFC 3261 ABNF, it is permitted to put SEMI 
and EQUAL in the username of a URI, but it has no semantic validity. 
That is to say, this is permitted:


   

Re: [Sip-implementors] Arbitrary Via parameters

2016-09-30 Thread Alex Balashov

On 09/30/2016 03:52 PM, Roman Shpount wrote:


As far as Via is concerned, the better and standard compliant
practice is to encode any application specific data in VIA tag
parameter using some sort of proprietary encryption scheme. It is
guaranteed that Via tag will be returned to the proxy unmodified.


That might conflict with the requirement that the branch parameter be a 
GUID.


It's less important for transaction-identifying GUIDs than for something 
like Call-ID, but still.


--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Arbitrary Via parameters

2016-09-30 Thread Alex Balashov
Right on. Well, I don't need the UAS to understand or do anything with 
the proxy's proprietary parameter. I just need it to behave as it 
normally would, returning the Via header in responses as-is, together 
with any proprietary parameters.


What it's doing instead is sending replies to the proxy without the 
proxy's Via at all. This leads the proxy to choke on the response and 
retransmit ad 64*T1num.


--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Arbitrary Via parameters

2016-09-30 Thread Alex Balashov
Aah. That makes sense. 

On September 30, 2016 2:34:29 PM EDT, Roman Shpount <ro...@telurix.com> wrote:
>On Fri, Sep 30, 2016 at 2:28 PM, Alex Balashov
><abalas...@evaristesys.com>
>wrote:
>
>> Yeah, but as I understand it, the spec is more explicit on arbitrary
>> parameters in the Route set than in Via.
>>
>> Route is where I'd expect the state to go in this case, too—it's
>where all
>> other state goes. But the implementors went with custom Via
>parameters
>> instead.
>
>
>The issue is that responses to SIP request (especially error responses
>to
>the dialog creating INVITE) do not always contain Route or Record-Route
>headers. The only way to store application specific data which is
>needed to
>forward such SIP responses is in the Via generic parameter.
>
>Regards,
>_
>Roman Shpount


-- Alex

--
Principal, Evariste Systems LLC (www.evaristesys.com)

Sent from my Google Nexus.

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


Re: [Sip-implementors] Arbitrary Via parameters

2016-09-30 Thread Alex Balashov

On 09/30/2016 02:03 PM, Paul Kyzivat wrote:


OTOH, if you are *receiving* a SIP message and encounter via
parameters that you don't understand, because they aren't defined in
the specs you claim to support, then you are expected to ignore them.
When forwarding a message that you received, you are expected to pass
those parameters along even though you didn't understand them.


Thanks, that's what I was looking for. And that's what this UA is not doing.

--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Arbitrary Via parameters

2016-09-30 Thread Alex Balashov
Yeah, but as I understand it, the spec is more explicit on arbitrary 
parameters in the Route set than in Via.


Route is where I'd expect the state to go in this case, too—it's where 
all other state goes. But the implementors went with custom Via 
parameters instead.


--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Arbitrary Via parameters

2016-09-30 Thread Alex Balashov
PS. 'rport' would seem to provide strong evidence for the idea that 
arbitrary parameters are supported.


But 'rport' is defined in RFC 3581. My question is specifically about 
arbitrary parameters that aren't defined anywhere. Are implementations 
required to ignore and conserve them?


--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Arbitrary Via parameters

2016-09-30 Thread Alex Balashov

Hi,

I have a proxy implementation that adds a custom parameter to Via that 
is not within the commonly seen subset of "maddr", "ttl", "received", or 
"branch". It adds a parameter called "i", whose value is alphanumeric 
(think hex nibbles).


I can't find any prose in RFC 3261 to explicitly support the idea that 
arbitrary parameters are acceptable, but the ABNF appears to allow for it:


Via   =  ( "Via" / "v" ) HCOLON via-parm *(COMMA via-parm)
via-parm  =  sent-protocol LWS sent-by *( SEMI via-params )
via-params=  via-ttl / via-maddr
 / via-received / via-branch
 / via-extension
via-ttl   =  "ttl" EQUAL ttl
via-maddr =  "maddr" EQUAL host
via-received  =  "received" EQUAL (IPv4address / IPv6address)
via-branch=  "branch" EQUAL token
via-extension =  generic-param

generic-param  =  token [ EQUAL gen-value ]
gen-value  =  token / host / quoted-string

Moreover, RFC 3261 § 20.42 does say:

   A Via header field value can also contain parameters such
   as "maddr", "ttl", "received", and "branch", whose meaning
   and use are described in other sections.

In my reading of this, the turn of phrase "such as" is chosen very 
deliberately. But I could be wrong.


So, the question is, would something like 'i=d3adb33f' be acceptable for 
a proxy to stamp on its own Via header? It sounds like it should be. 
Yet, I'm dealing with a UAS that doesn't like it—more specifically, it 
fails to parse the Via if it contains an alphanumeric value, although it 
copes fine with a strictly numeric one. The result is that responses 
from the UAS don't contain the proxy's Via header, leading it to barf on 
processing them.


Thanks!

-- Alex

--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Use of "lr" param with a value?

2016-02-12 Thread Alex Balashov
‎Robert,

Thank you very much for the insights!

Based on what you and others have said, it stands to reason that there is no 
justification for sending ;lr=val in 2016.

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

Sent from my BlackBerry.

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


Re: [Sip-implementors] Sequential requests that bypass RR proxy

2016-02-10 Thread Alex Balashov

Ankur,

On 02/10/2016 02:01 AM, ankur bansal wrote:


UA will accept it if dialog params matches and its an in dialog request
.Both UA have their own view of dialog information which should be same
ideally but its not checked if request received is from same UAS/proxy
(as per route set stored in dialog ).


Well, it's precisely about this gap between ideal and actual 
implementations that I sought standards-based clarification.



Also tell me one thing when BYE received at UE A ,does it have Route
header in it ?


It does indeed. And given that this is the case, it is all the more 
peculiar that the UA processes the BYE normally.


-- Alex

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Sequential requests that bypass RR proxy

2016-02-10 Thread Alex Balashov
‎Thanks, Paul. FWIW, B is strictly a UA, not a part-time proxy.

The implementors of A have traced the problem to P's attachment of a value to 
the ;lr parameter in the RR:

Record-Route: <sip:xxx.xxx.xxx.xxx:5060;lr=on>

They say that's the cause of the breakage.

This view is certainly supported by RFC 3261; its grammar clearly states that 
this is a value-less parameter.

However--and I'm sure this has been beaten to death over the years--there are 
some broken UAs out there that actually _do_ expect an lr= value, to such an 
extent that Kamailio/OpenSIPS (P is Kamailio in this case) provide a 
configuration directive to enable the assignment of an lr parameter value in 
inserted RR headers:

‎http://kamailio.org/docs/modules/4.3.x/modules/rr.html#idm20528

Our implementation of P had this enabled.

Seems one can't win. There's got to be a reason this option came about. 
However, it's been around for a long time, and may date back to the mid 2000s...

Any empirical knowledge of whether there remain UAs out there nowadays that 
don't properly support bareword 'lr'?
‎
--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

Sent from my BlackBerry.

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


Re: [Sip-implementors] Use of "lr" param with a value?

2016-02-10 Thread Alex Balashov
‎Fair enough. But it seems a bit schizophrenic of this particular 
implementation to apply the 'lr" grammar strictly, but then consume the route 
set anyway (as indicated by improper inclusion of Route headers from B in the 
BYE), albeit not actually follow it properly.

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

Sent from my BlackBerry.

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


Re: [Sip-implementors] Use of "lr" param with a value?

2016-02-10 Thread Alex Balashov
‎From a methodological point of view, I am curious:

If the 'lr' parameter has a value assignment, is UA B truly justified in 
ignoring the route set categorically?

Or is that one of those things where behaviour for improperly formed tokens is 
undefined?

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

Sent from my BlackBerry.

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


Re: [Sip-implementors] Use of "lr" param with a value?

2016-02-10 Thread Alex Balashov

On 02/10/2016 02:21 PM, Paul Kyzivat wrote:


Charitably, it may have been an attempt to apply Postel's Maxim, but
maybe in an inconsistent way at two different points in the code.


It seems to me to be a very wanting attempt to apply the Maxim, but this 
is where my experience with the methodological guidance side of the 
standards world falls short.


So, perhaps it's a bit pedestrian a point of view, but, as I see it:

- If one is to be strict in what one accepts, one must be consistently 
so, not selectively.


- If critical validation on RR URI parameters is performed and a 
parameter is found to be invalid, the response should be explicit, e.g. 
a rejection with of 400 Bad Request.


UA B did not do this.

- But if validation is implicit, an RR header perceived to be malformed 
should be silently discarded, not consumed and integrated into the route 
set for the dialog.


UA B sent the Route header (constructed from the RR) in its BYE to the 
calling party. If the RR header was malformed, why was it ingested and 
utilised?


All this to say: if the stack is to be strict, be explicitly restrict, 
but if not, then be consistently strict in every aspect of the same 
fundamental issue, not merely some aspects, and if one is not going to 
do be consistently strict, then do not behave in deleterious or 
unwholesome ways.


-- Alex

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] Sequential requests that bypass RR proxy

2016-02-09 Thread Alex Balashov
And yes, I realise that from the vantage point of the BYE request, B is 
the UAC and A is the UAS. That was a poor choice of labelling on my part.


On 02/09/2016 08:58 PM, Alex Balashov wrote:


Hi,

1. I set up a call between two UAs through a proxy:

UAC A > Proxy P1 -> UAS B

2. P1 inserts a Record-Route header indicating that sequential requests
should be directed through it.

3. UAS B does not follow Record-Route properly and, upon hanging up,
sends a BYE directly to UAC A's Contact URI (remote target), not to P1.

Interestingly enough, this BYE includes the Route set constructed from
the intervening Record-Route headers, but the BYE is sent to UAC A's
Contact directly on the network and transport layer.

4. Clearly, UAS B behaving improperly, but in all known cases, over a
variety of UA implementations, UAC A accepts this BYE and the endpoints
end the dialog properly -- all unbeknownst to P1.

My reading of RFC 3261 doesn't give me clarity as to whether it is
proper for a UA to accept a sequential request that otherwise matches a
known dialog but which does not originate from an intermediate proxy
known by the UA to be in the route set for the dialog.

Assuming no properties of firewall or network preclude doing an end-run
around the proxy, is this legal?

Thanks!

-- Alex




--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Sequential requests that bypass RR proxy

2016-02-09 Thread Alex Balashov

Hi,

1. I set up a call between two UAs through a proxy:

   UAC A > Proxy P1 -> UAS B

2. P1 inserts a Record-Route header indicating that sequential requests 
should be directed through it.


3. UAS B does not follow Record-Route properly and, upon hanging up, 
sends a BYE directly to UAC A's Contact URI (remote target), not to P1.


Interestingly enough, this BYE includes the Route set constructed from 
the intervening Record-Route headers, but the BYE is sent to UAC A's 
Contact directly on the network and transport layer.


4. Clearly, UAS B behaving improperly, but in all known cases, over a 
variety of UA implementations, UAC A accepts this BYE and the endpoints 
end the dialog properly -- all unbeknownst to P1.


My reading of RFC 3261 doesn't give me clarity as to whether it is 
proper for a UA to accept a sequential request that otherwise matches a 
known dialog but which does not originate from an intermediate proxy 
known by the UA to be in the route set for the dialog.


Assuming no properties of firewall or network preclude doing an end-run 
around the proxy, is this legal?


Thanks!

-- Alex

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] sip trunking question

2015-07-27 Thread Alex Balashov

On 07/22/2015 04:23 PM, Paul Heitkemper wrote:


I hope this is apropos for this listserv. Is there a good source somewhere
which describes (with examples) the messaging inherent in making a trunk?
What does it mean to be a trunk?


SIP trunking is, to borrow a phrase from Patai  Koertge, an 
accordion concept: when it's expanded and contracted, much marketing 
music comes out.


Trunking is not an especially intelligible concept outside the 
circuit-switched world. About the only common--but by no means essential 
or universal!--features of a SIP trunk are:


- Policy permits passing calling and called party identity freely.

- Designed as an inter-machine peering arrangement, i.e. based on IP 
trust between industrial network elements that don't necessarily support 
digest challenge authentication.


- Typically end-to-end, without NAT interceding.

That said, there are plenty of retail SIP trunking providers for whose 
offerings none of these things are true.


Bottom line: it's little more than a marketing concept designed to make 
SIP access products understandable to traditional telephony folks, 
having no basis whatsoever in SIP semantics. It's rather akin to how 
mid-2000s WiMax providers used to market wireless DSL.


-- Alex

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] URI value mandatory for Alert-Info?

2015-05-11 Thread Alex Balashov

Hello,

The ABNF grammar for Alert-Info is:

   Alert-Info   =  Alert-Info HCOLON alert-param *(COMMA alert-param)
   alert-param  =  LAQUOT absoluteURI RAQUOT *( SEMI generic-param )

I have an application that seems to utilise just a generic-param without 
a URI. However, I don't see any */? quantifiers for absoluteURI which 
suggest that it's optional:


   absoluteURI=  scheme : ( hier-part / opaque-part )

Maybe it's a failure on my part to properly understand ABNF, however.

My fundamental question is: is there any grammatically acceptable way to 
have an Alert-Info header value consisting of no URI and just a 
generic-param, e.g.


   Alert-Info: ;internal=xyz
   Alert-Info: ;internal=xyz

Thanks!

-- Alex

--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States

Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


[Sip-implementors] Unregistering contact bindings

2015-02-28 Thread Alex Balashov

Hello,

When a UAC requests to expire a contact binding from a registrar 
immediately, I have seen both of these formulations:


   REGISTER sip:domain SIP/2.0
   ...
   To: sip:aor
   ...
   Contact: sip:user@nlri;expires=0

and:

   REGISTER sip:domain SIP/2.0
   ...
   To: sip:aor
   ...
   Contact: sip:user@nlri
   Expires: 0

Which is correct? Are they both admissible?

Thanks,

--
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States

Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] [SOLVED] Unregistering contact bindings

2015-02-28 Thread Alex Balashov

Never mind, I should RTFM and Google:

http://www.ietf.org/mail-archive/web/sip/current/msg26521.html

Thanks,

-- Alex

On 02/28/2015 01:29 PM, Alex Balashov wrote:


Hello,

When a UAC requests to expire a contact binding from a registrar
immediately, I have seen both of these formulations:

REGISTER sip:domain SIP/2.0
...
To: sip:aor
...
Contact: sip:user@nlri;expires=0

and:

REGISTER sip:domain SIP/2.0
...
To: sip:aor
...
Contact: sip:user@nlri
Expires: 0

Which is correct? Are they both admissible?

Thanks,




--
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States

Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] REGISTER method is dialog oriented?

2014-06-24 Thread Alex Balashov

No, REGISTER flows do not create dialogs.

On 06/03/2014 02:49 AM, Manu Gowdru wrote:


Hi All,

As we know a dialog is a peer-to-peer SIP relationship between two UAs that
persists for some time.


1.Dialog is identified with combination of TO,FROM tag and call-id,
REGISTER method also contains TO,FROM tag and call-id so can we consider it
as a dialog ID for REGISTER method?
2.Is REGISTER method is a dialog oriented?




--
Alex Balashov - Principal
Evariste Systems LLC
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/

Please be kind to the English language:

http://www.entrepreneur.com/article/232906
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


Re: [Sip-implementors] REGISTER message without Contact Header and Expires 0

2013-05-08 Thread Alex Balashov
On 05/08/2013 10:21 AM, brezden wrote:
 On 08/05/13 15:13, Keerthi Srinivasan wrote:
 Registrar receives the REGISTER request with no contact header and
 expires header with 0. what registrar has to do? it has to fetch all
 the binding for the AOR or deregister binding? can any help me?

   From RFC3261, Section 10.2 Constructing the REGISTER Request

   The following header fields, except Contact, MUST be included in a
   REGISTER request.  A Contact header field MAY be included...

I think the OP was asking what the implications of a Contact-less 
REGISTER request actually are.  Does it have a no-op effect?

-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] REGISTER message without Contact Header and Expires 0

2013-05-08 Thread Alex Balashov
On 05/08/2013 10:23 AM, Uttam Sarkar (usarkar) wrote:

 It's a deregister request. So you need to remove all the bindings for
 that AoR.

That's what I thought.  Thanks Uttam!

-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] plz solve my problem

2013-03-20 Thread Alex Balashov
Ah, satya r, the gift that keeps on giving.

You formulate your questions in a manner that suggests that you yourself 
do not care about the answer, nor are encountering a problem to which 
the answers to those questions represent a practical solution.

This is SIP-Implementors, not SIP-Homework-Help.

-- Alex

On 03/14/2013 01:04 AM, satya r wrote:

 plz give me a scenario of
   1.call transfer
2. call forward
3.call park
its very urgent for me plz solve it

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



-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
United States
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


[Sip-implementors] npdi parameter in sip: scheme URIs

2012-04-11 Thread Alex Balashov
Between RFC 3398 and 4694, I am unclear on whether the 'npdi' parameter 
can only appear in the user part of a sip: RURI:

 sip:5551212;rn=...;npdi@domain:5060

or whether it can also appear in the domain part:

 sip:5551212@domain:5060;rn=...;npdi

All I can find are references to the idea that these parameters appear 
within the Request URI.  Are both cases valid?

Thanks,

-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] npdi parameter in sip: scheme URIs

2012-04-11 Thread Alex Balashov
On 04/11/2012 11:18 AM, Paul Kyzivat wrote:

 npdi is defined as a tel uri parameter, not as a sip uri parameter. It
 makes its way into a sip uri based on the embedding of the body of a tel
 uri into a sip uri. This results in the parameter appearing in the user
 part of the sip uri, as in your first example.

That was very much my belief as well -- thanks for confirming it.

Just saw an INVITE from a Sansay with a ;npdi in the domain, and did a 
double-take, but was unable to parse through the supporting references.

-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] npdi parameter in sip: scheme URIs

2012-04-11 Thread Alex Balashov
Hmm.  I wonder if this has to do with whether one is using npdi in a tel 
URI mapping or a SIP-ISUP mapping context.

On 04/11/2012 11:49 AM, Alok 2 Tiwari wrote:

 Hi Alex,

 npdi is a  parameter in Request URI.  So it neither can appear in the user 
 part nor in the domain part.
 It will appear as a uri-parameter as per following grammar.



 Request-Line=   Method   SP   Request-URI   SP   SIP-Version   CRLF
 Request-URI =   SIP-URI   /   SIPS-URI   /   absoluteURI

 SIP-URI =   sip:
 [ userinfo ]   hostport   uri-parameters   [ headers ]
 SIPS-URI=   sips:
 [ userinfo ]   hostport   uri-parameters   [ headers ]

 uri-parameters  =   *( ;   uri-parameter )
 uri-parameter   =transport-param   /   user-param   /   
 method-param
 /   ttl-param   /   maddr-param   /   lr-param
 /   compression-param   /   target-param   /   cause-param
 /   orig /   gr-param
 /   other-param


 as per above grammar, following is valid example.

 sip:5551212@domain:5060;rn=...;npdi


 Regards,
 Alok Tiwari
 Aricent
 
 From: sip-implementors-boun...@lists.cs.columbia.edu 
 [sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of Alex Balashov 
 [abalas...@evaristesys.com]
 Sent: Wednesday, April 11, 2012 8:07 PM
 To: sip-implementors@lists.cs.columbia.edu
 Subject: [Sip-implementors] npdi parameter in sip: scheme URIs

 Between RFC 3398 and 4694, I am unclear on whether the 'npdi' parameter
 can only appear in the user part of a sip: RURI:

   sip:5551212;rn=...;npdi@domain:5060

 or whether it can also appear in the domain part:

   sip:5551212@domain:5060;rn=...;npdi

 All I can find are references to the idea that these parameters appear
 within the Request URI.  Are both cases valid?

 Thanks,

 --
 Alex Balashov - Principal
 Evariste Systems LLC
 235 E Ponce de Leon Ave
 Suite 106
 Decatur, GA 30030
 Tel: +1-678-954-0670
 Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors




 ===
 Please refer to http://www.aricent.com/legal/email_disclaimer.html
 for important disclosures regarding this electronic communication.
 ===


-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Route-Record

2011-12-20 Thread Alex Balashov
Is your concern about the two RR headers, or the double lr parameter? 

--
This message was painstakingly thumbed out on my mobile, so apologies for 
brevity, errors, and general sloppiness.

Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Dec 21, 2011, at 1:03 AM, William Scott will...@magicwilly.info wrote:

 Hi,
 
 I have a ATA that produces...
 
 Record-Route: sip:202.85.243.105;lr;lr
 Record-Route: sip:202.85.243.105:5070;lr;lr
 
 in the 200 OK reply to an INVITE.
 
 
 Good, bad or doesn't matter?
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

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


Re: [Sip-implementors] Is it valid/legal to IPv4 control channel and IPv6 data channel?

2011-11-22 Thread Alex Balashov
Curious, why not? In principle, if the endpoints support IPv6 for media, why 
can't that be described in an SDP body transmitted over IPv4? 

Is it not the very purpose of the separation of the signaling and bearer plane 
to be able to enact this kind of functional decomposition between signaling 
agents and media gateways?

--
This message was painstakingly thumbed out on my mobile, so apologies for 
brevity, errors, and general sloppiness.

Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Nov 22, 2011, at 4:25 AM, Brez Borland brez...@gmail.com wrote:

 Hi Michael,
 
 SIP is signalling, and SDP describes the media session. These are two
 separate channels. I can't see SIP being done through IPv4 and media
 session over IPv6 to be a problem. This is theory. But can anybody comment
 from their experience?
 
 
 Regards,
 
 Brez
 
 
 On Mon, Nov 21, 2011 at 5:06 PM, Michael Lui (milui) mi...@cisco.comwrote:
 
 Hi experts,
 
 
 
 Is it valid/legal to IPv4 control channel and IPv6 data channel?
 
 For example, the INVITE exchange is in IPv4 but the IP addresses
 specified in SDP is IPv6.
 
 
 
 I don't think this is common but If allow, what is the practical
 scenario?
 
 
 
 Thanks,
 
 Michael
 
 
 
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
 
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

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


Re: [Sip-implementors] Is it valid/legal to IPv4 control channel and IPv6 data channel?

2011-11-22 Thread Alex Balashov
I'm sorry; I think my response took the wrong tone.  It was meant to be 
rhetorical, and principally in response to the initial query.  I apologise for 
the misunderstanding.

--
This message was painstakingly thumbed out on my mobile, so apologies for 
brevity, errors, and general sloppiness.

Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Nov 22, 2011, at 5:27 AM, Brez Borland brez...@gmail.com wrote:

 Hi Alex,
 
 But that's what I said, these are two separate channels and can be done over 
 IPv4 and IPv6.
 
 
 Regards,
 
 Brez
 
 On Tue, Nov 22, 2011 at 9:47 AM, Alex Balashov abalas...@evaristesys.com 
 wrote:
 Curious, why not? In principle, if the endpoints support IPv6 for media, why 
 can't that be described in an SDP body transmitted over IPv4?
 
 Is it not the very purpose of the separation of the signaling and bearer 
 plane to be able to enact this kind of functional decomposition between 
 signaling agents and media gateways?
 
 --
 This message was painstakingly thumbed out on my mobile, so apologies for 
 brevity, errors, and general sloppiness.
 
 Alex Balashov - Principal
 Evariste Systems LLC
 260 Peachtree Street NW
 Suite 2200
 Atlanta, GA 30303
 Tel: +1-678-954-0670
 Fax: +1-404-961-1892
 Web: http://www.evaristesys.com/
 
 On Nov 22, 2011, at 4:25 AM, Brez Borland brez...@gmail.com wrote:
 
  Hi Michael,
 
  SIP is signalling, and SDP describes the media session. These are two
  separate channels. I can't see SIP being done through IPv4 and media
  session over IPv6 to be a problem. This is theory. But can anybody comment
  from their experience?
 
 
  Regards,
 
  Brez
 
 
  On Mon, Nov 21, 2011 at 5:06 PM, Michael Lui (milui) mi...@cisco.comwrote:
 
  Hi experts,
 
 
 
  Is it valid/legal to IPv4 control channel and IPv6 data channel?
 
  For example, the INVITE exchange is in IPv4 but the IP addresses
  specified in SDP is IPv6.
 
 
 
  I don't think this is common but If allow, what is the practical
  scenario?
 
 
 
  Thanks,
 
  Michael
 
 
 
  ___
  Sip-implementors mailing list
  Sip-implementors@lists.cs.columbia.edu
  https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
 
  ___
  Sip-implementors mailing list
  Sip-implementors@lists.cs.columbia.edu
  https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
 
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] B2BUA

2011-07-28 Thread Alex Balashov
On 07/28/2011 05:14 AM, Couret Tabt wrote:

 If we want to avoid those retransmissions of 200 OK, then
 what should we do?

Reduce end-to-end latency?

-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] How may SIP systems adopt 'B2BUA' ?

2011-07-28 Thread Alex Balashov
The term SIP system is ambiguous to the point of meaninglessness? 
There are many types of SIP endpoints and network elements.

-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


[Sip-implementors] 100rel without direct reachability

2011-06-18 Thread Alex Balashov
Greetings,

I have a scenario where endpoint A is calling endpoint B through proxy 
P.  Endpoints A and B are on different networks that are not directly 
reachable--A is on the public Internet, to which proxy P is connected, 
but NAT'd, and B is on a private RFC1918 network on which the proxy P 
has an interface as well.

The purpose of proxy P is to make calling A - B possible, while 
providing the appropriate far-end NAT traversal functionality for A 
and so on and so on.  It does this by inserting the correct 
Record-Route headers into the INVITE from A, and otherwise by staying 
in the signaling path;  both A and B can reach the proxy, so all 
requests and replies go through it.

The problem I'm having is prior to full dialog establishment.  Upon 
receipt of INVITE from A by way of proxy P, B replies with 183 + SDP 
and also:

Require: 100rel

In the 183 it provides a Contact on its private network that A 
obviously cannot reach:

Contact: sip:x@192.168.0.10:5060

As a result, A attempts to send PRACKs to sip:x@192.168.0.10, 
which are obviously not going to go anywhere.  After not receiving a 
few of these expected PRACKs, B replies to the call with a final 
negative failure.

The question is, is there anything I can twiddle on the proxy to make 
this work?  The problem with PRACKs is that although they are 
sequential requests, they arise (in this case) prior to the point at 
which RR can be used to guide them through the proxy.

The most obvious answer is, Make B not Require: 100rel, of course. 
However, that is not an option here.

Thanks!

-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] 100rel without direct reachability

2011-06-18 Thread Alex Balashov
On 06/18/2011 05:03 PM, Alex Balashov wrote:
 Greetings,

 I have a scenario where endpoint A is calling endpoint B through proxy
 P.  Endpoints A and B are on different networks that are not directly
 reachable--A is on the public Internet, to which proxy P is connected,
 but NAT'd, and B is on a private RFC1918 network on which the proxy P
 has an interface as well.

 The purpose of proxy P is to make calling A-  B possible, while
 providing the appropriate far-end NAT traversal functionality for A
 and so on and so on.  It does this by inserting the correct
 Record-Route headers into the INVITE from A, and otherwise by staying
 in the signaling path;  both A and B can reach the proxy, so all
 requests and replies go through it.

 The problem I'm having is prior to full dialog establishment.  Upon
 receipt of INVITE from A by way of proxy P, B replies with 183 + SDP
 and also:

  Require: 100rel

 In the 183 it provides a Contact on its private network that A
 obviously cannot reach:

  Contact:sip:x@192.168.0.10:5060

 As a result, A attempts to send PRACKs to sip:x@192.168.0.10,
 which are obviously not going to go anywhere.  After not receiving a
 few of these expected PRACKs, B replies to the call with a final
 negative failure.

 The question is, is there anything I can twiddle on the proxy to make
 this work?  The problem with PRACKs is that although they are
 sequential requests, they arise (in this case) prior to the point at
 which RR can be used to guide them through the proxy.

 The most obvious answer is, Make B not Require: 100rel, of course.
 However, that is not an option here.

The basic problem here seems to be that B is not copying the RR 
headers into the 183 responses it is sending.  And according to 3261, 
it doesn't have to.  3262, however, which defines 100rel, has a table 
on page 7 suggesting that Record-Route headers go into 18x,2xx 
responses.  Am I correct in presuming that the table in 3262 
constitutes a kind of amendment to the 3261 stance, and that this is a 
UAS bug on B?

I've worked around it by manually adding the RR header to the reply, 
and the PRACKs are now targeted correctly.

-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] How to avoid hard coding of IP Address?

2011-04-18 Thread Alex Balashov
The answer is to learn C (or whichever C-derived language you are 
using to implement), most especially including its standard library 
and its associated string functions, as well as system calls.

There are a variety of ways to pass data into your program, such as 
command-line arguments, environment variables, and, of course, reading 
from configuration files.

On 04/18/2011 03:44 AM, Siga wrote:

 Hi,
 I need some information of how can I avoid the hard coding of the IP Address
 in my implementation, right now I am using socket programming for my SIP
 implementation and I am hard coding the IP Address in my code for example 
 local.sin_addr.s_addr = 1.2.3.4; .
 One more question is, in the SIP session is it also possible to eliminate
 the hard coding of IP Address especially in SIP INVITE, ACK, BYE and so on.
 Because with this I can only connect to one remote host and every time I
 want to connect to another remote host I needed to do some changes in my
 code.
 Any good information with an example or any useful links to overcome this
 problem will be really useful.

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


-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Invitation to connect on LinkedIn

2011-04-10 Thread Alex Balashov
We are, perhaps, forever doomed to a blighted, Sisyphean existence, falling 
just short of grasping the proper use of mailing lists, contact 
managers/address books, and other basic computer skills. We reach for the 
stars, but all we can do is extend our arms in vain, pitiable aspiration.

--
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Apr 10, 2011, at 1:53 AM, Imran Saleem via LinkedIn mem...@linkedin.com 
wrote:

 LinkedIn
 Imran Saleem requested to add you as a connection on LinkedIn:
 --
 
 Priyank,
 
 I'd like to add you to my professional network on LinkedIn.
 
 - Imran
 
 Accept invitation from Imran Saleem
 http://www.linkedin.com/e/-ftd1dd-gmbk542l-2z/cFM0GAd-yBCwaJGWsQs1GGTyK-p78Ke3DbMDt3xi3HiTZiXE_HRum-ba/blk/I124499944_20/1BpC5vrmRLoRZcjkkZt5YCpnlOt3RApnhMpmdzgmhxrSNBszYMcBYQd3AVejgQcz59bPtUlQRikz1IbPkMcjgTd3oSdz8LrCBxbOYWrSlI/EML_comm_afe/
 
 View invitation from Imran Saleem
 http://www.linkedin.com/e/-ftd1dd-gmbk542l-2z/cFM0GAd-yBCwaJGWsQs1GGTyK-p78Ke3DbMDt3xi3HiTZiXE_HRum-ba/blk/I124499944_20/30OnPgQejAVd3gOckALqnpPbOYWrSlI/svi/
  
 --
 
 DID YOU KNOW you can conduct a more credible and powerful reference check 
 using LinkedIn? Enter the company name and years of employment or the 
 prospective employee to find their colleagues that are also in your network. 
 This provides you with a more balanced set of feedback to evaluate that new 
 hire.
 http://www.linkedin.com/e/-ftd1dd-gmbk542l-2z/rsr/inv-27/
 
 
 -- 
 (c) 2011, LinkedIn Corporation
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

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


Re: [Sip-implementors] SIP Server

2011-03-01 Thread Alex Balashov
Evgeniy,

Its stock config file has come a long way in accomodating most  
commonsensical needs.

-- Alex

--
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Mar 2, 2011, at 12:35 AM, Evgeniy Khramtsov xramt...@gmail.com  
wrote:

 02.03.2011 03:39, Daniel-Constantin Mierla wrote:
 Hello,

 On 3/1/11 5:18 PM, Siga wrote:

 Hi,
 I need to test my SIP Client, can somebody recommend me which SIP  
 Server is
 good and easy to set up and can be used to test my SIP Client,  
 especially I
 need it for testing sending and receiving data packets from my  
 Client

 you can use Kamailio, which is open source and free.

 Kamailio is easy to set up? Is it a joke? :)

 -- 
 Regards,
 Evgeniy Khramtsov, ProcessOne.
 xmpp:x...@jabber.ru.

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


Re: [Sip-implementors] SIP Soft Phone with IPSec Support

2011-01-07 Thread Alex Balashov
On 01/05/2011 03:26 PM, Olle E. Johansson wrote:

 Someone else can propably describe this is in a better way, but
 a softphone could potentially handle this. It would be pretty clever
 and avoid all the issues with TLS and SRTP...

It seems a little impractical, but consistent with IMS's loftily 
bureaucratic style.  From a concrete, implementational point of view, 
TLS, or a lower-layer encrypted tunnel/transport would be a lot easier, 
at least if I'm reading this RFC3329 correctly.

-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] SIP Soft Phone with IPSec Support

2011-01-04 Thread Alex Balashov
That's like asking if there is a SIP softphone that supports Ethernet.

Go learn your OSI burrito.  IPSec operates at a different layer of  
abstraction in the protocol stack than a VoIP application.  It would  
not be IPSec-aware if used with IPSec.  In that sense, all softphones  
support IPSec.

--
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Jan 4, 2011, at 9:27 PM, Bharat S bharat.sar...@yahoo.com wrote:

 Hi all,
Does any body know about SIP Soft Phone that supports IPSec?


 Thanks,
 Bharat



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


Re: [Sip-implementors] SIP Soft Phone with IPSec Support

2011-01-04 Thread Alex Balashov
On 01/04/2011 09:52 PM, Bharat S wrote:

 Hey Alex,
 I know IPSec operates on different layers of protocol stack. But I am
 looking for any SIP soft phone that supports Headers for SIP Security.
 RFC 3329.
 So if any phone supports IPSec, should support the SIP Headers
 required for establishing Security Associations using IPSec. I hope
 you got my question.

Really?  They actually have an IPSec security method for SIP?

Well then, I stand corrected.  Serious egg on my face.  Here I was 
thinking the term IPSec only refers to a lower-level encapsulation.

-- 
Alex Balashov - Principal
Evariste Systems LLC
260 Peachtree Street NW
Suite 2200
Atlanta, GA 30303
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] CENTREX Solution with SIP

2010-11-29 Thread Alex Balashov
On 11/29/2010 10:44 AM, Ali Kemal MAYUK wrote:

 I am investigating about how Centrex work with SIP. If an enterprise
 customer has a 2 different locations, how they call each other with short
 numbers(4 digit) ? Which SIP headers are used for it? Is there a
 standartization ? Does any one have a solution documentation? How the big
 companies handle it?

This is not a question about SIP protocol mechanics or implementation, 
although you may not know that.

Your question is about an abstraction of SIP endpoint behaviour 
(initiating calls between two or more endpoints) to serve the needs of a 
high-level application and/or marketable product.  There is nothing 
special whatsoever about how Centrex-like products are implemented 
using SIP endpoints, nor any specific accommodation for this kind of 
functionality within the protocol.

Your real question is, How do I dial between SIP endpoints using 
arbitrary routing designations?  The answer is:  the same way you'd 
dial in any other scenario.  As usual, the dialed digits are present in 
the Request URI and (usually) the To header.

-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street NE
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Error response for OA failure

2010-11-23 Thread Alex Balashov
It depends on the type of body, and therefore on whether a body in the  
final reply is also required.

If the body in question is SDP, I would say 488 Not Acceptable Here,  
because the answer (or the lack of one) is not compatible with the  
offer.

--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Nov 23, 2010, at 5:44 PM, Nauman Sulaiman nauman762- 
h...@yahoo.co.uk wrote:

 Hi, For a Re-invite scenario If the OA process fails due to example  
 a UAS sending a 200OK without a body to an INVITE with a body from  
 UAC. What is the correct response of the UAC?

 Thanks




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


Re: [Sip-implementors] Don't Proxy Authenticate check 'From' for 'username'?

2010-11-07 Thread Alex Balashov
The user part of the From URI should be checked for consistency with  
digest authentication username, or other security policy.  Otherwise,  
you are quite correct.

--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Nov 7, 2010, at 3:33 AM, Couret Tabt courett...@gmail.com wrote:

 Dear folks,

 I am designing new secure SIP communication.
 So, I have a question.

 In authentication of Proxy Authenticate, isn't 'From' address checked
 for 'username'?
 In other words, even if user write wrong 'From' address, when right
 username is given,
 then can this message pass the Proxy Authenticate?
 Accordingly, can user do spoofing atacks?

 If you know, please let me know.

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


Re: [Sip-implementors] SDP Offer ANswer

2010-11-03 Thread Alex Balashov
.

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

 DISCLAIMER: This message is proprietary to Aricent and is intended solely
 for the use of the individual to whom it is addressed. It may contain
 privileged or confidential information and should not be circulated or
 used for any purpose other than for what it is intended. If you have
 received this message in error, please notify the originator immediately.
 If you are not the intended recipient, you are notified that you are
 strictly prohibited from using, copying, altering, or disclosing the
 contents of this message. Aricent accepts no responsibility for loss or
 damage arising from the use of the information transmitted by this email
 including damage from virus.

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



--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/



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


Re: [Sip-implementors] SIP Stacks

2010-10-12 Thread Alex Balashov
On 10/12/2010 12:15 PM, Iñaki Baz Castillo wrote:

 Second paragraph of Section 18.1.1 of RFC 3261:

 -
 If a request is within 200 bytes of the path MTU, or if it is larger
 than 1300 bytes and the path MTU is unknown, the request MUST be sent
 using an RFC 2914 [43] congestion controlled transport protocol, such
 as TCP.
 -

 IMHO this is an exotic specification. What about if the
 proxy/registart has to route a long request to a user registered in a
 UDP location? should the proxy try TCP? to which port? what about NAT?
 So this is a so exotic feature that I strongly understand everybody
 ignores it [*].

Strongly agreed.

This is one of the most batshit inane, idiotic requirements I have 
ever seen, and it should be rightly ignored by everyone in light of 
the realities of today's Internet.

UDP is designed to be able to transport up to 65535 bytes of payload, 
and that is what a protocol using UDP as a transport should allow. 
All SIP UDP endpoints and ALGs should support IP/UDP reassembly, 
without question.  Mandating use of TCP in this situation is simply 
not realistic, especially when so many otherwise mainstream and 
well-heeled, stable SIP stacks don't support it (for example, 
Asterisk, many softphones, etc.).

-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Re: [Sip-implementors] Detection of Cable disconnections in SIP

2010-10-06 Thread Alex Balashov
On 10/06/2010 01:52 AM, Manoj Priyankara [TG] wrote:

 If there's a LAN cable disconnect during a SIP session that is during a
 call how does the other party recognize it?  As an example, let us
 consider UA A and UA B are in a call. Suddenly UA A disconnects. How
 does the UA B  know A is no longer connected?

There's no such mechanism that inheres in basic 3261 SIP per se.

A common feature of endpoints that also receive media is to time out 
calls after no RTP has been received for a certain number of seconds.

A purely SIP solution is to use session timers, but not all endpoints 
support them;  take a look at RFC 4028.

-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Detection of Cable disconnections in SIP

2010-10-06 Thread Alex Balashov
On 10/06/2010 02:35 AM, $...@r\/|r!`/@ wrote:

 To add to Alex answer, RFC 4028 suggest a solution by which if your UA
 supports the RFC then timeouts can be managed. Thus even if another NE
 do not support it and your UA does, you will be able to detect any
 broken connection.

Yep.  But at least one endpoint must have

Supported: timer

-- Alex

-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Detection of Cable disconnections in SIP

2010-10-06 Thread Alex Balashov
It really sounds like session timers (RFC 4028) are your best bet.

On 10/07/2010 12:33 AM, $...@r\/|r!`/@ wrote:

 Hi,

 Its not always a voice callin video calls we would need such mechanism.

 cheers!!
 sarvpriya

 On Wed, Oct 6, 2010 at 7:27 PM, Worley, Dale R (Dale)dwor...@avaya.comwrote:

 
 From: sip-implementors-boun...@lists.cs.columbia.edu [
 sip-implementors-boun...@lists.cs.columbia.edu] On Behalf Of Manoj
 Priyankara [TG] [mano...@suntel.lk]

 If there's a LAN cable disconnect during a SIP session that is during a
 call how does the other party recognize it?  As an example, let us
 consider UA A and UA B are in a call. Suddenly UA A disconnects. How
 does the UA B  know A is no longer connected?
 ___

 Hello?
 [pause]
 Hello??
 [pause]
 HELLO!!!
 [pause]
 [user hangs up]
 [UA sends BYE, receives no response, clears dialog state]


 Seriously, that is how UAs are expected to clear calls whose IP
 connectivity has been lost.

 Dale

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






-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] What is the practical benefit of hop-by-hop methods?

2010-09-13 Thread Alex Balashov
Hi Robert,

On 09/13/2010 07:19 PM, Robert Hoffmann wrote:

 Hi there,

 a) I am not sure about what the practical benefit of hop-by-hop methods like
 CANCEL or ACK (for 3XX-6XX responses) is.

 b) Also, why is 100 Trying a hop-by-hop response? Would it hurt to have it
 being end-to-end?

 c) Why don't we have end-to-end messages only?

It seems to me that the logical purpose of hop-by-hop replies or 
request methods is to elicit acknowledgment or communicate receipt 
from all network elements in the signaling path, regardless of whether 
they are proxies or UAs, in situations in which that information is 
desirable to know from the point of view of semantics and the state 
machine.

So, for example, the standard envisions that it is useful to know that 
a proxy has itself received and processed a negative reply, even if 
the issuing UAC has gone away or something like that.

Hop-by-hop CANCEL is more or less a mandatory requirement of forking, 
as you mentioned, since in many cases the proxy is the conceptual 
target of the CANCEL request because the transaction is being 
presented to UAC opaquely as a single branch, while there are lots of 
branches on the other side to the management of which a CANCEL must be 
applied/translated.

The 100 Trying response exists mainly to dampen retransmissions by 
telling the UAC that the request has been received and is being worked 
on.  Sometimes, there are unpredictable sources of latency that arise 
at this stage of call setup if a proxy is involved, as, for example, 
due to:

- High database load / response time.
- High end-to-end network latency physically.
- Additional latency involved in serial forking through successively 
failing branches (common in wholesale PSTN routing scenarios).

Any one of these or other causes can cause Timer T1 to throw before an 
upstream 100 Trying from a UAS is received and forwarded, and cause 
undesirable retransmissions or premature failover.  So, 100 Trying is 
a way of telling the UAC, All right, I got your request, now just be 
patient and wait, because there might be some latent operations 
involved before I can give you any other provisional or final replies.

-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Invitation to connect on LinkedIn

2010-09-07 Thread Alex Balashov
Fail.

On 09/07/2010 05:31 AM, Romal Patel wrote:

 LinkedIn
 Romal Patel requested to add you as a connection on LinkedIn:
 --

 Priyank,

 I'd like to add you to my professional network on LinkedIn.

 - Romal

 Accept invitation from Romal Patel
 http://www.linkedin.com/e/-ftd1dd-gdsk9hk1-50/cFM0GAd-yBCwaJGWsQs1GGTyK-p78Ke3DbMDt3xi3HiTZiXE_HRum-ba/blk/I8922441_20/6lColZJrmZznQNdhjRQnOpBtn9QfmhBt71BoSd1p65Lr6lOfP0OnP4Qd38Oejx9bSZVhzdRtR1kbPsPczoTdP4Qdz4LrCBxbOYWrSlI/EML_comm_afe/

 View invitation from Romal Patel
 http://www.linkedin.com/e/-ftd1dd-gdsk9hk1-50/cFM0GAd-yBCwaJGWsQs1GGTyK-p78Ke3DbMDt3xi3HiTZiXE_HRum-ba/blk/I8922441_20/c39vcjgQcz8Ve4ALqnpPbOYWrSlI/svi/
 --

 DID YOU KNOW LinkedIn can help you find the right service providers using 
 recommendations from your trusted network? Using LinkedIn Services, you can 
 take the risky guesswork out of selecting service providers by reading the 
 recommendations of credible, trustworthy members of your network.
 http://www.linkedin.com/e/-ftd1dd-gdsk9hk1-50/svp/inv-25/


 --
 (c) 2010, LinkedIn Corporation
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] 100 trying response

2010-08-22 Thread Alex Balashov
It should be sent immediately.

There is no harm in sending such a response immediately.  The 200 ms  
anticipated respose processing time is a guideline for people who  
can't make up their minds.

Due to commonplace variations in end-to-end network delay on the  
Internet, you should pretty much always send 100 Trying.  Going over  
200 ms is trivially common even for reasons unrelated to processing.

--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

On Aug 22, 2010, at 6:14 AM, mustafa rifaee mustafa.rif...@gmail.com  
wrote:

 Hi all;
 I would like to ask you about 100 Trying for INVITE Request;
 The RFC 3261 says:
 A server sends a 1xx response if it expects to take more than 200  
 ms to
 obtain a final

   response 
 IS this mean the Proxy server should send the 100 trying after 200 ms,
 or the proxy can send it immediately?
 how the SIP proxy can expects that response can take more than 200 ms?

 Please Help me;
 Best Regards
 Mustafa Rifaee
 ___
 Sip-implementors mailing list
 Sip-implementors@lists.cs.columbia.edu
 https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


Re: [Sip-implementors] Malformed ACKs/sequential request lines

2010-07-30 Thread Alex Balashov
On 07/30/2010 04:59 AM, WORLEY, Dale R (Dale) wrote:

 While 3261 systems should interoperate correctly with 2543 systems,
 2543 systems are considered obsolete these days.

I think the issue is that there is a proxy inserting an RR header with 
the 'lr' parameter in the middle of the flow.  I'm sure if this were a 
straight UAC-UAS call, they'd interoperate fine.  But the proxy is 
not forwarding this ACK to UAS B.

-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
___
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


  1   2   >