H.225- CRV

Paul E. Jones paulej at PACKETIZER.COM
Wed Jan 17 00:43:28 EST 2001


Archana,

This gets back to my statement of why I've felt that CRVs are of little
use-- you really do need something that makes your endpoint unique.

There have been a number of problems with CRVs, which is one reason why the
CallID was introduced in H.323v2.  I recommend following the rules w.r.t.
CRVs for the purposes of backward compatibility.  It should be safe to use
the CRV to differentiate multiple calls over the same call signaling channel
(allowed in newer versions of H.323).  It should also be safe to assume that
the CRV in the originating ARQ is the same as the CRV in the corresponding
Setup message.  However, I would personally put more weight behind the
CallID and using it to differentiate messages.  However, there are some
messages that do not have the CallID field (this is particularly true prior
to V4), so it is important to be able to determine what call the message is
for based on the fact the call exists on a separate connection or that the
CRV value is properly set.

Essentially, two entities existing on the same physical machine will not
utilize the same TCP connection to a remote entity, so if those two entities
did use the same CRV, the far endpoint shouldn't care.

The Gatekeeper may utilize the CRVs and it will recognize the uniqueness of
the entities by their RAS address and the assigned endpoint identifier, so I
don't think GKs have the same issues as endpoints.

>From a practical point of view, what Chris Purvis said makes sense-- the
CRVs should be unique only across a single connection.  However, the text
doesn't seem to support that-- and the idea definitely falls apart once GKs
come into the picture.  However, if you just originate unique CRVs and
ignore CRVs on the called end, except in cases where multiple calls are
signaled over the same call signaling channel and relate the CRVs on a very
local scope, I believe you will not see any interoperability issues.

I believe that the only real issue that prevents us from looking at CRVs as
unique only within a single connection is their use w.r.t. the GK.  Perhaps
we could examine ways to change this.  For certain, CRVs are a "bottleneck".
On one hand, they can be used to reference a particular call quickly.  On
the other hand, it limits an H.323 entity to ~32K calls.  It would be very
nice to see that restriction lifted-- perhaps retaining the CRV only for
backward compatibility, but changing some of the rules when an endpoint is
communicating with a V5 or higher Gatekeeper, for example.

Paul

----- Original Message -----
From: "Nehru, Archana" <archie at trillium.com>
To: "'Paul E. Jones'" <paulej at PACKETIZER.COM>
Cc: <ITU-SG16 at mailbag.cps.intel.com>
Sent: Tuesday, January 16, 2001 9:19 PM
Subject: RE: H.225- CRV


