Re: Comments on draft-camarillo-mmusic-sip-isup-bcp-00.txt

"Daniel G. Petrie" <dpetrie@pingtel.com> Fri, 19 November 1999 01:41 UTC

Received: from lists.research.bell-labs.com (lists.research.bell-labs.com [135.180.161.172]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA09882 for <sip-archive@odin.ietf.org>; Thu, 18 Nov 1999 20:41:52 -0500 (EST)
Received: by lists.research.bell-labs.com (Postfix) id BB4DE52E1; Thu, 18 Nov 1999 20:39:21 -0500 (EST)
Delivered-To: sip-outgoing-local@paperless.dnrc.bell-labs.com
Received: by lists.research.bell-labs.com (Postfix, from userid 20006) id 18D7D52E2; Thu, 18 Nov 1999 20:39:21 -0500 (EST)
Delivered-To: sip-local@paperless.dnrc.bell-labs.com
Received: from scummy.research.bell-labs.com (research.research.bell-labs.com [135.104.2.10]) by lists.research.bell-labs.com (Postfix) with SMTP id 1916E52E1 for <sip@lists.research.bell-labs.com>; Thu, 18 Nov 1999 20:39:04 -0500 (EST)
Received: from dusty.research.bell-labs.com ([135.104.2.7]) by scummy; Thu Nov 18 20:37:33 EST 1999
Received: from mail.pingtel.com ([209.6.118.245]) by dusty; Thu Nov 18 20:36:20 EST 1999
Received: from pingtel.com ([10.1.1.189]) by mail.pingtel.com (8.9.3/8.9.3) with ESMTP id UAA07700; Thu, 18 Nov 1999 20:53:10 -0500
Message-ID: <3834AA3D.4EC70751@pingtel.com>
Date: Thu, 18 Nov 1999 20:39:09 -0500
From: "Daniel G. Petrie" <dpetrie@pingtel.com>
Organization: Pingtel Corp. http://www.pingtel.com
X-Mailer: Mozilla 4.61 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Pete Cordell <pete@tech-know-ware.com>
Cc: Jonathan Rosenberg <jdrosen@dynamicsoft.com>, Gonzalo Camarillo <Gonzalo.Camarillo@lmf.ericsson.se>, Adam.Roach@ericsson.com, bartw@nortelnetworks.com, Gonzalo.Camarillo@ericsson.com, sip@lists.research.bell-labs.com
Subject: Re: Comments on draft-camarillo-mmusic-sip-isup-bcp-00.txt
References: <011401bf31e9$c7ba9ca0$0200000a@tkw>
Content-Type: multipart/mixed; boundary="------------E5D6DFEA7012079AE2AD1E34"
Sender: owner-sip@lists.research.bell-labs.com
Precedence: bulk

This is a bit of a diversion, at least in application of this technique as this
is a perspective of a call initiated on a IP node.  We have been thinking of
using a simular approach to solving the digit collection issue for SIP user
agents without using time outs, send buttons or requiring the user agent to have
a huge dial plan.

1) a user agent registers with its favorite proxy(s) and in the response gets a
high level dial plan/patterns which correlates patterns with server URLs.  For
example:
911                 -> sip:emergency@local-gateway.mycompany.com
9938xxxx        -> sip:<pattern>@local-gateway.mycompany.com
4xxx               -> sip:<pattern>@new-york.mycompany.com
5xxx               -> sip:<pattern>@dallas.mycompany.com
91xxxxxxxxxx -> sip:<pattern>@us-carrier.com
9110x             -> sip:<pattern>@international-carrier.com

2) The user dials digits until the SIP UA matches a pattern and sends an INVITE.

3) At this point the behavior is as Jonathan and Pete suggest:
  The proxy with secondary dialplan knowledge accepts the request as a complete
address or sends back a 484, optionally with second tier pattern(s) and
corresponding server URLs.

It would be great if we can define a framework that solves this problem from
either direction.
Cheers,
Dan



Pete Cordell wrote:

