Discussion:
[P2PSIP] WGLC for draft-ietf-p2psip-sip-13
Carlos Jesús Bernardos Cano
2014-07-25 16:50:02 UTC
Permalink
Hi,

Hereby we are issuing a WGLC for draft-ietf-p2psip-sip-13. We did one
back in May 2013, so we want to ensure that everything is fine from the
point of view of the WG.

The WGLC will be open till the 8th of September, so we have time enough
even there is August in the middle. We kindly ask the WG to review the
document and provide comments.

If you have no comments and think the document is ready to be submitted
to IESG, please do send a note stating that to the WG ML.

Additional information about the document is below:

Title : A SIP Usage for RELOAD
Authors : Cullen Jennings
Bruce B. Lowekamp
Eric Rescorla
Salman A. Baset
Henning Schulzrinne
Thomas C. Schmidt
Filename : draft-ietf-p2psip-sip-13.txt
Pages : 20
Date : 2014-07-21

Abstract:
This document defines a SIP Usage for REsource LOcation And Discovery
(RELOAD). The SIP Usage provides the functionality of a SIP proxy or
registrar in a fully-distributed system and includes a lookup service
for Address of Records (AORs) stored in the overlay. It also defines
Globally Routable User Agent Uris (GRUUs) that allow the
registrations to map an AOR to a specific node reachable through the
overlay. After such initial contact of a peer, the AppAttach method
is used to establish a direct connection between nodes through which
SIP messages are exchanged.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-p2psip-sip/

There's also a htmlized version available at:
http://tools.ietf.org/html/draft-ietf-p2psip-sip-13

Thanks

-- Brian and Carlos
Marc Petit-Huguenin
2014-08-08 22:49:19 UTC
Permalink
Hi,
Hereby we are issuing a WGLC for draft-ietf-p2psip-sip-13. We did one back
in May 2013, so we want to ensure that everything is fine from the point of
view of the WG.
The WGLC will be open till the 8th of September, so we have time enough
even there is August in the middle. We kindly ask the WG to review the
document and provide comments.
If you have no comments and think the document is ready to be submitted to
IESG, please do send a note stating that to the WG ML.
I reviewed this document multiple times and read again the latest version and
I believe that it is ready to be submitted to the IESG.

Thanks.

- --
Marc Petit-Huguenin
Email: ***@petit-huguenin.org
Blog: http://blog.marc.petit-huguenin.org
Profile: http://www.linkedin.com/in/petithug
Roland Bless
2014-09-05 23:46:19 UTC
Permalink
Hi,
Post by Carlos Jesús Bernardos Cano
The WGLC will be open till the 8th of September, so we have time enough
even there is August in the middle. We kindly ask the WG to review the
document and provide comments.
That was a good decision due to vacation time in August:-)

I carefully read the document and didn't find any real show stoppers,
but IMHO the document would benefit from some clarifications
as indicated below.

Major:
- Normally a SIP registration times out after some period
(usually given in the REGISTER message)
I guess that the mechanism is replaced in P2PSIP by the
lifetime parameter in the StoredData. If this is the case
I'd like to see it mentioned explicitly.

- It is unclear how SIP and SIPS should be realized, because
AppAttach only allows to create DTLS/UDP or TLS/TCP connections
(cf. OverlayLinkType in IceCandidate).
"Once the AppAttach succeeds, the peer sends plain or (D)TLS encrypted
SIP messages over the connection as in normal SIP."
Sending "plain" (I guess non-secured) SIP message is not possible
if AppAttach doesn't allow for UDP-only connections.

- I guess that the destination list should contain only
NodeIDs, or are ResourceIds and OpaqueIDs also permitted?
If not, then the calling/initiating peer should check
that condition and some action must be defined if the
destination list is non-conforming (maybe discard
this destination list)

- The Draft should clearly specify how to map AORs
to Resource-IDs as required by RFC6940, sec. 5.2:
o Define how the Resource Name is used to form the Resource-ID where
each Kind is stored.
I guess that the AOR is mapped by using the overlay hash function
after stripping the scheme (like sip:, sips:) from it. But that
should be defined explicitly.