> Paul,
>
> Since we agree that CRVs should be unique between two endpoints,
> what is the ideal behavior in the following case?
>
> Let us say there are two endpoints running on the same machine..which
means
> that they have the same source IP address. Since the two endpoints are
> independent entities, they will generate CRVs independently. Now let us
say
> both the endpoints make
> a call to another endpoint/GK with the same CRV. So at the receiver's
side,
> we see two incoming calls with exactly the same CRV and exactly same
> "source" IP address. Is this a valid configuration? How is a receiver
> supposed to handle these incoming calls, particularly is there is no
> "callId"?
>
> Thanks
> -Archana
> >-----Original Message-----
> >From: Paul E. Jones [mailto:paulej at PACKETIZER.COM]
> >Sent: Tuesday, January 16, 2001 12:40 PM
> >To: ITU-SG16 at mailbag.cps.intel.com
> >Subject: Re: H.225- CRV
> >
> >
> >Chris,
> >
> >Considering that V1 only allowed a single call over a single
> >TCP connection,
> >what would have been the point of a CRV in the Setup message?
> >If they could
> >all be the same, it makes them worthless.  (Of course, I've
> >found CRVs in
> >packet-switched systems mostly worthless, but not entirely.)
> >
> >From H.323:
> >``One CRV is used to associate the call signalling messages.
> >This CRV shall
> >be used in all call signalling messages between two entities
> >(endpoint to
> >Gatekeeper, endpoint-to-endpoint, etc.) related to the same call.''
> >
> >Note the text that says "between two entities".  If the intent was that
> >these values were only unique "per connection", it would say
> >so.  The CRVs
> >are unique between two entities.
> >
> >From H.225.0:
> >``Note that the CRV is only unique on a particular part of a call, e.g.
> >between two terminals, or between a terminal and a gatekeeper.
> >If a given
> >terminal has two calls in the same conference, each shall have the same
> >conference ID but different CRVs.''
> >
> >The latter sentence is more important: when communicating between two
> >entities, it states clearly that there must be different CRVs.
> > Again, with
> >V1 those two calls would have been using different TCP
> >connections, yet the
> >text clearly says the CRVs must be different.
> >
> >Now, I may be wrong-- this is just my interpretation of the
> >text.  I'd like
> >to hear other comments.
> >
> >Paul
> >
> >----- Original Message -----
> >From: "Chris Wayman Purvis" <cwp at isdn-comms.co.uk>
> >To: "Paul E. Jones" <paulej at packetizer.com>
> >Cc: <ITU-SG16 at mailbag.cps.intel.com>
> >Sent: Tuesday, January 16, 2001 5:16 AM
> >Subject: Re: H.225- CRV
> >
> >
> >> Paul,
> >>
> >> I disagree.  CRV is surely unique per connection.
> >> One may be well advised to keep it more unique than that, because in
> >> gatekeepered environments you're liable to end up with
> >problems if you're
> >not
> >> careful because of your note 1 - but if I receive Q.931 messages on
> >separate
> >> TCP connections giving the same CRV I shouldn't expect them
> >to refer to
> >the
> >> same call.  I argue that this is rooted in the principal of
> >TransportAddress
> >> throughout the H.323 standards including the SAPI (IP port
> >number) as well
> >as
> >> actual address.
> >>
> >> Regards,
> >> Chris
> >>
> >> "Paul E. Jones" wrote:
> >> >
> >> > Archana,
> >> >
> >> > (a) is closer to the way things actually work.
> >> >
> >> > Essentially, you can use whatever values you wish so long
> >as you never
> >place
> >> > two calls to the same endpoint using the same CRV value.
> >So, whether
> >two
> >> > calls to an endpoint use the same TCP connection or different
> >connections,
> >> > the CRV must be unique.
> >> >
> >> > You should also consider the possibility that an endpoint
> >may have two
> >call
> >> > signaling addresses.  How would you know if this were the
> >case?  The
> >safest
> >> > thing to do is never have two calls with the same CRV at
> >the same time.
> >> > However, if you know that the destination endpoints are unique, you
> >could
> >> > re-use the CRV value.. at least when a Gatekeeper is not
> >being used.
> >> >
> >> > There are also so other properties of CRVs:
> >> >   1) The CRV sent in an ARQ to place a call shall be the
> >same as the
> >> >      CRV in the resulting Setup message
> >> >   2) The CRV sent in an ARQ to accept a call should *not* be taken
> >> >      from the incoming Setup message-- it should be
> >locally generated so
> >> >      that it is a unique between the endpoint and the GK
> >> >
> >> > Paul
> >> >
> >> > ----- Original Message -----
> >> > From: "Nehru, Archana" <archie at trillium.com>
> >> > To: "'Paul E. Jones'" <paulej at PACKETIZER.COM>
> >> > Cc: <ITU-SG16 at mailbag.cps.intel.com>
> >> > Sent: Monday, January 15, 2001 10:28 PM
> >> > Subject: H.225- CRV
> >> >
> >> > > hi all,
> >> > >
> >> > > I have a question about H.323 -CRV values. Q.931 specs
> >says that a CRV
> >> > value
> >> > > should be unique per D-channel layer 2 logical link.
> >> > >
> >> > > In H.225 context, does the above mean that:
> >> > >
> >> > > a) CRV values should be unique across all outgoing H.225
> >calls that
> >have
> >> > the
> >> > > same "destination" IP address ?
> >> > >
> >> > > b) CRV value only needs to be unique across all H.225 connections
> >using
> >> > the
> >> > > same TCP connection? In other words, if an endpoint A makes two
> >> > simultaneous
> >> > > calls to endpoint B, then the same CRV can be used on
> >both the calls,
> >as
> >> > > long as they use different TCP connections?
> >> > >
> >> > > I would appreciate any help on this.
> >> > >
> >> > > Regards
> >> > > Archana
> >> > >
> >> > >
> >> > >
> >> >
> >> >
> >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> > For help on this mail list, send "HELP ITU-SG16" in a message to
> >> > listserv at mailbag.intel.com
> >>
> >> --
> >> Dr Chris Purvis -- Development Manager
> >> ISDN Communications Ltd, The Stable Block, Ronans, Chavey Down Road
> >> Winkfield Row, Berkshire.  RG42 6LY  ENGLAND
> >> Phone: +44 1344 899 007
> >> Fax:   +44 1344 899 001
> >>
> >
> >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >For help on this mail list, send "HELP ITU-SG16" in a message to
> >listserv at mailbag.intel.com
> >
>
>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For help on this mail list, send "HELP ITU-SG16" in a message to
listserv at mailbag.intel.com



More information about the sg16-avd mailing list