Michael,
 
Looking into this further, I believe the Annex G text actually clarifies this (text includes text from the IG):
 
G.8.2.6    Service Confirmation
A border element in receipt of a ServiceRequest message responds with a ServiceConfirmation message to indicate that it agrees to establish a service relationship. Every new service relationship is identified by a service identifier. Whenever a border element receives a new ServiceRequest message, it allocates a unique service ID and returns it to the sender of the service request message in the "service confirm" message. If the border element already has a service relationship with the border element that sent the ServiceRequest message, sending ServiceConfirmation indicates that the terms of the original relationship are terminated and replaced with the new terms.
 
So, it would seem that if a new ServiceRequest is received, the serviceID would remain the same.  It does not say that the service relationship itself is terminated, but the "terms of the original" (which I interpret as the security attributes or other things).  I suppose it could be that a new ServiceID could be introduced, though-- particularly when one side believes that the service relationship has expired.
 
I believe one of the issues is that, prior to this text introduced into the IG, it was assumed that one and only one service relationship existed between two BEs.  This new text (underlined and in red) suggests otherwise.  Perhaps this is the real problematic point: we have introduced the ServiceID field unnecessarily.  We have changed Annex G such that multiple service relationships may exist in parallel.
 
We have two ways to resolve this:
  1. Remove the serviceID field
  2. Add more text to clarify the usage of the serviceID field
I believe option (1) is actually the better course of action.  We have added this new field-- we can either deprecate it or just remove it entirely.  By choosing (1), we eliminate the problem entirely.
 
If there are good reasons for having multiple service relationships (and there may be), I believe a number of sections need to be modified in order to make it clear that multiple relationships may exist as suggested in (2).  As for the keep alive, I believe that would be handled by the statement in the IG that says all subsequent messages would contain the serviceID field.  So, we can move forward with (2), I can see where a few sections of text discussing service relationships needs corrections.
 
Paul
 
----- Original Message -----
From: Michael_Fortinsky@vocaltec.com
To: Paul E. Jones
Cc: h323implementors@pulver.com ; h323implementors@imtc.org ; ITU-SG16@mailbag.cps.intel.com
Sent: Sunday, October 22, 2000 5:53 AM
Subject: Re: [H225 Annex G] When to create a new service ID


Paul,

Maybe I don't understand your point - I am not sure what you mean when you
say "a new ServiceRequest". (I think this is the heart of the matter - what
determines what is a NEW ServiceRequest?)

New service ID's are allocated and returned in the ServiceConfirmation message,
not in the ServiceRequest message.
Therefore, it is up to the border element that receives the ServiceRequest message
to decide whether to allocate a new service ID or not.
The question still remains - how are "keepAlive" ServiceRequests to be treated?

Another way of looking at the issue is as follows (maybe this is clearer):

If a BE sends a ServiceRequest message that does NOT contain
a serviceID field, a new service ID is returned in the ServiceConfirmation
message and a new service relationship is defined.

If a BE sends a ServiceRequest message that DOES contains a serviceID field,
the BE that received the ServiceRequest must determine whether to
return the same serviceID or a new one (ie, is there going to be a new
service relationship or not)

- if the service parameters in the ServiceRequest are the same as those in the existing
  service relationship, this ServiceRequest message is a refresh of the existing
  service relationship and the ServiceConfirmation is returned with the
  same service ID as was in the ServiceRequest

- if the service parameters are different, then:
   - if the BE want to accept the new parameters, it sends a ServiceConfirmation
     that contains a NEW serviceID - this also indicates that the previous
     service relationship has ended

  - if the BE does not want to accept the new parameters, it sends a ServiceRejection
    (that contains the serviceID from the ServiceRequest message)
    indicating that the new terms are rejected - the old service relationship is still
    in effect according to the old service parameters (as per section 1.8.2.7/H.225 Annex G)

Comments?

Mike