Minor:
Sec. 1:
- Several different notations like 'Node-ID "1234"', Node-ID 1234
or ID 1234 are used in this section.

Sec. 2:
OLD: include the scheme (e.g sip:) as the AOR needs to match the
NEW: include the scheme (e.g. sip:) as the AOR needs to match the

Sec. 3.3:

o A Store is permitted only for AORs with domain names that fall
into the namespaces supported by the RELOAD overlay instance.

and then

Before issuing a Store request to the overlay, any peer SHOULD verify
that the AOR of the request is a valid Resource Name with respect to
its domain name and the namespaces defined in the overlay
configuration document (see Section 3.4).

the first formulation suggests that the latter quotation should use
rather MUST than SHOULD (the Storing Peer MUST also verify this).

Before a Store is permitted, the storing peer MUST check that:

o The AOR of the request is a valid Resource Name with respect to
the namespaces defined in the overlay configuration document.

What would be the proper reaction if this condition is not fulfilled?
I guess a StoreAns with Error_Forbidden, but that could/should also be
mentioned.

Sec. 5.1:

the responding peer MUST present a certificate with a Node-ID
matching the terminal entry in the route list.

route list wasn't introduced before and I guess destination list
would be the right term here. Moreover, what is the reaction if
there is a certificate mismatch, i.e., the Node-ID doesn't match
the one in the certificate? Should the connection be torn down?

Sec. 5.2:
typo
OLD: that want to assure maintanance of sessions individually need to
NEW: that want to assure maintenance of sessions individually need to

Sec. 6:
GRUUs in RELOAD are constructed by embedding a
base64-encoded destination list in the gr URI parameter of the GRUU.

I guess that the destination list is encoded in the same way as
described in section 6.3.2.2. of RFC 6940. Simply a list of
Destination entries without any preceding length field?!

Sec. 7:


sip_registration_route

a destination list which can be used to reach the user's peer.

if there are any restrictions like only Node-IDs allowed or the
last entry must be a Node-ID, no Resource-IDs allowed, that could
be mentioned here, too.

Sec. 8:

What about destination lists that contain back and forth routes
like 1234 5678 1234 5678 1234 4444 5678 1234 7777?
This may be used for traffic amplification as mentioned in
sec. 13.6.5. of the RELOAD spec. Therefore, an additional
check at the StoreReq receiving node may be useful, even
if destination lists are checked by RELOAD.

Regards,
Roland
Thomas C. Schmidt
2014-09-07 20:55:47 UTC
Permalink
Hi Roland,

many thanks for your careful comments. We will need a few days to return
details / an updated version of the draft ...

Cheers,