> Jonathan,
>
> I like this solution for handling in-complete numbers.  It would be nice if
> there was some way to reduce the number of failed attempts though.
>
> Perhaps the 484 response could contain a parameter that specified the
> minimum number length for a number of the given pre-fix.
>
> A megaco style digit map could be included, but I feel this is overly
> complicated to expect all UAs to understand it.
>
> Perhaps parameters in the 484 could specify the minimum number of digits
> needed and optionally a digitmap.
>
> That way a simple device could keep trying digit by digit as in your
> example.  An improved device could wait until it had collected the minimum
> number of digits, and the mega super special version could interpret the
> digit map.
>
> (In this I'm assuming that the digit map is a lot easier to generate -
> perhaps using manual or off-line means - than it is to interpret.  If a
> digitmap is manually generated, or uses some off-line process to generate
> it, I'm assuming that all a proxy has to do with it is copy it to the
> appropriate 484 response field.)
>
> The thing I'm not sure about is the handling of the SAMs.  On the face of it
> I would prefer these to be transported through the network rather than being
> re-generated.  I don't know whether the final INVITE should include IAM plus
> all the additional SAMs, or whether it is appropriate to define a SAM that
> captures all the changes from the previous SAMs.  Another option is not to
> send any SAMs at all, but update the IAM with the SAM information.
>
> Pete
>
> =============================================
> Pete Cordell
> pete@tech-know-ware.com
> =============================================
>
> -----Original Message-----
> From: Jonathan Rosenberg <jdrosen@dynamicsoft.com>
> To: Gonzalo Camarillo <Gonzalo.Camarillo@lmf.ericsson.se>
> Cc: Adam.Roach@ericsson.com <Adam.Roach@ericsson.com>;
> bartw@nortelnetworks.com <bartw@nortelnetworks.com>;
> Gonzalo.Camarillo@ericsson.com <Gonzalo.Camarillo@ericsson.com>;
> sip@lists.research.bell-labs.com <sip@lists.research.bell-labs.com>
> Date: 18 November 1999 15:58
> Subject: Re: Comments on draft-camarillo-mmusic-sip-isup-bcp-00.txt
>
> >What if, rather than encapsulating subsequent digits into INFO, they are
> >added to the request URI in an INVITE? A local proxy for the gateway
> >will respond with 484 to all those that don't have enough digits until
> >it gets one that does have enough. So:
> >
> >
> >Ingress GW            P             Egress GW
> >
> >INV tel:1 ------------>
> >CSeq: 1
> >
> >INV tel:12 ----------->
> >CSeq: 2
> >
> >
> ><---------484 --------
> >          CSeq: 1
> >
> >INV tel:121 --------->
> >CSeq: 3
> >
> ><---------484 -------
> >          CSeq: 2
> >
> >INV tel:1212 --------> ---------------------->   IAM 1212---------->
> >CSeq: 4
> >
> ><--------------484----
> >               CSeq: 3
> >
> >INV tel:12125---------> ----------------------> SAM 5 ------------->
> >CSeq: 5
> >
> >INV tel:121255 -------> ----------------------> SAM 5 ------------->
> >CSeq: 6
> >
> >INV tel:1212555 ------> -----------------------> SAM 5 ------------>
> >CSeq: 7
> >
> >.......(same thing for digits 1, 2, 1)
> >
> >INV tel:12125551212----> ---------------------> SAM 2 -------------->
> >CSeq: 11                                        <---------ACM-------
> >
> >                         <------484-----------
> >                                CSeq: 5
> >                         <------484-----------
> >                                CSeq: 6
> >                               .......
> >                         <------484
> >                                CSeq: 10
> >                         <---183--------------
> >                                CSeq: 11
> >
> >
> >Ok, so let me explain. Proxies do routing just on longest prefix matches
> >for INVITE's. So, proxy P can be stateless actually, as it just forwards
> >INVITEs that match 1212. The ingress gateway sends a re-INVITE (possibly
> >without waiting for a response to the previous INVITE) every time a new
> >digit is received from the PSTN. Once the proxy has enough digits to
> >route, it won't send 484 anymore, and forwards it to the egress gateway.
> >The egress gateway is smart, and creates an IAM from the first INVITE.
> >Subsequent re-INVITEs cause SAMs to be sent, containing the difference
> >in the set of digits from the previous INVITE. Once the egress gateway
> >receives an ACM (address complete, right?), it responds with a 484 to
> >all the INVITEs but the last, and the final INVITE with a 183. Things
> >progress normally from there.
> >
> >Implications:
> >
> >1. proxies don't have to know anything about INFO or ISUP. They just
> >have to know longest prefix match routing for phone numbers. They can
> >even be stateless.
> >
> >2. egress gateways that know ISUP effectively re-generate the SAMs
> >
> >3. if the egress point is not an ISUP gateway, but a PC terminal or
> >something that happens to have a phone number as its name, it will have
> >to know enough to reject each INVITE until it gets one with a request
> >URI/To field that matches its own number. This, BTW, is normal behavior.
> >A UAS rejects an INVITE if the URI is for an address thats not its own.
> >
> >4. This works *even* if there is misordering of re-INVITEs. The egress
> >gateway computes the SAMs based on differentials. So, lets say it
> >receives the INVITE with 1555, then the INVITE with 155512. It then
> >sends two SAMs, the first with 1, the next with 2. Lets say, then, that
> >the INVITE with 15551 comes. Based on CSeq, the egress gateway knows its
> >old and rejects it.
> >
> >5. The ingress gateway doesn't depend on special messages or a
> >completion character, like #, to send an INVITE.
> >
> >
> >
> >
> >Its very possible I've completely missed something, as I'm hardly an
> >ISUP expert. Perhaps there is additional data in SAM such that it MUST
> >be sent across, rather than being regenerated. But, the above solution
> >seems nice, as it doesn't break anything, works with non-ISUP
> >terminating points, doesn't require users to dial a # at the end of the
> >digit string, etc.
> >
> >Comments?
> >
> >-Jonathan R.
> >
> >
> >Gonzalo Camarillo wrote:
> >>
> >> It is nicer to send complete URIs in the "to" header. If the i-gateway
> >> sends the INVITE before receiveing all the digits, the "to" header is
> >> not complete. It would contain just a few digits of the whole telephone
> >> number (this assumes that with just some digits the i-gateway figures
> >> out where to send the INVITE).
> >>
> >> Gonzalo
> >>
> >> Adam.Roach@ericsson.com wrote:
> >> >
> >> > >The use of a timer to force enbloc signaling is not acceptable. In the
> case
> >> > >of SIP bridging, subscribers originating calls from the PSTN will not
> accept
> >> > >an artificial post-dial delay (even if it is just a few seconds long).
> >> > >Overlap signaling must be supported. It is essential that the overlap
> >> > >process takes place within the context of a single session - using the
> >> > >suggested INVITE/CANCEL/INVITE approach would result in multiple
> abortive
> >> > >calls being delivered to the terminating agent, which would not be
> >> > >acceptable.
> >> > >
> >> > >Why not send an INVITE message when the ISUP IAM is received and then
> send
> >> > >subsequent INFO messages for each ISUP SAM? I understand that "pure"
> SIP
> >> > >agents will expect the INVITE to contain the complete address of the
> called
> >> > >party. This could be handled by including support for overlap in the
> >> > >"Require" extensions
> (draft-roach-mmusic-sip-pstn-require-header-00.txt). If
> >> > >the terminator did not support the PSTN extensions, the originator
> could
> >> > >then switch to enbloc and wait for the full address to be collected.
> >> >
> >> > There are a variety of problems here. The first is determining how
> >> > intervening proxies will react. If, for example, a proxy is making
> >> > decisions about where to forward messages based on a called party URI,
> >> > your suggestion would require it to understand ISUP (for interpretation
> >> > of SAM message). It also requires it to have number analysis code and
> >> > dialing plan information (potentially for the entire globe).
> >> >
> >> > The problem gets even stranger for redirect servers, which expect to
> >> > be able to send an immediate response to an INVITE -- not sit around
> >> > collecting digits.
> >> >
> >> > Basically, your suggestion forces overlapped dialing deep into each
> >> > and every SIP node in the network that is expected to receive calls
> >> > originating from the PSTN network.
> >> >
> >> > I agree that this is a problem that needs to be solved if we intend
> >> > to use SIP between two PSTN phones; but we need to find a better
> >> > solution than tunelling SAMs all over the place.
> >> >
> >> > We shouldn't overlook human factors: it could be that customers are
> >> > willing to, for example, be trained to press "#" at the end of a
> >> > phone number to skip the post-dial-delay.
> >> >
> >> > --
> >> > Adam Roach, Ericsson Inc. |  Ph: +1 972 583 7594 | 1010 E. Arapaho, MS
> L-04
> >> > adam.roach@ericsson.com   | Fax: +1 972 669 0154 | Richardson, TX 75081
> USA
> >>
> >> --
> >> Gonzalo Camarillo         Phone :  +358  9 299 33 71
> >> Oy L M Ericsson Ab        Mobile:  +358 40 702 35 35
> >> Telecom R&D               Fax   :  +358  9 299 31 18
> >> FIN-02420 Jorvas          Email :  Gonzalo.Camarillo@ericsson.com
> >> Finland
> >
> >--
> >Jonathan D. Rosenberg                       200 Executive Drive
> >Chief Scientist                             Suite 120
> >dynamicsoft                                 West Orange, NJ 07052
> >jdrosen@dynamicsoft.com                     FAX:   (732) 741-4778
> >http://www.cs.columbia.edu/~jdrosen         PHONE: (732) 741-7244
> >http://www.dynamicsoft.com
> >
> >