"Paul E. Jones" <paulej@packetizer.com>

10/22/00 04:02 AM

       
        To:        <Michael_Fortinsky@VOCALTEC.COM>, <ITU-SG16@mailbag.cps.intel.com>, <h323implementors@imtc.org>, <h323implementors@pulver.com>
        cc:        
        Subject:        Re: [H225 Annex G] When to create a new service ID




Michael,
 
My opinion is that, given that there is a ServiceRequest  and a ServiceRelease and that one can initiate a new service relationship before  terminating a previous service relationship, a new service ID shall be  introduced with a ServiceRequest message and a BE should not send a new  ServiceRequest with the same ID without first releasing the previous  relationship.
 
I believe that's in alignment with your  interpretation.
 
Paul
----- Original Message -----
From:  Michael_Fortinsky@VOCALTEC.COM  
To: ITU-SG16@mailbag.cps.intel.com  ; h323implementors@imtc.org ; h323implementors@pulver.com  
Sent: Wednesday, October 18, 2000 5:40  AM
Subject: [H225 Annex G] When to create a  new service ID


I would like to hear people's interpretation of when a  new service ID should be created
in  H.225.0 Annex G. (A service ID is used to identify a service relationship  between
two border elements).  

There are three cases to consider:  

Case #1:
- a BE (border element) receives a ServiceRequest message from a BE  with which it does
  not yet have  a service relationship

Case  #2:
- a BE receives a ServiceRequest  message from a BE with which it already does
  have a service relationship,  but the terms of the service  relationship are to be changed  
  (eg, different security parameters)

Case #3:
- a BE  receives a ServiceRequest message from a BE with which it already does  
  have a service relationship (ie, this  ServiceRequest is refreshing the service relationship),
  and the terms of the service relationship are  identical to the previous terms
   (eg, same security parameters)

My  impression is that the following should happen in each case:  

Case #1 - create a new serviceID in the  ServiceConfirmation
Case #2 - create a  new serviceID because we are changing the parameters of the
                     service relationship (it's becoming a new service  relationship)
Case #3 -  do NOT  create a new serviceID -  the existing relationship is being refreshed,  
                      so we should continue to use the same  serviceID


However, the wording  of H.225.0 Annex G does not seem to say this.
It seems that in ALL cases, a new serviceID should be created.  
To me, this seems to be incorrect, and I'm  not sure that the original
intent took  into account case #3.
I think that in  case #3, we should not be creating a new service ID.

The following sections from H.225.0 Annex G are  relevant:

[from section  1.8.2]
service ID - This identifer  identifies a particular service relationship session between
two border elements. Whenever a border element receives  a ServiceRequest message,
it allocates  a  globally unique service ID and returns it to the sender of the  
ServiceRequest message in the ServiceConfirm  message.

[from section 1.8.2.5]  
A border element may send a  ServiceRequest message to a border element with which
it has an existing relationship, with the intent that  the terms of the original relationship
be terminated and replaced with the new terms. Service relationships  may have limited time to live.
A  border element may refresh the relationship by sending a new Service  Request.

[from section  1.8.2.6]
Every new service  relationship is identified by a service identifier.  Whenever a border  element
receives a new ServiceRequest  message, it allocates a unique service ID and returns it to the  
sender of the service request message  in the "service confirm" message. If the border element already  
has a service relationship with the border  element that sent the ServiceRequest message,
sending ServiceConfirmation indicates that the terms of the original  relationship are terminated
and  replaced with the new terms.

Any  comments?
If people agree that the  wording needs to be changed to unambiguously handle case #3,
now is the time to speak up. The deadline for  contributions for the Geneva meeting is fast approaching.


Michael  Fortinsky
-----------------------------------------------------------------
Senior  Program Manager, IP Telephony Group, VocalTec Communications Ltd.
Email:  mike@vocaltec.com      Tel: 972 9 9707768       Fax: 972 9 9561867