Thomas
Post by Roland Bless
Hi,
Post by Carlos Jesús Bernardos Cano
The WGLC will be open till the 8th of September, so we have time enough
even there is August in the middle. We kindly ask the WG to review the
document and provide comments.
That was a good decision due to vacation time in August:-)
I carefully read the document and didn't find any real show stoppers,
but IMHO the document would benefit from some clarifications
as indicated below.
- Normally a SIP registration times out after some period
(usually given in the REGISTER message)
I guess that the mechanism is replaced in P2PSIP by the
lifetime parameter in the StoredData. If this is the case
I'd like to see it mentioned explicitly.
- It is unclear how SIP and SIPS should be realized, because
AppAttach only allows to create DTLS/UDP or TLS/TCP connections
(cf. OverlayLinkType in IceCandidate).
"Once the AppAttach succeeds, the peer sends plain or (D)TLS encrypted
SIP messages over the connection as in normal SIP."
Sending "plain" (I guess non-secured) SIP message is not possible
if AppAttach doesn't allow for UDP-only connections.
- I guess that the destination list should contain only
NodeIDs, or are ResourceIds and OpaqueIDs also permitted?
If not, then the calling/initiating peer should check
that condition and some action must be defined if the
destination list is non-conforming (maybe discard
this destination list)
- The Draft should clearly specify how to map AORs
o Define how the Resource Name is used to form the Resource-ID where
each Kind is stored.
I guess that the AOR is mapped by using the overlay hash function
after stripping the scheme (like sip:, sips:) from it. But that
should be defined explicitly.
- Several different notations like 'Node-ID "1234"', Node-ID 1234
or ID 1234 are used in this section.
OLD: include the scheme (e.g sip:) as the AOR needs to match the
NEW: include the scheme (e.g. sip:) as the AOR needs to match the
o A Store is permitted only for AORs with domain names that fall
into the namespaces supported by the RELOAD overlay instance.
and then
Before issuing a Store request to the overlay, any peer SHOULD verify
that the AOR of the request is a valid Resource Name with respect to
its domain name and the namespaces defined in the overlay
configuration document (see Section 3.4).
the first formulation suggests that the latter quotation should use
rather MUST than SHOULD (the Storing Peer MUST also verify this).
o The AOR of the request is a valid Resource Name with respect to
the namespaces defined in the overlay configuration document.
What would be the proper reaction if this condition is not fulfilled?
I guess a StoreAns with Error_Forbidden, but that could/should also be
mentioned.
the responding peer MUST present a certificate with a Node-ID
matching the terminal entry in the route list.
route list wasn't introduced before and I guess destination list
would be the right term here. Moreover, what is the reaction if
there is a certificate mismatch, i.e., the Node-ID doesn't match
the one in the certificate? Should the connection be torn down?
typo
OLD: that want to assure maintanance of sessions individually need to
NEW: that want to assure maintenance of sessions individually need to
GRUUs in RELOAD are constructed by embedding a
base64-encoded destination list in the gr URI parameter of the GRUU.
I guess that the destination list is encoded in the same way as
described in section 6.3.2.2. of RFC 6940. Simply a list of
Destination entries without any preceding length field?!
sip_registration_route
a destination list which can be used to reach the user's peer.
if there are any restrictions like only Node-IDs allowed or the
last entry must be a Node-ID, no Resource-IDs allowed, that could
be mentioned here, too.
What about destination lists that contain back and forth routes
like 1234 5678 1234 5678 1234 4444 5678 1234 7777?
This may be used for traffic amplification as mentioned in
sec. 13.6.5. of the RELOAD spec. Therefore, an additional
check at the StoreReq receiving node may be useful, even
if destination lists are checked by RELOAD.
Regards,
Roland
_______________________________________________
P2PSIP mailing list
https://www.ietf.org/mailman/listinfo/p2psip
--
Prof. Dr. Thomas C. Schmidt
° Hamburg University of Applied Sciences Berliner Tor 7 °
° Dept. Informatik, Internet Technologies Group 20099 Hamburg, Germany °
° http://www.haw-hamburg.de/inet Fon: +49-40-42875-8452 °
° http://www.informatik.haw-hamburg.de/~schmidt Fax: +49-40-42875-8409 °
Carlos Jesús Bernardos Cano
2015-01-27 18:56:41 UTC
Permalink
Hi Thomas,

Can you please post a revised version of the draft including these
changes.

Carlos
Post by Thomas C. Schmidt
Hi Roland,
apologies for the very late pick-up of the subject.
Post by Roland Bless
I carefully read the document and didn't find any real show stoppers,
but IMHO the document would benefit from some clarifications
as indicated below.
- Normally a SIP registration times out after some period
(usually given in the REGISTER message)
I guess that the mechanism is replaced in P2PSIP by the
lifetime parameter in the StoredData. If this is the case
I'd like to see it mentioned explicitly.
"Note that
the registration lifetime known from the regular SIP REGISTER method
is inherited from the lifetime attribute of the basic RELOAD
StoredData structure (see Section 7 in [RFC6940])."
Post by Roland Bless
- It is unclear how SIP and SIPS should be realized, because
AppAttach only allows to create DTLS/UDP or TLS/TCP connections
(cf. OverlayLinkType in IceCandidate).
"Once the AppAttach succeeds, the peer sends plain or (D)TLS encrypted
SIP messages over the connection as in normal SIP."
Sending "plain" (I guess non-secured) SIP message is not possible
if AppAttach doesn't allow for UDP-only connections.
This may be somewhat confusing: Plain SIP sends SIP messages "plainly"
over transport, while SIPS requires the presence of transport layer
security. As the current Reload Link Layer is built on (D)TLS secure
Internet transport, there is actually always some transport layer
security established within the KBR region. However, this should not
prevent users to make "plain SIP" calls using plain SIP URIs, and SIPS
requires end-to-end transport security that include endpoint
certificates and protected links to clients.
"It is noteworthy that according to [RFC6940] all overlay links are
built on (D)TLS secured transport. While hop-wise encrypted paths
does not prevent the use of plain SIP, SIPS requires end-to-end
protection that may include client links and endpoint certificates."
Post by Roland Bless
- I guess that the destination list should contain only
NodeIDs, or are ResourceIds and OpaqueIDs also permitted?
If not, then the calling/initiating peer should check
that condition and some action must be defined if the
destination list is non-conforming (maybe discard
this destination list)
- The Draft should clearly specify how to map AORs
o Define how the Resource Name is used to form the Resource-ID where
each Kind is stored.
I guess that the AOR is mapped by using the overlay hash function
after stripping the scheme (like sip:, sips:) from it. But that
should be defined explicitly.
- Several different notations like 'Node-ID "1234"', Node-ID 1234
or ID 1234 are used in this section.
OLD: include the scheme (e.g sip:) as the AOR needs to match the
NEW: include the scheme (e.g. sip:) as the AOR needs to match the
o A Store is permitted only for AORs with domain names that fall
into the namespaces supported by the RELOAD overlay instance.
and then
Before issuing a Store request to the overlay, any peer SHOULD verify
that the AOR of the request is a valid Resource Name with respect to
its domain name and the namespaces defined in the overlay
configuration document (see Section 3.4).
the first formulation suggests that the latter quotation should use
rather MUST than SHOULD (the Storing Peer MUST also verify this).
o The AOR of the request is a valid Resource Name with respect to
the namespaces defined in the overlay configuration document.
What would be the proper reaction if this condition is not fulfilled?
I guess a StoreAns with Error_Forbidden, but that could/should also be
mentioned.
the responding peer MUST present a certificate with a Node-ID
matching the terminal entry in the route list.
route list wasn't introduced before and I guess destination list
would be the right term here. Moreover, what is the reaction if
there is a certificate mismatch, i.e., the Node-ID doesn't match
the one in the certificate? Should the connection be torn down?
typo
OLD: that want to assure maintanance of sessions individually need to
NEW: that want to assure maintenance of sessions individually need to
GRUUs in RELOAD are constructed by embedding a
base64-encoded destination list in the gr URI parameter of the GRUU.
I guess that the destination list is encoded in the same way as
described in section 6.3.2.2. of RFC 6940. Simply a list of
Destination entries without any preceding length field?!
sip_registration_route
a destination list which can be used to reach the user's peer.
if there are any restrictions like only Node-IDs allowed or the
last entry must be a Node-ID, no Resource-IDs allowed, that could
be mentioned here, too.
What about destination lists that contain back and forth routes
like 1234 5678 1234 5678 1234 4444 5678 1234 7777?
This may be used for traffic amplification as mentioned in
sec. 13.6.5. of the RELOAD spec. Therefore, an additional
check at the StoreReq receiving node may be useful, even
if destination lists are checked by RELOAD.
Regards,
Roland
_______________________________________________
P2PSIP mailing list
https://www.ietf.org/mailman/listinfo/p2psip
Thomas C. Schmidt
2015-01-27 19:01:28 UTC
Permalink
Hi Carlos,

yes, will be finished tonight. I've just a few steps to complete ...

Thomas
Post by Carlos Jesús Bernardos Cano
Hi Thomas,
Can you please post a revised version of the draft including these
changes.
Carlos
Post by Thomas C. Schmidt
Hi Roland,
apologies for the very late pick-up of the subject.
Post by Roland Bless
I carefully read the document and didn't find any real show stoppers,
but IMHO the document would benefit from some clarifications
as indicated below.
- Normally a SIP registration times out after some period
(usually given in the REGISTER message)
I guess that the mechanism is replaced in P2PSIP by the
lifetime parameter in the StoredData. If this is the case
I'd like to see it mentioned explicitly.
"Note that
the registration lifetime known from the regular SIP REGISTER method
is inherited from the lifetime attribute of the basic RELOAD
StoredData structure (see Section 7 in [RFC6940])."
Post by Roland Bless
- It is unclear how SIP and SIPS should be realized, because
AppAttach only allows to create DTLS/UDP or TLS/TCP connections
(cf. OverlayLinkType in IceCandidate).
"Once the AppAttach succeeds, the peer sends plain or (D)TLS encrypted
SIP messages over the connection as in normal SIP."
Sending "plain" (I guess non-secured) SIP message is not possible
if AppAttach doesn't allow for UDP-only connections.
This may be somewhat confusing: Plain SIP sends SIP messages "plainly"
over transport, while SIPS requires the presence of transport layer
security. As the current Reload Link Layer is built on (D)TLS secure
Internet transport, there is actually always some transport layer
security established within the KBR region. However, this should not
prevent users to make "plain SIP" calls using plain SIP URIs, and SIPS
requires end-to-end transport security that include endpoint
certificates and protected links to clients.
"It is noteworthy that according to [RFC6940] all overlay links are
built on (D)TLS secured transport. While hop-wise encrypted paths
does not prevent the use of plain SIP, SIPS requires end-to-end
protection that may include client links and endpoint certificates."
Post by Roland Bless
- I guess that the destination list should contain only
NodeIDs, or are ResourceIds and OpaqueIDs also permitted?
If not, then the calling/initiating peer should check
that condition and some action must be defined if the
destination list is non-conforming (maybe discard
this destination list)
- The Draft should clearly specify how to map AORs
o Define how the Resource Name is used to form the Resource-ID where
each Kind is stored.
I guess that the AOR is mapped by using the overlay hash function
after stripping the scheme (like sip:, sips:) from it. But that
should be defined explicitly.
- Several different notations like 'Node-ID "1234"', Node-ID 1234
or ID 1234 are used in this section.
OLD: include the scheme (e.g sip:) as the AOR needs to match the
NEW: include the scheme (e.g. sip:) as the AOR needs to match the
o A Store is permitted only for AORs with domain names that fall
into the namespaces supported by the RELOAD overlay instance.
and then
Before issuing a Store request to the overlay, any peer SHOULD verify
that the AOR of the request is a valid Resource Name with respect to
its domain name and the namespaces defined in the overlay
configuration document (see Section 3.4).
the first formulation suggests that the latter quotation should use
rather MUST than SHOULD (the Storing Peer MUST also verify this).
o The AOR of the request is a valid Resource Name with respect to
the namespaces defined in the overlay configuration document.
What would be the proper reaction if this condition is not fulfilled?
I guess a StoreAns with Error_Forbidden, but that could/should also be
mentioned.
the responding peer MUST present a certificate with a Node-ID
matching the terminal entry in the route list.
route list wasn't introduced before and I guess destination list
would be the right term here. Moreover, what is the reaction if
there is a certificate mismatch, i.e., the Node-ID doesn't match
the one in the certificate? Should the connection be torn down?
typo
OLD: that want to assure maintanance of sessions individually need to
NEW: that want to assure maintenance of sessions individually need to
GRUUs in RELOAD are constructed by embedding a
base64-encoded destination list in the gr URI parameter of the GRUU.
I guess that the destination list is encoded in the same way as
described in section 6.3.2.2. of RFC 6940. Simply a list of
Destination entries without any preceding length field?!
sip_registration_route
a destination list which can be used to reach the user's peer.
if there are any restrictions like only Node-IDs allowed or the
last entry must be a Node-ID, no Resource-IDs allowed, that could
be mentioned here, too.
What about destination lists that contain back and forth routes
like 1234 5678 1234 5678 1234 4444 5678 1234 7777?
This may be used for traffic amplification as mentioned in
sec. 13.6.5. of the RELOAD spec. Therefore, an additional
check at the StoreReq receiving node may be useful, even
if destination lists are checked by RELOAD.
Regards,
Roland
_______________________________________________
P2PSIP mailing list
https://www.ietf.org/mailman/listinfo/p2psip
--
Prof. Dr. Thomas C. Schmidt
° Hamburg University of Applied Sciences Berliner Tor 7 °
° Dept. Informatik, Internet Technologies Group 20099 Hamburg, Germany °
° http://www.haw-hamburg.de/inet Fon: +49-40-42875-8452 °
° http://www.informatik.haw-hamburg.de/~schmidt Fax: +49-40-42875-8409 °
Carlos Jesús Bernardos Cano
2015-01-27 19:09:46 UTC
Permalink
Thanks!
Post by Thomas C. Schmidt
Hi Carlos,
yes, will be finished tonight. I've just a few steps to complete ...
Thomas
Post by Carlos Jesús Bernardos Cano
Hi Thomas,
Can you please post a revised version of the draft including these
changes.
Carlos
Post by Thomas C. Schmidt
Hi Roland,
apologies for the very late pick-up of the subject.
Post by Roland Bless
I carefully read the document and didn't find any real show stoppers,
but IMHO the document would benefit from some clarifications
as indicated below.
- Normally a SIP registration times out after some period
(usually given in the REGISTER message)
I guess that the mechanism is replaced in P2PSIP by the
lifetime parameter in the StoredData. If this is the case
I'd like to see it mentioned explicitly.
"Note that
the registration lifetime known from the regular SIP REGISTER method
is inherited from the lifetime attribute of the basic RELOAD
StoredData structure (see Section 7 in [RFC6940])."
Post by Roland Bless
- It is unclear how SIP and SIPS should be realized, because
AppAttach only allows to create DTLS/UDP or TLS/TCP connections
(cf. OverlayLinkType in IceCandidate).
"Once the AppAttach succeeds, the peer sends plain or (D)TLS encrypted
SIP messages over the connection as in normal SIP."
Sending "plain" (I guess non-secured) SIP message is not possible
if AppAttach doesn't allow for UDP-only connections.
This may be somewhat confusing: Plain SIP sends SIP messages "plainly"
over transport, while SIPS requires the presence of transport layer
security. As the current Reload Link Layer is built on (D)TLS secure
Internet transport, there is actually always some transport layer
security established within the KBR region. However, this should not
prevent users to make "plain SIP" calls using plain SIP URIs, and SIPS
requires end-to-end transport security that include endpoint
certificates and protected links to clients.
"It is noteworthy that according to [RFC6940] all overlay links are
built on (D)TLS secured transport. While hop-wise encrypted paths
does not prevent the use of plain SIP, SIPS requires end-to-end
protection that may include client links and endpoint certificates."
Post by Roland Bless
- I guess that the destination list should contain only
NodeIDs, or are ResourceIds and OpaqueIDs also permitted?
If not, then the calling/initiating peer should check
that condition and some action must be defined if the
destination list is non-conforming (maybe discard
this destination list)
- The Draft should clearly specify how to map AORs
o Define how the Resource Name is used to form the Resource-ID where
each Kind is stored.
I guess that the AOR is mapped by using the overlay hash function
after stripping the scheme (like sip:, sips:) from it. But that
should be defined explicitly.
- Several different notations like 'Node-ID "1234"', Node-ID 1234
or ID 1234 are used in this section.
OLD: include the scheme (e.g sip:) as the AOR needs to match the
NEW: include the scheme (e.g. sip:) as the AOR needs to match the
o A Store is permitted only for AORs with domain names that fall
into the namespaces supported by the RELOAD overlay instance.
and then
Before issuing a Store request to the overlay, any peer SHOULD verify
that the AOR of the request is a valid Resource Name with respect to
its domain name and the namespaces defined in the overlay
configuration document (see Section 3.4).
the first formulation suggests that the latter quotation should use
rather MUST than SHOULD (the Storing Peer MUST also verify this).
o The AOR of the request is a valid Resource Name with respect to
the namespaces defined in the overlay configuration document.
What would be the proper reaction if this condition is not fulfilled?
I guess a StoreAns with Error_Forbidden, but that could/should also be
mentioned.
the responding peer MUST present a certificate with a Node-ID
matching the terminal entry in the route list.
route list wasn't introduced before and I guess destination list
would be the right term here. Moreover, what is the reaction if
there is a certificate mismatch, i.e., the Node-ID doesn't match
the one in the certificate? Should the connection be torn down?
typo
OLD: that want to assure maintanance of sessions individually need to
NEW: that want to assure maintenance of sessions individually need to
GRUUs in RELOAD are constructed by embedding a
base64-encoded destination list in the gr URI parameter of the GRUU.
I guess that the destination list is encoded in the same way as
described in section 6.3.2.2. of RFC 6940. Simply a list of
Destination entries without any preceding length field?!
sip_registration_route
a destination list which can be used to reach the user's peer.
if there are any restrictions like only Node-IDs allowed or the
last entry must be a Node-ID, no Resource-IDs allowed, that could
be mentioned here, too.
What about destination lists that contain back and forth routes
like 1234 5678 1234 5678 1234 4444 5678 1234 7777?
This may be used for traffic amplification as mentioned in
sec. 13.6.5. of the RELOAD spec. Therefore, an additional
check at the StoreReq receiving node may be useful, even
if destination lists are checked by RELOAD.
Regards,
Roland
_______________________________________________
P2PSIP mailing list
https://www.ietf.org/mailman/listinfo/p2psip
Thomas C. Schmidt
2015-01-27 22:02:02 UTC
Permalink
Hi Roland,

many thanks for your careful reading and apologies for the very late
pick-up of the subject.
Post by Roland Bless
I carefully read the document and didn't find any real show stoppers,
but IMHO the document would benefit from some clarifications
as indicated below.
- Normally a SIP registration times out after some period
(usually given in the REGISTER message)
I guess that the mechanism is replaced in P2PSIP by the
lifetime parameter in the StoredData. If this is the case
I'd like to see it mentioned explicitly.
Yes, you are right. We added in Section 3.1:

"Note that
the registration lifetime known from the regular SIP REGISTER method
is inherited from the lifetime attribute of the basic RELOAD
StoredData structure (see Section 7 in [RFC6940])."
Post by Roland Bless
- It is unclear how SIP and SIPS should be realized, because
AppAttach only allows to create DTLS/UDP or TLS/TCP connections
(cf. OverlayLinkType in IceCandidate).
"Once the AppAttach succeeds, the peer sends plain or (D)TLS encrypted
SIP messages over the connection as in normal SIP."
Sending "plain" (I guess non-secured) SIP message is not possible
if AppAttach doesn't allow for UDP-only connections.
This may be somewhat confusing: Plain SIP sends SIP messages "plainly"
over transport, while SIPS requires the presence of transport layer
security. As the current Reload Link Layer is built on (D)TLS secure
Internet transport, there is actually always some transport layer
security established within the KBR region. However, this should not
prevent users to make "plain SIP" calls using plain SIP URIs, and SIPS
requires end-to-end transport security that include endpoint
certificates and protected links to clients.

We've added the following clarification:

"It is noteworthy that according to [RFC6940] all overlay links are
built on (D)TLS secured transport. While hop-wise encrypted paths
do not prevent the use of plain SIP, SIPS requires end-to-end
protection that may include client links and endpoint certificates."
Post by Roland Bless
- I guess that the destination list should contain only
NodeIDs, or are ResourceIds and OpaqueIDs also permitted?
If not, then the calling/initiating peer should check
that condition and some action must be defined if the
destination list is non-conforming (maybe discard
this destination list)
Maybe I miss the point here - but destination lists are part of the
RELOAD routing, and we simply use this mechanism. We want to establish
an end-to-end connectivity with the help of the AppAttach messaging
procedure and I cannot see a reason to restrict resp. interfere with
RELOAD routing here.

Did I overlook something?
Post by Roland Bless
- The Draft should clearly specify how to map AORs
o Define how the Resource Name is used to form the Resource-ID where
each Kind is stored.
I guess that the AOR is mapped by using the overlay hash function
after stripping the scheme (like sip:, sips:) from it. But that
should be defined explicitly.
Yes, agreed. Corresponding adjustments have been made to sections 3.2 and 7.
Post by Roland Bless
- Several different notations like 'Node-ID "1234"', Node-ID 1234
or ID 1234 are used in this section.
O.K., thanks, fixed.
Post by Roland Bless
OLD: include the scheme (e.g sip:) as the AOR needs to match the
NEW: include the scheme (e.g. sip:) as the AOR needs to match the
Thanks, fixed.
Post by Roland Bless
o A Store is permitted only for AORs with domain names that fall
into the namespaces supported by the RELOAD overlay instance.
and then
Before issuing a Store request to the overlay, any peer SHOULD verify
that the AOR of the request is a valid Resource Name with respect to
its domain name and the namespaces defined in the overlay
configuration document (see Section 3.4).
the first formulation suggests that the latter quotation should use
rather MUST than SHOULD (the Storing Peer MUST also verify this).
o The AOR of the request is a valid Resource Name with respect to
the namespaces defined in the overlay configuration document.
What would be the proper reaction if this condition is not fulfilled?
I guess a StoreAns with Error_Forbidden, but that could/should also be
mentioned.
Just to clarify: The SHOULD applies to the requester and the MUST
applies to the storing node. The latter ensures that no improper records
enter the overlay.

Putting the liberal SHOULD to the requester action was actually on
purpose for the following reasons: The responsibility of enforcement
clearly is with the storing node, which should be prepared for erroneous
request. And there may be situations (which?) where nodes/implementers
have reasons to consider it an unsuitable burden to perform the check.
However, a SHOULD means that it is meant to be done, anyway.

So I'm hesitant to change ... but without strong opinion ;)

As for the response code, we added "Error_Forbidden".
Post by Roland Bless
the responding peer MUST present a certificate with a Node-ID
matching the terminal entry in the route list.
route list wasn't introduced before and I guess destination list
would be the right term here. Moreover, what is the reaction if
there is a certificate mismatch, i.e., the Node-ID doesn't match
the one in the certificate? Should the connection be torn down?
We added: "Otherwise, the connection MUST NOT be used and closed."
Thanks for the "route list": that was an ancient term-typo.
Post by Roland Bless
typo
OLD: that want to assure maintanance of sessions individually need to
NEW: that want to assure maintenance of sessions individually need to
Thanks, fixed.
Post by Roland Bless
GRUUs in RELOAD are constructed by embedding a
base64-encoded destination list in the gr URI parameter of the GRUU.
I guess that the destination list is encoded in the same way as
described in section 6.3.2.2. of RFC 6940. Simply a list of
Destination entries without any preceding length field?!
Well yes, we're using the RELOAD destination list (term and definition)
here. The above encoding describes the URI-encoding, not the
representation of the data structure in the overlay.
Post by Roland Bless
sip_registration_route
a destination list which can be used to reach the user's peer.
if there are any restrictions like only Node-IDs allowed or the
last entry must be a Node-ID, no Resource-IDs allowed, that could
be mentioned here, too.
See the discussion above.
Post by Roland Bless
What about destination lists that contain back and forth routes
like 1234 5678 1234 5678 1234 4444 5678 1234 7777?
This may be used for traffic amplification as mentioned in
sec. 13.6.5. of the RELOAD spec. Therefore, an additional
check at the StoreReq receiving node may be useful, even
if destination lists are checked by RELOAD.
Mhmm, the issue is discussed and treated in the RELOAD spec. I'm not
really convinced that we should redefine RELOAD specifics. Also, from an
implementers point of view, I would expect that this checking is already
part of handling the destination lists. It appears a bit awkward if an
implementation of this specific SIP usage adds generic route protection
... don't you agree?

Are you o.k. with these responses or did I miss something?

Thanks,

Thomas
--
Prof. Dr. Thomas C. Schmidt
° Hamburg University of Applied Sciences Berliner Tor 7 °
° Dept. Informatik, Internet Technologies Group 20099 Hamburg, Germany °
° http://www.haw-hamburg.de/inet Fon: +49-40-42875-8452 °
° http://www.informatik.haw-hamburg.de/~schmidt Fax: +49-40-42875-8409 °
--
Prof. Dr. Thomas C. Schmidt
° Hamburg University of Applied Sciences Berliner Tor 7 °
° Dept. Informatik, Internet Technologies Group 20099 Hamburg, Germany °
° http://www.haw-hamburg.de/inet Fon: +49-40-42875-8452 °
° http://www.informatik.haw-hamburg.de/~schmidt Fax: +49-40-42875-8409 °
Loading...